Fix for Devotion, added some "Chroma" cards

This commit is contained in:
Anthony Calosa
2014-12-05 10:18:05 +08:00
parent 8ef3789970
commit fa14219e12
9 changed files with 132 additions and 76 deletions

View File

@@ -183,10 +183,10 @@ private:
for (int k = 0; k < 4; k++)
{
MTGGameZone * zone = dzones[k];
if (dtc->targetsZone(zone, card))
if (dtc->targetsZone(zone, card)&&dp == card->controller())
{
intValue += zone->countTotalManaSymbols(dtc, 2);
intValue += zone->countTotalManaSymbols(dtc, 5);
intValue += zone->countDevotion(dtc, 2);
intValue += zone->countDevotion(dtc, 5);
}
}
}
@@ -203,10 +203,10 @@ private:
for (int k = 0; k < 4; k++)
{
MTGGameZone * zone = dzones[k];
if (dtc->targetsZone(zone, card))
if (dtc->targetsZone(zone, card)&&dp == card->controller())
{
intValue += zone->countTotalManaSymbols(dtc, 3);
intValue += zone->countTotalManaSymbols(dtc, 5);
intValue += zone->countDevotion(dtc, 3);
intValue += zone->countDevotion(dtc, 5);
}
}
}
@@ -223,10 +223,10 @@ private:
for (int k = 0; k < 4; k++)
{
MTGGameZone * zone = dzones[k];
if (dtc->targetsZone(zone, card))
if (dtc->targetsZone(zone, card)&&dp == card->controller())
{
intValue += zone->countTotalManaSymbols(dtc, 2);
intValue += zone->countTotalManaSymbols(dtc, 4);
intValue += zone->countDevotion(dtc, 2);
intValue += zone->countDevotion(dtc, 4);
}
}
}
@@ -243,10 +243,10 @@ private:
for (int k = 0; k < 4; k++)
{
MTGGameZone * zone = dzones[k];
if (dtc->targetsZone(zone, card))
if (dtc->targetsZone(zone, card)&&dp == card->controller())
{
intValue += zone->countTotalManaSymbols(dtc, 1);
intValue += zone->countTotalManaSymbols(dtc, 4);
intValue += zone->countDevotion(dtc, 1);
intValue += zone->countDevotion(dtc, 4);
}
}
}
@@ -263,10 +263,10 @@ private:
for (int k = 0; k < 4; k++)
{
MTGGameZone * zone = dzones[k];
if (dtc->targetsZone(zone, card))
if (dtc->targetsZone(zone, card)&&dp == card->controller())
{
intValue += zone->countTotalManaSymbols(dtc, 1);
intValue += zone->countTotalManaSymbols(dtc, 3);
intValue += zone->countDevotion(dtc, 1);
intValue += zone->countDevotion(dtc, 3);
}
}
}
@@ -283,10 +283,10 @@ private:
for (int k = 0; k < 4; k++)
{
MTGGameZone * zone = dzones[k];
if (dtc->targetsZone(zone, card))
if (dtc->targetsZone(zone, card)&&dp == card->controller())
{
intValue += zone->countTotalManaSymbols(dtc, 2);
intValue += zone->countTotalManaSymbols(dtc, 3);
intValue += zone->countDevotion(dtc, 2);
intValue += zone->countDevotion(dtc, 3);
}
}
}
@@ -303,10 +303,10 @@ private:
for (int k = 0; k < 4; k++)
{
MTGGameZone * zone = dzones[k];
if (dtc->targetsZone(zone, card))
if (dtc->targetsZone(zone, card)&&dp == card->controller())
{
intValue += zone->countTotalManaSymbols(dtc, 4);
intValue += zone->countTotalManaSymbols(dtc, 5);
intValue += zone->countDevotion(dtc, 4);
intValue += zone->countDevotion(dtc, 5);
}
}
}
@@ -323,10 +323,10 @@ private:
for (int k = 0; k < 4; k++)
{
MTGGameZone * zone = dzones[k];
if (dtc->targetsZone(zone, card))
if (dtc->targetsZone(zone, card)&&dp == card->controller())
{
intValue += zone->countTotalManaSymbols(dtc, 3);
intValue += zone->countTotalManaSymbols(dtc, 4);
intValue += zone->countDevotion(dtc, 3);
intValue += zone->countDevotion(dtc, 4);
}
}
}
@@ -343,10 +343,10 @@ private:
for (int k = 0; k < 4; k++)
{
MTGGameZone * zone = dzones[k];
if (dtc->targetsZone(zone, card))
if (dtc->targetsZone(zone, card)&&dp == card->controller())
{
intValue += zone->countTotalManaSymbols(dtc, 1);
intValue += zone->countTotalManaSymbols(dtc, 5);
intValue += zone->countDevotion(dtc, 1);
intValue += zone->countDevotion(dtc, 5);
}
}
}
@@ -363,10 +363,10 @@ private:
for (int k = 0; k < 4; k++)
{
MTGGameZone * zone = dzones[k];
if (dtc->targetsZone(zone, card))
if (dtc->targetsZone(zone, card)&&dp == card->controller())
{
intValue += zone->countTotalManaSymbols(dtc, 1);
intValue += zone->countTotalManaSymbols(dtc, 2);
intValue += zone->countDevotion(dtc, 1);
intValue += zone->countDevotion(dtc, 2);
}
}
}

View File

@@ -98,6 +98,7 @@ class MTGGameZone {
unsigned int countByType(const string &value);
unsigned int countByCanTarget(TargetChooser * tc);
unsigned int countTotalManaSymbols(TargetChooser * tc, int color);
unsigned int countDevotion(TargetChooser * tc, int color); //devotion for gods
MTGCardInstance * findByName(string name);
//returns true if one of the cards in the zone has the ability

View File

@@ -99,6 +99,7 @@ public:
string toString();
int getCost(int color);
int getManaSymbols(int color);
int getManaSymbolsHybridMerged(int color);
//Returns NULL if i is greater than nbhybrids
ManaCostHybrid * getHybridCost(unsigned int i);

View File

@@ -19,6 +19,7 @@ public:
string toString();
int getConvertedCost();
int getManaSymbols(int color);
int getManaSymbolsHybridMerged(int color);
friend std::ostream& operator<<(std::ostream& out, ManaCostHybrid& m);
friend std::ostream& operator<<(std::ostream& out, ManaCostHybrid* m);