Added MH2 set, improved Android downloader, added/fixed primitives, improved coin flip event trigger, improved discarded attribute, improved castcard keyword (now it's possible to specify the x value in cost), improved add/remove/mod counter trigger, improved the "spent" and "converge" keyword for spell still in the stack.

This commit is contained in:
Vittorio Alfieri
2021-06-16 17:07:44 +02:00
parent 55edfc6374
commit 9df5bb29ab
19 changed files with 5222 additions and 347 deletions

View File

@@ -571,6 +571,10 @@ int MTGPutInPlayRule::reactToClick(MTGCardInstance * card)
else
{
Spell * spell = NULL;
if (spellCost && !card->getManaCost()->getManaUsedToCast()){
card->getManaCost()->setManaUsedToCast(NEW ManaCost());
card->getManaCost()->getManaUsedToCast()->copy(spellCost);
}
MTGCardInstance * copy = player->game->putInZone(card, card->currentZone, player->game->stack);
if (game->targetChooser)
{
@@ -744,6 +748,10 @@ int MTGKickerRule::reactToClick(MTGCardInstance * card)
else
{
Spell * spell = NULL;
if (spellCost && !card->getManaCost()->getManaUsedToCast()){
card->getManaCost()->setManaUsedToCast(NEW ManaCost());
card->getManaCost()->getManaUsedToCast()->copy(spellCost);
}
MTGCardInstance * copy = player->game->putInZone(card, card->currentZone, player->game->stack);
if (game->targetChooser)
{
@@ -1040,7 +1048,11 @@ int MTGAlternativeCostRule::reactToClick(MTGCardInstance * card, ManaCost *alter
SAFE_DELETE(spell);
}
else
{
{
if (spellCost && !card->getManaCost()->getManaUsedToCast()){
card->getManaCost()->setManaUsedToCast(NEW ManaCost());
card->getManaCost()->getManaUsedToCast()->copy(spellCost);
}
MTGCardInstance * copy = player->game->putInZone(card, card->currentZone, player->game->stack);
game->mLayers->stackLayer()->addSpell(copy, game->targetChooser, spellCost, alternateCostType, 0);
game->targetChooser = NULL;
@@ -1531,6 +1543,10 @@ int MTGMorphCostRule::reactToClick(MTGCardInstance * card)
delete previousManaPool;
card->morphed = true;
card->isMorphed = true;
if (spellCost && !card->getManaCost()->getManaUsedToCast()){
card->getManaCost()->setManaUsedToCast(NEW ManaCost());
card->getManaCost()->getManaUsedToCast()->copy(spellCost);
}
MTGCardInstance * copy = player->game->putInZone(card, card->currentZone, player->game->stack);
copy->getManaCost()->resetCosts();//Morph has no ManaCost on stack
copy->setColor(0,1);