fix crash for multiple andAbility
This commit is contained in:
@@ -4377,6 +4377,25 @@ AAMover::AAMover(GameObserver* observer, int _id, MTGCardInstance * _source, MTG
|
|||||||
if (_target)
|
if (_target)
|
||||||
target = _target;
|
target = _target;
|
||||||
andAbility = NULL;
|
andAbility = NULL;
|
||||||
|
if(destination.size() && !named.size() && source->controller()->isAI())
|
||||||
|
{
|
||||||
|
if(destination.find("library") != string::npos)
|
||||||
|
named = "Put in Library";
|
||||||
|
else if(destination.find("hand") != string::npos)
|
||||||
|
named = "Put in Hand";
|
||||||
|
else if(destination.find("exile") != string::npos)
|
||||||
|
named = "Put in Exile";
|
||||||
|
else if(destination.find("removedfromgame") != string::npos)
|
||||||
|
named = "Put in Exile";
|
||||||
|
else if(destination.find("graveyard") != string::npos)
|
||||||
|
named = "Put in Graveyard";
|
||||||
|
else if(destination.find("previous") != string::npos)
|
||||||
|
named = "Put in Battlefield";
|
||||||
|
else if(destination.find("inplay") != string::npos)
|
||||||
|
named = "Put in Play";
|
||||||
|
else if(destination.find("battlefield") != string::npos)
|
||||||
|
named = "Put in Play";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MTGGameZone * AAMover::destinationZone(Targetable * target)
|
MTGGameZone * AAMover::destinationZone(Targetable * target)
|
||||||
@@ -4479,13 +4498,13 @@ int AAMover::resolve()
|
|||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
p->game->putInZone(_target, fromZone, destZone);
|
MTGCardInstance *newTarget = p->game->putInZone(_target, fromZone, destZone);
|
||||||
while(_target->next)
|
/*while(_target->next)
|
||||||
_target = _target->next;
|
_target = _target->next;*/
|
||||||
if(andAbility)
|
if(andAbility)
|
||||||
{
|
{
|
||||||
MTGAbility * andAbilityClone = andAbility->clone();
|
MTGAbility * andAbilityClone = andAbility->clone();
|
||||||
andAbilityClone->target = _target;
|
andAbilityClone->target = newTarget;
|
||||||
if(andAbility->oneShot)
|
if(andAbility->oneShot)
|
||||||
{
|
{
|
||||||
andAbilityClone->resolve();
|
andAbilityClone->resolve();
|
||||||
|
|||||||
Reference in New Issue
Block a user