Added abilities for cards which have to return battlefield or hand instead of graveyard (e.g. just like exiledeath ability), improved fresh attribute management also for card moved in hand, library, commandzone and for instants and sorcery spells, added/fixed primitives.

This commit is contained in:
valfieri
2020-12-16 12:21:57 +01:00
parent b09763d89e
commit 3e7ef8c77c
8 changed files with 178 additions and 82 deletions

View File

@@ -589,6 +589,18 @@ int PutInGraveyard::resolve()
card->controller()->game->putInZone(card, zone, card->owner->game->exile);
return 1;
}
if (card->basicAbilities[(int)Constants::HANDDEATH])
{
card->controller()->game->putInZone(card, zone, card->owner->game->hand);
return 1;
}
if (card->basicAbilities[(int)Constants::INPLAYDEATH] || card->basicAbilities[(int)Constants::INPLAYTAPDEATH])
{
card->controller()->game->putInZone(card, zone, card->owner->game->battlefield);
if(card->basicAbilities[(int)Constants::INPLAYTAPDEATH])
card->tap(true);
return 1;
}
if (zone == observer->players[0]->game->inPlay || zone == observer->players[1]->game->inPlay)
{
card->controller()->game->putInZone(card, zone, card->owner->game->graveyard);