Manacost Changes

todo: kicker (other possible additional costs?) and change rule keyword
to payzerorule...
This commit is contained in:
Anthony Calosa
2015-11-05 23:25:39 +08:00
parent 536a0e429a
commit 1c8852a7a2
8 changed files with 86 additions and 54 deletions

View File

@@ -254,24 +254,7 @@ public:
bool isTargetter();
int cardistargetter;
int myconvertedcost;
ManaCost * computeNewCost(MTGCardInstance * card,ManaCost * oldCost)
{
if(card->isLand())
return oldCost;
if(!card)
return NULL;
//i don't know why this method doesn't affect cards in hand, but is working on other zones....//
//pay zero costs//
//kicker???...//
//morph cost todo//
//trinisphere must be here below//
if(card->has(Constants::TRINISPHERE))
for(int jj = oldCost->getConvertedCost(); jj < 3; jj++)
oldCost->add(Constants::MTG_COLOR_ARTIFACT, 1);
return oldCost;
};
ManaCost * computeNewCost(MTGCardInstance * card,ManaCost * oldCost);
void eventattacked();
void eventattackedAlone();

View File

@@ -175,18 +175,21 @@ public:
virtual MTGMorphCostRule * clone() const;
};
class MTGPlayFromGraveyardRule: public MTGAlternativeCostRule
class MTGPayZeroRule: public MTGAlternativeCostRule
{
public:
int isReactingToClick(MTGCardInstance * card, ManaCost * mana = NULL);
int reactToClick(MTGCardInstance * card);
string CustomName;
virtual ostream& toString(ostream& out) const;
MTGPlayFromGraveyardRule(GameObserver* observer, int _id);
MTGPayZeroRule(GameObserver* observer, int _id);
const string getMenuText()
{
return "Cast Card From This Zone";
if(CustomName.size())
return CustomName.c_str();
return "Pay Zero To Cast";
}
virtual MTGPlayFromGraveyardRule * clone() const;
virtual MTGPayZeroRule * clone() const;
};