added support for suspend x...
suspend(0)={g}{x}
cards with x in thier suspend cards will suspend for x turns...x can not be 0 as per mtg rules.
This commit is contained in:
@@ -982,6 +982,17 @@ int MTGSuspendRule::reactToClick(MTGCardInstance * card)
|
|||||||
//this handles extra cost payments at the moment a card is played.
|
//this handles extra cost payments at the moment a card is played.
|
||||||
if (playerMana->canAfford(alternateCost))
|
if (playerMana->canAfford(alternateCost))
|
||||||
{
|
{
|
||||||
|
if(alternateCost->hasX())
|
||||||
|
{
|
||||||
|
ManaCost * checkXnotZero = NEW ManaCost(alternateCost);//suspend cards with x cost, x can not be zero.
|
||||||
|
checkXnotZero->add(0,1);
|
||||||
|
if (!playerMana->canAfford(checkXnotZero))
|
||||||
|
{
|
||||||
|
SAFE_DELETE(checkXnotZero);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
SAFE_DELETE(checkXnotZero);
|
||||||
|
}
|
||||||
if (alternateCost->isExtraPaymentSet())
|
if (alternateCost->isExtraPaymentSet())
|
||||||
{
|
{
|
||||||
if (!game->targetListIsSet(card))
|
if (!game->targetListIsSet(card))
|
||||||
@@ -998,6 +1009,14 @@ int MTGSuspendRule::reactToClick(MTGCardInstance * card)
|
|||||||
card->paymenttype = MTGAbility::SUSPEND_COST;
|
card->paymenttype = MTGAbility::SUSPEND_COST;
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------------
|
//------------------------------------------------------------------------
|
||||||
|
if(card->getManaCost()->suspend->hasX())
|
||||||
|
{
|
||||||
|
ManaCost * pMana = NEW ManaCost(player->getManaPool());
|
||||||
|
ManaCost * suspendCheckMana = NEW ManaCost(card->getManaCost()->suspend);
|
||||||
|
card->suspendedTime = pMana->getConvertedCost() - suspendCheckMana->getConvertedCost();
|
||||||
|
SAFE_DELETE(pMana);
|
||||||
|
SAFE_DELETE(suspendCheckMana);
|
||||||
|
}
|
||||||
player->getManaPool()->pay(card->getManaCost()->suspend);
|
player->getManaPool()->pay(card->getManaCost()->suspend);
|
||||||
card->getManaCost()->suspend->doPayExtra();
|
card->getManaCost()->suspend->doPayExtra();
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user