Improved Commander format card selection rule, added new keyword

"autocommandzone=" to trigger abilities from Command Zone (e.g. Commander Ninjutsu), added/fixed some primitives, added a new GUI Button to show Player's Sideboard.
This commit is contained in:
valfieri
2020-12-08 20:48:11 +01:00
parent d18232df10
commit 7c696ac213
25 changed files with 207 additions and 74 deletions

View File

@@ -908,6 +908,7 @@ void GameObserver::gameStateBasedEffects()
{
card->graveEffects = false;
card->exileEffects = false;
card->commandZoneEffects = false;
if(card->isCreature())
{
@@ -1348,6 +1349,8 @@ void GameObserver::ButtonPressed(PlayGuiObject * target)
exile->toggleDisplay();
else if (GuiCommandZone* commandzone = dynamic_cast<GuiCommandZone*>(target))
commandzone->toggleDisplay();
else if (GuiSideboard* sideboard = dynamic_cast<GuiSideboard*>(target))
sideboard->toggleDisplay();
//opponenthand
else if (GuiOpponentHand* opponentHand = dynamic_cast<GuiOpponentHand*>(target))
if (opponentHand->showCards)
@@ -1683,6 +1686,17 @@ int GameObserver::isInExile(MTGCardInstance * card)
}
return 0;
}
int GameObserver::isInCommandZone(MTGCardInstance * card)
{
for (int i = 0; i < 2; i++)
{
MTGGameZone * commandzone = players[i]->game->commandzone;
if (players[i]->game->isInZone(card,commandzone))
return 1;
}
return 0;
}
int GameObserver::isInHand(MTGCardInstance * card)
{