diff --git a/projects/mtg/include/MTGDefinitions.h b/projects/mtg/include/MTGDefinitions.h index 7d3408f7d..862291610 100644 --- a/projects/mtg/include/MTGDefinitions.h +++ b/projects/mtg/include/MTGDefinitions.h @@ -241,7 +241,8 @@ class Constants TRINISPHERE = 120, CANPLAYFROMEXILE = 121, LIBRARYEATER = 122, - NB_BASIC_ABILITIES = 123, + DEVOID = 123, + NB_BASIC_ABILITIES = 124, RARITY_S = 'S', //Special Rarity diff --git a/projects/mtg/src/GameObserver.cpp b/projects/mtg/src/GameObserver.cpp index 89e39d161..423ec5efd 100644 --- a/projects/mtg/src/GameObserver.cpp +++ b/projects/mtg/src/GameObserver.cpp @@ -638,6 +638,21 @@ void GameObserver::gameStateBasedEffects() zone->cards[c]->cardistargetter = 0; } } + + ///while checking all these zones, lets also strip devoid cards of thier colors + for (int w = 0; w < zone->nb_cards; w++) + { + MTGCardInstance * card = zone->cards[w]; + for (int i = Constants::MTG_COLOR_GREEN; i <= Constants::MTG_COLOR_WHITE; ++i) + { + if (card->has(Constants::DEVOID)) + { + card->removeColor(i); + } + } + } + + }//check for losers if its GAMEOVER clear the stack to allow gamestateeffects to continue players[d]->DeadLifeState(); } diff --git a/projects/mtg/src/MTGDefinitions.cpp b/projects/mtg/src/MTGDefinitions.cpp index e5dc513ba..435dfbd24 100644 --- a/projects/mtg/src/MTGDefinitions.cpp +++ b/projects/mtg/src/MTGDefinitions.cpp @@ -152,7 +152,8 @@ const char* Constants::MTGBasicAbilities[] = { "zerocast", "trinisphere", "canplayfromexile", - "libraryeater" + "libraryeater", + "devoid" }; map Constants::MTGBasicAbilitiesMap;