fixed a bug with lords not removing altercost correctly when the source is phased.
added cantbeblockerof(this)<--this = the card who owns the ability. cantbeblockerof(targetchooser) <--the target cant block anything targetable by this targetchooser. spin engine and similar will use cantbeblockerof(this). others were done with a workaround, which i hope will be updated soon.
This commit is contained in:
@@ -103,6 +103,7 @@ GameObserver::GameObserver(WResourceManager *output, JGE* input)
|
||||
mLayers = NULL;
|
||||
mTrash = new Trash();
|
||||
mDeckManager = new DeckManager();
|
||||
waitingGameStateCheck = 0;
|
||||
}
|
||||
|
||||
GamePhase GameObserver::getCurrentGamePhase()
|
||||
@@ -581,7 +582,13 @@ void GameObserver::gameStateBasedEffects()
|
||||
{
|
||||
if(getCurrentTargetChooser() && int(getCurrentTargetChooser()->getNbTargets()) == getCurrentTargetChooser()->maxtargets)
|
||||
getCurrentTargetChooser()->done = true;
|
||||
if (mLayers->stackLayer()->count(0, NOT_RESOLVED) <= 50)
|
||||
waitingGameStateCheck++;
|
||||
if(waitingGameStateCheck > 50)
|
||||
{
|
||||
waitingGameStateCheck++;
|
||||
waitingGameStateCheck--;
|
||||
}
|
||||
if(waitingGameStateCheck > 50)
|
||||
{
|
||||
//if there are more than 50 unresolved actions on the stack, lets allow a gameStates update
|
||||
//to make sure we are not caught up in a loop, example :Exquisite Blood + Sanguine Bond
|
||||
@@ -592,6 +599,7 @@ void GameObserver::gameStateBasedEffects()
|
||||
if (getCurrentTargetChooser() || mLayers->actionLayer()->isWaitingForAnswer())
|
||||
return;
|
||||
}
|
||||
waitingGameStateCheck = 0;
|
||||
////////////////////////
|
||||
//---apply damage-----//
|
||||
//after combat effects//
|
||||
|
||||
Reference in New Issue
Block a user