altercost should affect retrace, flashback, buyback costs

This commit is contained in:
Anthony Calosa
2015-11-04 06:41:59 +08:00
parent 58b032627e
commit 60ba4e3eeb
11 changed files with 73 additions and 96 deletions

View File

@@ -122,8 +122,6 @@ class GameObserver{
void gameStateBasedEffects();
void enchantmentStatus();
void Affinity();
void ComputeTrinisphere();
void RemoveTrinisphere(MTGCardInstance * card);
void addObserver(MTGAbility * observer);
bool removeObserver(ActionElement * observer);
void startGame(GameType, Rules * rules);

View File

@@ -213,6 +213,7 @@ public:
COUNTERS = 30,
PUT_INTO_PLAY_WITH_KICKER = 31,
STANDARD_FIZZLER = 32,
CASTINGRAVEYARD_COST = 33,
};
};

View File

@@ -253,9 +253,25 @@ public:
int cardistargetted;
bool isTargetter();
int cardistargetter;
int tmodifier;
int tmodifierb;
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;
};
void eventattacked();
void eventattackedAlone();

View File

@@ -236,7 +236,8 @@ class Constants
OPPGCREATUREEXILER = 118,
PAYZERO = 119,
TRINISPHERE = 120,
NB_BASIC_ABILITIES = 121,
CANPLAYFROMEXILE = 121,
NB_BASIC_ABILITIES = 122,
RARITY_S = 'S', //Special Rarity

View File

@@ -76,6 +76,8 @@ public:
MTGPutInPlayRule(GameObserver* observer, int _id);
const string getMenuText()
{
if(game && game->gameType() == GAME_TYPE_MOMIR)
return "Play Land";
return "Cast Card Normally";
}
virtual MTGPutInPlayRule * clone() const;

View File

@@ -47,7 +47,8 @@ public:
MANA_PAID_WITH_FLASHBACK = 5,
MANA_PAID_WITH_RETRACE = 6,
MANA_PAID_WITH_MORPH = 7,
MANA_PAID_WITH_SUSPEND = 8
MANA_PAID_WITH_SUSPEND = 8,
MANA_PAID_WITH_OTHERCOST = 9
};
ExtraCosts * extraCosts;