move reducedCost and increasedCost out of cardprimitives and into MTGCardInstance

This commit is contained in:
omegablast2002@yahoo.com
2011-04-20 12:14:27 +00:00
parent d892db60d9
commit ba7640079c
5 changed files with 20 additions and 16 deletions
-4
View File
@@ -18,8 +18,6 @@ protected:
ManaCost manaCost; ManaCost manaCost;
public: public:
ManaCost reducedCost;
ManaCost increasedCost;
string text; string text;
string name; string name;
int init(); int init();
@@ -74,8 +72,6 @@ public:
void setManaCost(string value); void setManaCost(string value);
ManaCost * getManaCost(); ManaCost * getManaCost();
ManaCost * getReducedManaCost();
ManaCost * getIncreasedManaCost();
bool isCreature(); bool isCreature();
bool isLand(); bool isLand();
bool isSpell(); bool isSpell();
+4
View File
@@ -94,6 +94,10 @@ class MTGCardInstance: public CardPrimitive, public MTGCard, public Damageable {
MTGCardInstance * next; MTGCardInstance * next;
int doDamageTest; int doDamageTest;
int summoningSickness; int summoningSickness;
ManaCost reducedCost;
ManaCost increasedCost;
ManaCost * getReducedManaCost();
ManaCost * getIncreasedManaCost();
bool matchesCastFilter(int castMethod); bool matchesCastFilter(int castMethod);
+2 -11
View File
@@ -23,8 +23,8 @@ CardPrimitive::CardPrimitive(CardPrimitive * source)
for (int i = 0; i < Constants::MTG_NB_COLORS; ++i) for (int i = 0; i < Constants::MTG_NB_COLORS; ++i)
colors[i] = source->colors[i]; colors[i] = source->colors[i];
manaCost.copy(source->getManaCost()); manaCost.copy(source->getManaCost());
reducedCost.copy(source->getReducedManaCost()); //reducedCost.copy(source->getReducedManaCost());
increasedCost.copy(source->getIncreasedManaCost()); //increasedCost.copy(source->getIncreasedManaCost());
if(source->getManaCost()->alternative) if(source->getManaCost()->alternative)
manaCost.alternative->alternativeName = source->getManaCost()->alternative->alternativeName; manaCost.alternative->alternativeName = source->getManaCost()->alternative->alternativeName;
@@ -276,15 +276,6 @@ ManaCost* CardPrimitive::getManaCost()
return &manaCost; return &manaCost;
} }
ManaCost* CardPrimitive::getReducedManaCost()
{
return &reducedCost;
}
ManaCost* CardPrimitive::getIncreasedManaCost()
{
return &increasedCost;
}
bool CardPrimitive::hasType(int _type) bool CardPrimitive::hasType(int _type)
{ {
for (size_t i = 0; i < types.size(); i++) for (size_t i = 0; i < types.size(); i++)
+9
View File
@@ -333,6 +333,15 @@ int MTGCardInstance::has(int basicAbility)
return basicAbilities[basicAbility]; return basicAbilities[basicAbility];
} }
ManaCost* MTGCardInstance::getReducedManaCost()
{
return &reducedCost;
}
ManaCost* MTGCardInstance::getIncreasedManaCost()
{
return &increasedCost;
}
//sets card as attacked and sends events //sets card as attacked and sends events
void MTGCardInstance::eventattacked() void MTGCardInstance::eventattacked()
{ {
+5 -1
View File
@@ -539,7 +539,11 @@ int ManaCost::remove(ManaCost * _cost)
return 0; return 0;
for (unsigned int i = 0; i < Constants::MTG_NB_COLORS; i++) for (unsigned int i = 0; i < Constants::MTG_NB_COLORS; i++)
{ {
cost[i] -= _cost->getCost(i); for(int c = 0;c < _cost->getCost(i);c++)
{
if(cost[i])//remove 1 at a time to avoid dipping into negitive cost.
cost[i] -= 1;
}
} }
return 1; return 1;
} }