persist/undying fix
persist/undying wont trigger when there is a replacement effect for cards that goes to graveyard like leyline of the void. support for anafenza the foremost.
This commit is contained in:
@@ -145,7 +145,9 @@ const char* Constants::MTGBasicAbilities[] = {
|
||||
"nolifegainopponent",
|
||||
"auraward",
|
||||
"madness",
|
||||
"protectionfromcoloredspells"
|
||||
"protectionfromcoloredspells",
|
||||
"mygcreatureexiler",
|
||||
"oppgcreatureexiler"
|
||||
};
|
||||
|
||||
map<string,int> Constants::MTGBasicAbilitiesMap;
|
||||
|
||||
@@ -349,6 +349,8 @@ MTGCardInstance * MTGPlayerCards::putInZone(MTGCardInstance * card, MTGGameZone
|
||||
for(int i = 0; i < 2; ++i)
|
||||
{
|
||||
if ((to == g->players[i]->game->graveyard) && (
|
||||
(g->players[i]->game->battlefield->hasAbility(Constants::MYGCREATUREEXILER) && card->isCreature()) ||
|
||||
(g->players[i]->opponent()->game->battlefield->hasAbility(Constants::OPPGCREATUREEXILER) && card->isCreature())||
|
||||
g->players[i]->game->battlefield->hasAbility(Constants::MYGRAVEEXILER) ||
|
||||
g->players[i]->opponent()->game->battlefield->hasAbility(Constants::OPPGRAVEEXILER)))
|
||||
{
|
||||
|
||||
@@ -2276,6 +2276,8 @@ int MTGPersistRule::receiveEvent(WEvent * event)
|
||||
if (e->from == p->game->inPlay)
|
||||
ok = 1;
|
||||
}
|
||||
if ((card->owner->game->battlefield->hasAbility(Constants::MYGRAVEEXILER)||card->owner->opponent()->game->battlefield->hasAbility(Constants::OPPGRAVEEXILER)) || ((card->owner->game->battlefield->hasAbility(Constants::MYGCREATUREEXILER)||card->owner->opponent()->game->battlefield->hasAbility(Constants::OPPGCREATUREEXILER) && card->isCreature())))
|
||||
ok = 0;
|
||||
if (!ok)
|
||||
return 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user