Altercost, Exile Zone & Handsize Modifier

This commit is contained in:
Anthony Calosa
2015-10-31 10:59:37 +08:00
parent 8793feb9ba
commit c580d89c94
12 changed files with 324 additions and 239 deletions

View File

@@ -195,11 +195,10 @@ private:
}
else if (s == "manacost")
{
int convertedvalue = card->currentZone == card->controller()->game->battlefield ? card->getManaCost()->getConvertedCost():card->model->data->getManaCost()->getConvertedCost();
if (target->currentZone == target->controller()->game->stack)//X is 0 except if it's on the stack
intValue = target->getManaCost()->getConvertedCost() + target->castX;
intValue = target->myconvertedcost + target->castX;
else
intValue = convertedvalue;
intValue = target->myconvertedcost;
}
else if (s == "azorius")//devotion blue white
{
@@ -4087,6 +4086,20 @@ public:
}
};
//Modify Hand
class AModifyHand: public AbilityTP
{
public:
string hand;
AModifyHand(GameObserver* observer, int _id, MTGCardInstance * _source, Targetable * _target, string hand, int who = TargetChooser::UNSET);
int addToGame();
int destroy();
const string getMenuText();
AModifyHand * clone() const;
//~AModifyHand();
};
//set a players hand size
class AASetHand: public ActivatedAbilityTP
{

View File

@@ -122,6 +122,8 @@ 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

@@ -255,6 +255,7 @@ public:
int cardistargetter;
int tmodifier;
int tmodifierb;
int myconvertedcost;
void eventattacked();
void eventattackedAlone();

View File

@@ -45,6 +45,7 @@ public:
int epic;
int initLife;
int raidcount;
int handmodifier;
vector<string> prowledTypes;
vector<MTGCardInstance*>curses;
Player(GameObserver *observer, string deckFile, string deckFileSmall, MTGDeck * deck = NULL);