added type check on aura if the card it enchant is legal
This commit is contained in:
@@ -642,6 +642,19 @@ void GameObserver::gameStateBasedEffects()
|
|||||||
{
|
{
|
||||||
if(card->target && !isInPlay(card->target))
|
if(card->target && !isInPlay(card->target))
|
||||||
players[i]->game->putInGraveyard(card);
|
players[i]->game->putInGraveyard(card);
|
||||||
|
if(card->target && isInPlay(card->target))
|
||||||
|
{
|
||||||
|
if(card->spellTargetType.find("creature") != string::npos && !card->target->hasType("creature"))
|
||||||
|
players[i]->game->putInGraveyard(card);
|
||||||
|
if(card->spellTargetType.find("artifact") != string::npos && !card->target->hasType("artifact"))
|
||||||
|
players[i]->game->putInGraveyard(card);
|
||||||
|
if(card->spellTargetType.find("enchantment") != string::npos && !card->target->hasType("enchantment"))
|
||||||
|
players[i]->game->putInGraveyard(card);
|
||||||
|
if(card->spellTargetType.find("land") != string::npos && !card->target->hasType("land"))
|
||||||
|
players[i]->game->putInGraveyard(card);
|
||||||
|
if(card->spellTargetType.find("planeswalker") != string::npos && !card->target->hasType("planeswalker"))
|
||||||
|
players[i]->game->putInGraveyard(card);
|
||||||
|
}
|
||||||
if(card->target && isInPlay(card->target) && (card->target)->protectedAgainst(card) && !card->has(Constants::AURAWARD))//protection from quality except aura cards like flickering ward
|
if(card->target && isInPlay(card->target) && (card->target)->protectedAgainst(card) && !card->has(Constants::AURAWARD))//protection from quality except aura cards like flickering ward
|
||||||
players[i]->game->putInGraveyard(card);
|
players[i]->game->putInGraveyard(card);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user