* Split constants file to have them in a single place.
This commit is contained in:
jean.chalard
2009-01-06 13:07:28 +00:00
parent 9024cf7cf5
commit 3bb2c431c9
33 changed files with 512 additions and 597 deletions
+96 -97
View File
@@ -57,15 +57,15 @@ public:
//TODO this is a copy/past of other code that's all around the place, everything should be in a dedicated parser class;
for (int j = 0; j < NB_BASIC_ABILITIES; j++){
unsigned int found = sabilities.find(MTGBasicAbilities[j]);
for (int j = 0; j < Constants::NB_BASIC_ABILITIES; j++){
unsigned int found = sabilities.find(Constants::MTGBasicAbilities[j]);
if (found != string::npos){
abilities.push_back(j);
}
}
for (int j = 0; j < MTG_NB_COLORS; j++){
unsigned int found = sabilities.find(MTGColorStrings[j]);
for (int j = 0; j < Constants::MTG_NB_COLORS; j++){
unsigned int found = sabilities.find(Constants::MTGColorStrings[j]);
if (found != string::npos){
colors.push_back(j);
}
@@ -214,7 +214,7 @@ class ABasicAbilityModifierUntilEOT:public TargetAbility{
}
void Update(float dt){
if (newPhase != currentPhase && newPhase == MTG_PHASE_UNTAP){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_UNTAP){
for (int i = 0; i < nbTargets; i++){
MTGCardInstance * mTarget = mTargets[i];
if(mTarget && mTarget->basicAbilities[ability]){
@@ -239,7 +239,7 @@ class ABasicAbilityModifierUntilEOT:public TargetAbility{
}
const char * getMenuText(){
return MTGBasicAbilities[ability];
return Constants::MTGBasicAbilities[ability];
}
@@ -274,7 +274,7 @@ class ABasicAbilityAuraModifierUntilEOT: public ActivatedAbility{
}
void Update(float dt){
if (newPhase != currentPhase && newPhase == MTG_PHASE_UNTAP){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_UNTAP){
MTGCardInstance * _target = (MTGCardInstance *) target;
_target->basicAbilities[ability] = stateBeforeActivation;
}
@@ -289,7 +289,7 @@ class ABasicAbilityAuraModifierUntilEOT: public ActivatedAbility{
}
const char * getMenuText(){
return MTGBasicAbilities[ability];
return Constants::MTGBasicAbilities[ability];
}
};
@@ -372,7 +372,7 @@ class AUntaperOnceDuringTurn:public AUnBlocker{
}
void Update(float dt){
if (newPhase != currentPhase && newPhase == MTG_PHASE_UNTAP) untappedThisTurn = 0;
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_UNTAP) untappedThisTurn = 0;
AUnBlocker::Update(dt);
}
@@ -437,7 +437,7 @@ class ATargetterPowerToughnessModifierUntilEOT: public TargetAbility{
void Update(float dt){
if (newPhase != currentPhase && newPhase == MTG_PHASE_UNTAP){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_UNTAP){
for (int i = 0; i < nbTargets; i++){
MTGCardInstance * mTarget = mTargets[i];
if(mTarget){
@@ -478,7 +478,7 @@ class APowerToughnessModifierUntilEndOfTurn: public MTGAbility{
}
void Update(float dt){
if (newPhase != currentPhase && newPhase == MTG_PHASE_UNTAP){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_UNTAP){
while(counters){
((MTGCardInstance *)target)->power -= power;
((MTGCardInstance *)target)->addToToughness(-toughness);
@@ -596,15 +596,15 @@ class AManaProducer: public MTGAbility{
int landColor = output->getMainColor();
if (landColor == MTG_COLOR_RED){
if (landColor == Constants::MTG_COLOR_RED){
mParticleSys = NEW hgeParticleSystem("graphics/manared.psi",GameApp::CommonRes->GetQuad("particles"));
}else if (landColor == MTG_COLOR_BLUE){
}else if (landColor == Constants::MTG_COLOR_BLUE){
mParticleSys = NEW hgeParticleSystem("graphics/manablue.psi", GameApp::CommonRes->GetQuad("particles"));
}else if (landColor == MTG_COLOR_GREEN){
}else if (landColor == Constants::MTG_COLOR_GREEN){
mParticleSys = NEW hgeParticleSystem("graphics/managreen.psi", GameApp::CommonRes->GetQuad("particles"));
}else if (landColor == MTG_COLOR_BLACK){
}else if (landColor == Constants::MTG_COLOR_BLACK){
mParticleSys = NEW hgeParticleSystem("graphics/manablack.psi", GameApp::CommonRes->GetQuad("particles"));
}else if (landColor == MTG_COLOR_WHITE){
}else if (landColor == Constants::MTG_COLOR_WHITE){
mParticleSys = NEW hgeParticleSystem("graphics/manawhite.psi", GameApp::CommonRes->GetQuad("particles"));
}else{
mParticleSys = NEW hgeParticleSystem("graphics/mana.psi", GameApp::CommonRes->GetQuad("particles"));
@@ -685,19 +685,19 @@ class AManaProducer: public MTGAbility{
sprintf(buffer, "%i ", value);
menutext.append(buffer);
switch (i){
case MTG_COLOR_RED:
case Constants::MTG_COLOR_RED:
menutext.append("red");
break;
case MTG_COLOR_BLUE:
case Constants::MTG_COLOR_BLUE:
menutext.append("blue");
break;
case MTG_COLOR_GREEN:
case Constants::MTG_COLOR_GREEN:
menutext.append("green");
break;
case MTG_COLOR_WHITE:
case Constants::MTG_COLOR_WHITE:
menutext.append("white");
break;
case MTG_COLOR_BLACK:
case Constants::MTG_COLOR_BLACK:
menutext.append("black");
break;
default:
@@ -761,7 +761,7 @@ class ALifeLink:public MTGAbility{
class ACircleOfProtection: public TargetAbility{
public:
ACircleOfProtection(int _id, MTGCardInstance * source, int _color):TargetAbility(_id,source,NEW DamageTargetChooser(source,_color),NEW ManaCost(),0,0){
cost->add(MTG_COLOR_ARTIFACT,1);
cost->add(Constants::MTG_COLOR_ARTIFACT,1);
}
int resolve(){
@@ -1193,7 +1193,7 @@ class AOldSchoolDeathtouch:public MTGAbility{
void Update(float dt){
if (newPhase != currentPhase){
if( newPhase == MTG_PHASE_COMBATDAMAGE){
if( newPhase == Constants::MTG_PHASE_COMBATDAMAGE){
nbOpponents = 0;
MTGCardInstance * opponent = source->getNextOpponent();
while (opponent && !opponent->hasSubtype("wall")){
@@ -1201,7 +1201,7 @@ class AOldSchoolDeathtouch:public MTGAbility{
nbOpponents ++;
opponent = source->getNextOpponent(opponent);
}
}else if (newPhase == MTG_PHASE_COMBATEND){
}else if (newPhase == Constants::MTG_PHASE_COMBATEND){
for (int i = 0; i < nbOpponents ; i++){
game->mLayers->stackLayer()->addPutInGraveyard(opponents[i]);
}
@@ -1210,7 +1210,7 @@ class AOldSchoolDeathtouch:public MTGAbility{
}
int testDestroy(){
if(!game->isInPlay(source) && currentPhase != MTG_PHASE_UNTAP){
if(!game->isInPlay(source) && currentPhase != Constants::MTG_PHASE_UNTAP){
return 0;
}else{
return MTGAbility::testDestroy();
@@ -1332,22 +1332,22 @@ class AArmageddonClock:public MTGAbility{
ManaCost cost;
AArmageddonClock(int id, MTGCardInstance * _source):MTGAbility(id, _source){
counters = 0;
int _cost[] = {MTG_COLOR_ARTIFACT, 4};
int _cost[] = {Constants::MTG_COLOR_ARTIFACT, 4};
cost = ManaCost(_cost,1);
}
void Update(float dt){
if (newPhase != currentPhase){
if (newPhase == MTG_PHASE_UPKEEP && game->currentPlayer->game->inPlay->hasCard(source)){
if (newPhase == Constants::MTG_PHASE_UPKEEP && game->currentPlayer->game->inPlay->hasCard(source)){
counters ++;
}else if (newPhase == MTG_PHASE_DRAW && counters > 0 && game->currentPlayer->game->inPlay->hasCard(source)){ //End of upkeep = beginning of draw
}else if (newPhase == Constants::MTG_PHASE_DRAW && counters > 0 && game->currentPlayer->game->inPlay->hasCard(source)){ //End of upkeep = beginning of draw
GameObserver::GetInstance()->mLayers->stackLayer()->addDamage(source,GameObserver::GetInstance()->players[0], counters);
GameObserver::GetInstance()->mLayers->stackLayer()->addDamage(source,GameObserver::GetInstance()->players[1], counters);
}
}
}
int isReactingToClick(MTGCardInstance * _card){
if (counters > 0 && _card == source && currentPhase == MTG_PHASE_UPKEEP){
if (counters > 0 && _card == source && currentPhase == Constants::MTG_PHASE_UPKEEP){
if (game->currentlyActing()->getManaPool()->canAfford( & cost)){
return 1;
}
@@ -1373,10 +1373,10 @@ class ABlackVise: public MTGAbility{
}
void Update(float dt){
if (newPhase == MTG_PHASE_UPKEEP && GameObserver::GetInstance()->opponent()->game->inPlay->hasCard(source)){
if (newPhase == Constants::MTG_PHASE_UPKEEP && GameObserver::GetInstance()->opponent()->game->inPlay->hasCard(source)){
nbcards = game->currentPlayer->game->hand->nb_cards;
}
if (newPhase != currentPhase && newPhase == MTG_PHASE_DRAW && GameObserver::GetInstance()->opponent()->game->inPlay->hasCard(source)){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_DRAW && GameObserver::GetInstance()->opponent()->game->inPlay->hasCard(source)){
if ( nbcards > 4) game->mLayers->stackLayer()->addDamage(source,game->currentPlayer, nbcards - 4);
}
}
@@ -1400,12 +1400,12 @@ class AChannel:public ActivatedAbility{
int resolve(){
source->controller()->life--;
source->controller()->getManaPool()->add(MTG_COLOR_ARTIFACT, 1);
source->controller()->getManaPool()->add(Constants::MTG_COLOR_ARTIFACT, 1);
return 1;
}
int testDestroy(){
if (newPhase != currentPhase && newPhase == MTG_PHASE_UNTAP) return 1;
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_UNTAP) return 1;
currentPhase = newPhase;
return 0;
}
@@ -1420,12 +1420,12 @@ class AClockworkBeast:public MTGAbility{
AClockworkBeast(int id, MTGCardInstance * _source):MTGAbility(id, _source){
counters = 7;
((MTGCardInstance *)target)->power+=7;
int _cost[] = {MTG_COLOR_ARTIFACT, 1};
int _cost[] = {Constants::MTG_COLOR_ARTIFACT, 1};
cost = ManaCost(_cost,1);
}
void Update(float dt){
if (newPhase != currentPhase && newPhase == MTG_PHASE_COMBATEND){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_COMBATEND){
if (((MTGCardInstance *)source)->isAttacker() || ((MTGCardInstance *)source)->isDefenser()){
counters--;
((MTGCardInstance *)target)->power-=1;
@@ -1433,7 +1433,7 @@ class AClockworkBeast:public MTGAbility{
}
}
int isReactingToClick(MTGCardInstance * _card){
if (counters < 7 && _card == source && currentPhase == MTG_PHASE_UPKEEP && game->currentPlayer->game->inPlay->hasCard(source)){
if (counters < 7 && _card == source && currentPhase == Constants::MTG_PHASE_UPKEEP && game->currentPlayer->game->inPlay->hasCard(source)){
if (game->currentlyActing()->getManaPool()->canAfford( & cost)){
return 1;
}
@@ -1458,7 +1458,7 @@ class AConservator: public MTGAbility{
ManaCost cost;
AConservator(int _id, MTGCardInstance * _source):MTGAbility(_id, _source){
canprevent = 0;
int _cost[] = {MTG_COLOR_ARTIFACT, 2};
int _cost[] = {Constants::MTG_COLOR_ARTIFACT, 2};
cost = ManaCost(_cost, 1);
}
@@ -1586,7 +1586,7 @@ class ADisruptingScepter:public TargetAbility{
ADisruptingScepter(int id, MTGCardInstance * _source):TargetAbility(id,_source){
MTGGameZone * zones[] = {GameObserver::GetInstance()->opponent()->game->hand};
tc = NEW TargetZoneChooser(zones,1,_source);
int _cost[] = {MTG_COLOR_ARTIFACT, 3};
int _cost[] = {Constants::MTG_COLOR_ARTIFACT, 3};
cost = NEW ManaCost(_cost,1);
}
@@ -1617,7 +1617,7 @@ class AEbonyHorse:public TargetAbility{
public:
AEbonyHorse(int _id, MTGCardInstance * _source):TargetAbility(_id,_source, NEW CreatureTargetChooser()){
int _cost[] = {MTG_COLOR_ARTIFACT, 2};
int _cost[] = {Constants::MTG_COLOR_ARTIFACT, 2};
cost = NEW ManaCost(_cost,1);
}
@@ -1632,14 +1632,14 @@ class AEbonyHorse:public TargetAbility{
class AFarmstead:public ActivatedAbility{
public:
AFarmstead(int _id, MTGCardInstance * source, MTGCardInstance * _target):ActivatedAbility(_id, source,0,1,0){
int _cost[] = {MTG_COLOR_WHITE, 2};
int _cost[] = {Constants::MTG_COLOR_WHITE, 2};
cost = NEW ManaCost(_cost,1);
target = _target;
}
int isReactingToClick(MTGCardInstance * card){
if (!ActivatedAbility::isReactingToClick(card)) return 0;
if (currentPhase == MTG_PHASE_UPKEEP) return 1;
if (currentPhase == Constants::MTG_PHASE_UPKEEP) return 1;
return 0;
}
@@ -1706,7 +1706,7 @@ class AHowlingMine:public MTGAbility{
AHowlingMine(int _id, MTGCardInstance * _source):MTGAbility(_id, _source){}
void Update(float dt){
if (newPhase != currentPhase && newPhase == MTG_PHASE_DRAW && !source->tapped){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_DRAW && !source->tapped){
game->mLayers->stackLayer()->addDraw(game->currentPlayer);
}
}
@@ -1716,7 +1716,7 @@ class AHowlingMine:public MTGAbility{
class AJayemdaeTome:public ActivatedAbility{
public:
AJayemdaeTome(int _id, MTGCardInstance * card):ActivatedAbility(_id, card){
int _cost[] = {MTG_COLOR_ARTIFACT, 4};
int _cost[] = {Constants::MTG_COLOR_ARTIFACT, 4};
cost = NEW ManaCost(_cost,1);
}
@@ -1740,7 +1740,7 @@ class ALivingArtifact:public MTGAbility{
}
void Update(float dt){
if (newPhase != currentPhase && newPhase == MTG_PHASE_UNTAP) usedThisTurn = 0;
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_UNTAP) usedThisTurn = 0;
Damage * damage = ((Damage *)game->mLayers->stackLayer()->getNext(latest,ACTION_DAMAGE,RESOLVED_OK));
while (damage){
if (damage->target == source->controller()){
@@ -1752,7 +1752,7 @@ class ALivingArtifact:public MTGAbility{
}
int isReactingtoclick(MTGCardInstance * card){
if (currentPhase == MTG_PHASE_UPKEEP && card == source && game->currentPlayer == source->controller() && counters && !usedThisTurn){
if (currentPhase == Constants::MTG_PHASE_UPKEEP && card == source && game->currentPlayer == source->controller() && counters && !usedThisTurn){
return 1;
}
return 0;
@@ -1777,9 +1777,9 @@ class ALordOfThePit: public TargetAbility{
void Update(float dt){
if (newPhase != currentPhase && source->controller() == game->currentPlayer){
if (newPhase == MTG_PHASE_UNTAP){
if (newPhase == Constants::MTG_PHASE_UNTAP){
paidThisTurn = 0;
}else if( newPhase == MTG_PHASE_UPKEEP + 1 && !paidThisTurn){
}else if( newPhase == Constants::MTG_PHASE_UPKEEP + 1 && !paidThisTurn){
game->mLayers->stackLayer()->addDamage(source,source->controller(), 7);
}
}
@@ -1787,7 +1787,7 @@ class ALordOfThePit: public TargetAbility{
}
int isReactingToClick(MTGCardInstance * card){
if (currentPhase != MTG_PHASE_UPKEEP || paidThisTurn) return 0;
if (currentPhase != Constants::MTG_PHASE_UPKEEP || paidThisTurn) return 0;
return TargetAbility::isReactingToClick(card);
}
@@ -1839,11 +1839,11 @@ class AErgRaiders:public MTGAbility{
void Update(float dt){
if (newPhase != currentPhase){
Player * controller = source->controller();
if (newPhase == MTG_PHASE_COMBATDAMAGE && game->currentPlayer == controller){
if (newPhase == Constants::MTG_PHASE_COMBATDAMAGE && game->currentPlayer == controller){
if (!source->isAttacker() && init){
dealDamage = 1;
}
}else if (newPhase == MTG_PHASE_UNTAP && game->currentPlayer != controller){
}else if (newPhase == Constants::MTG_PHASE_UNTAP && game->currentPlayer != controller){
if (dealDamage){
game->mLayers->stackLayer()->addDamage(source, controller,2);
}
@@ -1864,7 +1864,7 @@ class AFastbond:public TriggeredAbility{
}
void Update(float dt){
if (newPhase!=currentPhase && newPhase == MTG_PHASE_UNTAP){
if (newPhase!=currentPhase && newPhase == Constants::MTG_PHASE_UNTAP){
alreadyPlayedALand = 0;
}
TriggeredAbility::Update(dt);
@@ -1899,7 +1899,7 @@ class AHypnoticSpecter:public MTGAbility{
}
void Update(float dt){
if (newPhase != currentPhase && newPhase == MTG_PHASE_UNTAP){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_UNTAP){
for (int i = 0; i < 2; i++){
nbdamagesthisturn[i] = 0;
}
@@ -1938,7 +1938,7 @@ class AHypnoticSpecter:public MTGAbility{
class AJandorsRing:public ActivatedAbility{
public:
AJandorsRing(int _id, MTGCardInstance * _source):ActivatedAbility(_id,_source, NEW ManaCost()){
cost->add(MTG_COLOR_ARTIFACT, 2);
cost->add(Constants::MTG_COLOR_ARTIFACT, 2);
}
int isReactingToClick(MTGCardInstance * card){
@@ -2013,7 +2013,6 @@ class AKudzu: public TargetAbility{
}
int testDestroy(){
GameObserver * g = GameObserver::GetInstance();
int stillLandsInPlay = 0;
for (int i = 0; i < 2; i++){
if (game->players[i]->game->inPlay->hasType("land")) stillLandsInPlay = 1;
@@ -2037,7 +2036,7 @@ class AKudzu: public TargetAbility{
class AMillstone:public TargetAbility{
public:
AMillstone(int _id, MTGCardInstance * card):TargetAbility(_id,card, NEW PlayerTargetChooser(), NEW ManaCost()){
cost->add(MTG_COLOR_ARTIFACT, 2);
cost->add(Constants::MTG_COLOR_ARTIFACT, 2);
}
int resolve(){
@@ -2084,11 +2083,11 @@ class ANightmare:public ListMaintainerAbility{
class APestilence: public ActivatedAbility{
public:
APestilence(int _id, MTGCardInstance * card):ActivatedAbility(_id, card, NEW ManaCost(), 0,0){
cost->add(MTG_COLOR_BLACK, 1);
cost->add(Constants::MTG_COLOR_BLACK, 1);
}
void Update(float dt){
if (newPhase !=currentPhase && newPhase == MTG_PHASE_EOT){
if (newPhase !=currentPhase && newPhase == Constants::MTG_PHASE_EOT){
if (!game->players[0]->game->inPlay->hasType("creature") && !game->players[1]->game->inPlay->hasType("creature")){
source->controller()->game->putInGraveyard(source);
}
@@ -2145,13 +2144,13 @@ class APowerLeak:public TriggeredAbility{
int damagesToDealThisTurn;
ManaCost cost;
APowerLeak(int _id, MTGCardInstance * _source, MTGCardInstance * _target):TriggeredAbility(_id, _source, _target){
cost.add(MTG_COLOR_ARTIFACT, 1);
cost.add(Constants::MTG_COLOR_ARTIFACT, 1);
damagesToDealThisTurn = 0;
}
void Update(float dt){
MTGCardInstance * _target = (MTGCardInstance *) target;
if (newPhase != currentPhase && newPhase == MTG_PHASE_UPKEEP && _target->controller() == game->currentPlayer){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_UPKEEP && _target->controller() == game->currentPlayer){
damagesToDealThisTurn = 2;
}
TriggeredAbility::Update(dt);
@@ -2159,7 +2158,7 @@ class APowerLeak:public TriggeredAbility{
int isReactingToClick(MTGCardInstance * card){
MTGCardInstance * _target = (MTGCardInstance *) target;
if (damagesToDealThisTurn && currentPhase == MTG_PHASE_UPKEEP && card==source && _target->controller() == game->currentPlayer){
if (damagesToDealThisTurn && currentPhase == Constants::MTG_PHASE_UPKEEP && card==source && _target->controller() == game->currentPlayer){
if (game->currentPlayer->getManaPool()->canAfford(& cost)) return 1;
}
return 0;
@@ -2173,7 +2172,7 @@ class APowerLeak:public TriggeredAbility{
int trigger(){
MTGCardInstance * _target = (MTGCardInstance *) target;
if (newPhase != currentPhase && newPhase == MTG_PHASE_DRAW && _target->controller() == game->currentPlayer){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_DRAW && _target->controller() == game->currentPlayer){
if (damagesToDealThisTurn) return 1;
}
return 0;
@@ -2195,7 +2194,7 @@ class APowerSurge:public TriggeredAbility{
}
int trigger(){
if (newPhase != currentPhase && newPhase == MTG_PHASE_EOT){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_EOT){
//That's ugly but untapped land at the beginning of the turn are opponent's untapped lands at the end of the turn
totalLands = 0;
MTGInPlay * inPlay = game->opponent()->game->inPlay;
@@ -2206,7 +2205,7 @@ class APowerSurge:public TriggeredAbility{
}
}
}
if (newPhase != currentPhase && newPhase == MTG_PHASE_UPKEEP && totalLands){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_UPKEEP && totalLands){
return 1;
}
return 0;
@@ -2250,7 +2249,7 @@ class ASacrifice:public InstantAbility{
if (_target->isInPlay()){
game->currentlyActing()->game->putInGraveyard(_target);
int x = _target->getManaCost()->getConvertedCost();
game->currentlyActing()->getManaPool()->add(MTG_COLOR_BLACK, x);
game->currentlyActing()->getManaPool()->add(Constants::MTG_COLOR_BLACK, x);
}
return 1;
}
@@ -2312,7 +2311,7 @@ class ASerendibEfreet:public MTGAbility{
}
void Update(float dt){
if (newPhase == MTG_PHASE_UPKEEP && newPhase != currentPhase && game->currentPlayer == source->controller()){
if (newPhase == Constants::MTG_PHASE_UPKEEP && newPhase != currentPhase && game->currentPlayer == source->controller()){
game->mLayers->stackLayer()->addDamage(source,game->currentPlayer,1);
}
}
@@ -2362,7 +2361,7 @@ class AWanderlust:public TriggeredAbility{
AWanderlust(int _id, MTGCardInstance * _source, MTGCardInstance * _target):TriggeredAbility(_id,_source, _target){}
int trigger(){
if (newPhase != currentPhase && newPhase == MTG_PHASE_UPKEEP && ((MTGCardInstance *) target)->controller()==game->currentPlayer){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_UPKEEP && ((MTGCardInstance *) target)->controller()==game->currentPlayer){
return 1;
}
return 0;
@@ -2387,7 +2386,7 @@ class AAtog:public TargetAbility{
}
void Update(float dt){
if (newPhase != currentPhase && newPhase == MTG_PHASE_UNTAP){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_UNTAP){
for (int i = 0; i < counters; i++){
source->power-=2;
source->addToToughness(-2);
@@ -2420,11 +2419,11 @@ class AAtog:public TargetAbility{
class ADragonWhelp: public APowerToughnessModifierUntilEndOfTurn{
public:
ADragonWhelp(int id, MTGCardInstance * card):APowerToughnessModifierUntilEndOfTurn(id, card, card, 1, 0, NEW ManaCost()){
cost->add(MTG_COLOR_RED, 1);
cost->add(Constants::MTG_COLOR_RED, 1);
}
void Update(float dt){
if (newPhase != currentPhase && newPhase == MTG_PHASE_UNTAP && counters > 3){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_UNTAP && counters > 3){
source->controller()->game->putInGraveyard(source);
}
APowerToughnessModifierUntilEndOfTurn::Update(dt);
@@ -2435,7 +2434,7 @@ class ADragonWhelp: public APowerToughnessModifierUntilEndOfTurn{
//1288 EarthBind
class AEarthbind:public ABasicAbilityModifier{
public:
AEarthbind(int _id, MTGCardInstance * _source, MTGCardInstance * _target):ABasicAbilityModifier(_id,_source,_target,FLYING,0){
AEarthbind(int _id, MTGCardInstance * _source, MTGCardInstance * _target):ABasicAbilityModifier(_id,_source,_target,Constants::FLYING,0){
if (value_before_modification) game->mLayers->stackLayer()->addDamage(source,target,2);
}
};
@@ -2461,14 +2460,14 @@ class AForceOfNature:public ActivatedAbility{
int dealDamageThisTurn;
AForceOfNature(int _id, MTGCardInstance * card):ActivatedAbility(_id,card, NEW ManaCost(),1,0){
dealDamageThisTurn = 0;
cost->add(MTG_COLOR_GREEN,4);
cost->add(Constants::MTG_COLOR_GREEN,4);
}
void Update(float dt){
if (newPhase !=currentPhase){
if (newPhase == MTG_PHASE_UNTAP){
if (newPhase == Constants::MTG_PHASE_UNTAP){
dealDamageThisTurn = 1;
}else if (newPhase == MTG_PHASE_DRAW && dealDamageThisTurn && game->currentPlayer==source->controller() ){
}else if (newPhase == Constants::MTG_PHASE_DRAW && dealDamageThisTurn && game->currentPlayer==source->controller() ){
game->mLayers->stackLayer()->addDamage(source,source->controller(),8);
}
}
@@ -2476,7 +2475,7 @@ class AForceOfNature:public ActivatedAbility{
}
int isReactingToClick(MTGCardInstance * card){
return (dealDamageThisTurn && currentPhase == MTG_PHASE_UPKEEP && ActivatedAbility::isReactingToClick(card));
return (dealDamageThisTurn && currentPhase == Constants::MTG_PHASE_UPKEEP && ActivatedAbility::isReactingToClick(card));
}
int resolve(){
@@ -2605,19 +2604,19 @@ class AIslandSanctuary:public MTGAbility{
}
void Update(float dt){
if (currentPhase == MTG_PHASE_UNTAP && game->currentPlayer == source->controller()) initThisTurn = 0;
if (currentPhase == Constants::MTG_PHASE_UNTAP && game->currentPlayer == source->controller()) initThisTurn = 0;
if (initThisTurn && currentPhase == MTG_PHASE_COMBATATTACKERS && game->currentPlayer != source->controller()){
if (initThisTurn && currentPhase == Constants::MTG_PHASE_COMBATATTACKERS && game->currentPlayer != source->controller()){
MTGGameZone * zone = game->currentPlayer->game->inPlay;
for (int i = 0; i < zone->nb_cards; i++){
MTGCardInstance * card = zone->cards[i];
if (card->isAttacker() && !card->basicAbilities[FLYING] && !card->basicAbilities[ISLANDWALK]) card->attacker=0;
if (card->isAttacker() && !card->basicAbilities[Constants::FLYING] && !card->basicAbilities[Constants::ISLANDWALK]) card->attacker=0;
}
}
}
int isReactingToClick(MTGCardInstance * card){
if (card==source && game->currentPlayer == card->controller() && currentPhase == MTG_PHASE_DRAW){
if (card==source && game->currentPlayer == card->controller() && currentPhase == Constants::MTG_PHASE_DRAW){
Interruptible * action = game->mLayers->stackLayer()->_(-1);
if (action->type == ACTION_DRAW) return 1;
}
@@ -2640,7 +2639,7 @@ class AKarma: public TriggeredAbility{
}
int trigger(){
if (newPhase != currentPhase && newPhase == MTG_PHASE_UPKEEP) return 1;
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_UPKEEP) return 1;
return 0;
}
@@ -2659,14 +2658,14 @@ class AKarma: public TriggeredAbility{
class ANorthernPaladin:public TargetAbility{
public:
ANorthernPaladin(int _id, MTGCardInstance * card):TargetAbility(_id, card){
int _cost[] = {MTG_COLOR_WHITE, 2};
int _cost[] = {Constants::MTG_COLOR_WHITE, 2};
cost = NEW ManaCost(_cost,1);
tc = NEW TargetChooser();
}
int resolve(){
MTGCardInstance * card = tc->getNextCardTarget();
if (card->hasColor(MTG_COLOR_BLACK)){
if (card->hasColor(Constants::MTG_COLOR_BLACK)){
card->controller()->game->putInGraveyard(card);
return 1;
}
@@ -2707,7 +2706,7 @@ class ASoulNet:public ActivatedAbility{
PutInGraveyard * latest;
PutInGraveyard * newDead;
ASoulNet(int _id, MTGCardInstance * card):ActivatedAbility(_id, card,0,0,0){
int _cost[] = {MTG_COLOR_ARTIFACT, 1};
int _cost[] = {Constants::MTG_COLOR_ARTIFACT, 1};
cost = NEW ManaCost(_cost,1);
latest = ((PutInGraveyard *) GameObserver::GetInstance()->mLayers->stackLayer()->getPrevious(NULL,ACTION_PUTINGRAVEYARD,RESOLVED_OK));
newDead = latest;
@@ -2733,22 +2732,22 @@ class AStasis:public ActivatedAbility{
int paidThisTurn;
AStasis(int _id, MTGCardInstance * card):ActivatedAbility(_id,card, NEW ManaCost(),1,0){
paidThisTurn = 1;
cost->add(MTG_COLOR_BLUE,1);
cost->add(Constants::MTG_COLOR_BLUE,1);
}
void Update(float dt){
//Upkeep Cost
if (newPhase !=currentPhase){
if (newPhase == MTG_PHASE_UPKEEP){
if (newPhase == Constants::MTG_PHASE_UPKEEP){
paidThisTurn = 0;
}else if (!paidThisTurn && newPhase > MTG_PHASE_UPKEEP && game->currentPlayer==source->controller() ){
}else if (!paidThisTurn && newPhase > Constants::MTG_PHASE_UPKEEP && game->currentPlayer==source->controller() ){
game->currentPlayer->game->putInGraveyard(source);
paidThisTurn = 1;
}
}
//Stasis Effect
for (int i = 0; i < 2; i++){
game->phaseRing->removePhase(MTG_PHASE_UNTAP,game->players[i]);
game->phaseRing->removePhase(Constants::MTG_PHASE_UNTAP,game->players[i]);
}
//Parent Class Method Call
@@ -2756,7 +2755,7 @@ class AStasis:public ActivatedAbility{
}
int isReactingToClick(MTGCardInstance * card){
return (!paidThisTurn && currentPhase == MTG_PHASE_UPKEEP && ActivatedAbility::isReactingToClick(card));
return (!paidThisTurn && currentPhase == Constants::MTG_PHASE_UPKEEP && ActivatedAbility::isReactingToClick(card));
}
int resolve(){
@@ -2766,7 +2765,7 @@ class AStasis:public ActivatedAbility{
int destroy(){
for (int i = 0; i < 2; i++){
game->phaseRing->addPhaseBefore(MTG_PHASE_UNTAP,game->players[i],MTG_PHASE_UPKEEP,game->players[i]);
game->phaseRing->addPhaseBefore(Constants::MTG_PHASE_UNTAP,game->players[i],Constants::MTG_PHASE_UPKEEP,game->players[i]);
}
return 1;
}
@@ -2779,7 +2778,7 @@ class AStasis:public ActivatedAbility{
class AShieldOfTheAge: public TargetAbility{
public:
AShieldOfTheAge(int _id, MTGCardInstance * card):TargetAbility(_id,card,NEW DamageTargetChooser(card,_id),NEW ManaCost(),0,0){
cost->add(MTG_COLOR_ARTIFACT,2);
cost->add(Constants::MTG_COLOR_ARTIFACT,2);
}
int resolve(){
@@ -2824,15 +2823,15 @@ class AAbomination :public MTGAbility{
void Update(float dt){
if (newPhase != currentPhase){
if( newPhase == MTG_PHASE_COMBATDAMAGE){
if( newPhase == Constants::MTG_PHASE_COMBATDAMAGE){
nbOpponents = 0;
MTGCardInstance * opponent = source->getNextOpponent();
while ((opponent && opponent->hasColor(MTG_COLOR_GREEN)) || opponent->hasColor(MTG_COLOR_WHITE)){
while ((opponent && opponent->hasColor(Constants::MTG_COLOR_GREEN)) || opponent->hasColor(Constants::MTG_COLOR_WHITE)){
opponents[nbOpponents] = opponent;
nbOpponents ++;
opponent = source->getNextOpponent(opponent);
}
}else if (newPhase == MTG_PHASE_COMBATEND){
}else if (newPhase == Constants::MTG_PHASE_COMBATEND){
for (int i = 0; i < nbOpponents ; i++){
game->mLayers->stackLayer()->addPutInGraveyard(opponents[i]);
}
@@ -2841,7 +2840,7 @@ class AAbomination :public MTGAbility{
}
int testDestroy(){
if(!game->isInPlay(source) && currentPhase != MTG_PHASE_UNTAP){
if(!game->isInPlay(source) && currentPhase != Constants::MTG_PHASE_UNTAP){
return 0;
}else{
return MTGAbility::testDestroy();
@@ -2890,9 +2889,9 @@ class AMinionofLeshrac: public TargetAbility{
void Update(float dt){
if (newPhase != currentPhase && source->controller() == game->currentPlayer){
if (newPhase == MTG_PHASE_UNTAP){
if (newPhase == Constants::MTG_PHASE_UNTAP){
paidThisTurn = 0;
}else if( newPhase == MTG_PHASE_UPKEEP + 1 && !paidThisTurn){
}else if( newPhase == Constants::MTG_PHASE_UPKEEP + 1 && !paidThisTurn){
game->mLayers->stackLayer()->addDamage(source,source->controller(), 5);
source->tapped = 1;
}
@@ -2901,7 +2900,7 @@ class AMinionofLeshrac: public TargetAbility{
}
int isReactingToClick(MTGCardInstance * card){
if (currentPhase != MTG_PHASE_UPKEEP || paidThisTurn) return 0;
if (currentPhase != Constants::MTG_PHASE_UPKEEP || paidThisTurn) return 0;
return TargetAbility::isReactingToClick(card);
}
@@ -3040,7 +3039,7 @@ class A1RampageAbility:public MTGAbility{
void Update(float dt){
if (source->isAttacker()){
if (newPhase != currentPhase){
if( newPhase == MTG_PHASE_COMBATDAMAGE){
if( newPhase == Constants::MTG_PHASE_COMBATDAMAGE){
nbOpponents = 0;
MTGCardInstance * opponent = source->getNextOpponent();
while (opponent){
+1 -1
View File
@@ -26,7 +26,7 @@ class Cmp1 { // compares cards by their name
class DeckDataWrapper{
public:
int colors[MTG_NB_COLORS+1];
int colors[Constants::MTG_NB_COLORS+1];
int currentColor;
map<MTGCard *, int,Cmp1> cards;
int currentposition;
+15 -21
View File
@@ -160,13 +160,13 @@ class GameStateDeckViewer: public GameState, public JGuiListener
//icon images
mIcons[MTG_COLOR_ARTIFACT] = GameApp::CommonRes->GetQuad("c_artifact");
mIcons[MTG_COLOR_LAND] = GameApp::CommonRes->GetQuad("c_land");
mIcons[MTG_COLOR_WHITE] = GameApp::CommonRes->GetQuad("c_white");
mIcons[MTG_COLOR_RED] = GameApp::CommonRes->GetQuad("c_red");
mIcons[MTG_COLOR_BLACK] = GameApp::CommonRes->GetQuad("c_black");
mIcons[MTG_COLOR_BLUE] = GameApp::CommonRes->GetQuad("c_blue");
mIcons[MTG_COLOR_GREEN] = GameApp::CommonRes->GetQuad("c_green");
mIcons[Constants::MTG_COLOR_ARTIFACT] = GameApp::CommonRes->GetQuad("c_artifact");
mIcons[Constants::MTG_COLOR_LAND] = GameApp::CommonRes->GetQuad("c_land");
mIcons[Constants::MTG_COLOR_WHITE] = GameApp::CommonRes->GetQuad("c_white");
mIcons[Constants::MTG_COLOR_RED] = GameApp::CommonRes->GetQuad("c_red");
mIcons[Constants::MTG_COLOR_BLACK] = GameApp::CommonRes->GetQuad("c_black");
mIcons[Constants::MTG_COLOR_BLUE] = GameApp::CommonRes->GetQuad("c_blue");
mIcons[Constants::MTG_COLOR_GREEN] = GameApp::CommonRes->GetQuad("c_green");
for (int i=0; i < 7; i++){
mIcons[i]->SetHotSpot(16,16);
}
@@ -295,13 +295,13 @@ class GameStateDeckViewer: public GameState, public JGuiListener
last_user_activity = 0;
mStage = STAGE_TRANSITION_UP;
colorFilter--;
if (colorFilter < -1) colorFilter = MTG_COLOR_LAND;
if (colorFilter < -1) colorFilter = Constants::MTG_COLOR_LAND;
break;
case PSP_CTRL_DOWN :
last_user_activity = 0;
mStage = STAGE_TRANSITION_DOWN;
colorFilter ++;
if (colorFilter > MTG_COLOR_LAND) colorFilter =-1;
if (colorFilter > Constants::MTG_COLOR_LAND) colorFilter =-1;
break;
case PSP_CTRL_TRIANGLE :
if (last_user_activity > 0.2)
@@ -473,7 +473,7 @@ class GameStateDeckViewer: public GameState, public JGuiListener
int max2 = 0;
int maxC2 = 4;
for (int i= 0; i< MTG_NB_COLORS -1; i++){
for (int i= 0; i < Constants::MTG_NB_COLORS -1; i++){
int value = myDeck->getCount(i);
if (value > max1){
max2 = max1;
@@ -489,18 +489,12 @@ class GameStateDeckViewer: public GameState, public JGuiListener
maxC2 = maxC1;
}
int _a[6] = {255, 255, 255,255,255,255};
int _r[6] = {75, 0, 0, 255,50,255};
int _g[6] = {30, 255, 0, 0, 50,255};
int _b[6] = {20, 0, 255,0, 50,255};
PIXEL_TYPE colors[] =
{
ARGB(255,_r[maxC1],_g[maxC1],_b[maxC1]),
ARGB(255,_r[maxC1],_g[maxC1],_b[maxC1]),
ARGB(255,_r[maxC2],_g[maxC2],_b[maxC2]),
ARGB(255,_r[maxC2],_g[maxC2],_b[maxC2]),
ARGB(255, Constants::_r[maxC1], Constants::_g[maxC1], Constants::_b[maxC1]),
ARGB(255, Constants::_r[maxC1], Constants::_g[maxC1], Constants::_b[maxC1]),
ARGB(255, Constants::_r[maxC2], Constants::_g[maxC2], Constants::_b[maxC2]),
ARGB(255, Constants::_r[maxC2], Constants::_g[maxC2], Constants::_b[maxC2]),
};
JRenderer::GetInstance()->FillRect(0,0,SCREEN_WIDTH,SCREEN_HEIGHT,colors);
@@ -566,7 +560,7 @@ class GameStateDeckViewer: public GameState, public JGuiListener
//Your Deck Information
char buffer[300];
int nb_letters = 0;
for (int j=0; j<MTG_NB_COLORS;j++){
for (int j=0; j<Constants::MTG_NB_COLORS;j++){
int value = myDeck->getCount(j);
if (value > 0){
sprintf(buffer, "%i", value);
+2 -2
View File
@@ -42,8 +42,8 @@ class MTGCard {
TexturesCache * mCache;
string text;
string name;
int colors[MTG_NB_COLORS];
int basicAbilities[NB_BASIC_ABILITIES];
int colors[Constants::MTG_NB_COLORS];
int basicAbilities[Constants::NB_BASIC_ABILITIES];
vector<string> formattedText;
string magicText;
int alias;
+2 -2
View File
@@ -42,7 +42,7 @@ class MtgSets{
class MTGAllCards {
protected:
int conf_read_mode;
int colorsCount[MTG_NB_COLORS];
int colorsCount[Constants::MTG_NB_COLORS];
int total_cards;
GameApp * parent;
void init();
@@ -51,7 +51,7 @@ class MTGAllCards {
TexturesCache * mCache;
MTGCard * _(int i);
MTGCard * collection[TOTAL_NUMBER_OF_CARDS];
MTGCard * collection[Constants::TOTAL_NUMBER_OF_CARDS];
MTGAllCards();
~MTGAllCards();
MTGAllCards(TexturesCache * cache);
+118 -194
View File
@@ -1,194 +1,118 @@
#ifndef _MTGDEFINITION_H_
#define _MTGDEFINITION_H_
#define TOTAL_NUMBER_OF_CARDS 4000
#define MTG_NB_COLORS 7
#define MTG_COLOR_ARTIFACT 0
#define MTG_COLOR_GREEN 1
#define MTG_COLOR_BLUE 2
#define MTG_COLOR_RED 3
#define MTG_COLOR_BLACK 4
#define MTG_COLOR_WHITE 5
#define MTG_COLOR_LAND 6
static char MTGColorChars[] = {'x','g','u','r','b','w','l'};
static const char * MTGColorStrings[] = {"artifact", "green", "blue", "red", "black", "white", "land"};
static int _r[7] = {75, 20, 20, 200,50,255,128};
static int _g[7] = {30, 140, 30, 15, 50,255,128};
static int _b[7] = {20, 0, 140,15, 50,255,128};
#define MTG_UNCOLORED 0
#define MTG_FOREST 1
#define MTG_ISLAND 2
#define MTG_MOUNTAIN 3
#define MTG_SWAMP 4
#define MTG_PLAIN 5
#define MTG_TYPE_CREATURE 10
#define MTG_TYPE_ARTIFACT 11
#define MTG_TYPE_ENCHANTMENT 12
#define MTG_TYPE_SORCERY 13
#define MTG_TYPE_LAND 14
#define MTG_TYPE_INSTANT 15
#define MTG_PHASE_BEFORE_BEGIN 0
#define MTG_PHASE_UNTAP 1
#define MTG_PHASE_UPKEEP 2
#define MTG_PHASE_DRAW 3
#define MTG_PHASE_FIRSTMAIN 4
#define MTG_PHASE_COMBATBEGIN 5
#define MTG_PHASE_COMBATATTACKERS 6
#define MTG_PHASE_COMBATBLOCKERS 7
#define MTG_PHASE_COMBATDAMAGE 8
#define MTG_PHASE_COMBATEND 9
#define MTG_PHASE_SECONDMAIN 10
#define MTG_PHASE_ENDOFTURN 11
#define MTG_PHASE_EOT 11
#define MTG_PHASE_CLEANUP 12
#define MTG_PHASE_AFTER_EOT 13
#define NB_MTG_PHASES 14
#define TRAMPLE 0
#define FORESTWALK 1
#define ISLANDWALK 2
#define MOUNTAINWALK 3
#define SWAMPWALK 4
#define PLAINSWALK 5
#define FLYING 6
#define FIRSTSTRIKE 7
#define DOUBLESTRIKE 8
#define FEAR 9
#define FLASH 10
#define HASTE 11
#define LIFELINK 12
#define REACH 13
#define SHROUD 14
#define VIGILANCE 15
#define DEFENSER 16
#define DEFENDER 16
#define BANDING 17
#define PROTECTIONGREEN 18
#define PROTECTIONBLUE 19
#define PROTECTIONRED 20
#define PROTECTIONBLACK 21
#define PROTECTIONWHITE 22
#define UNBLOCKABLE 23
#define WITHER 24
#define PERSIST 25
#define RETRACE 26
#define EXALTED 27
#define LEGENDARY 28
#define SHADOW 29
#define REACHSHADOW 30
#define FORESTHOME 31
#define ISLANDHOME 32
#define MOUNTAINHOME 33
#define SWAMPHOME 34
#define PLAINSHOME 35
#define FLANKING 36
#define RAMPAGE1 37
#define NB_BASIC_ABILITIES 38
static const char * MTGBasicAbilities[] = {
"trample",
"forestwalk",
"islandwalk",
"mountainwalk",
"swampwalk",
"plainwalk",
"flying",
"first strike",
"double strike",
"fear",
"flash",
"haste",
"lifelink",
"reach",
"shroud",
"vigilance",
"defender",
"banding",
"protection from green",
"protection from blue",
"protection from red",
"protection from black",
"protection from white",
"unblockable",
"wither",
"persist",
"retrace",
"exalted",
"legendary",
"shadow",
"reachshadow",
"foresthome",
"islandhome",
"moutainhome",
"swamphome",
"plainshome",
"flanking",
"rampage",
};
#define RARITY_M 'M'
#define RARITY_R 'R'
#define RARITY_U 'U'
#define RARITY_C 'C'
#define RARITY_L 'L'
#define MAIN_FONT 0
#define MAGIC_FONT 1
static const char *MTGPhaseNames[] =
{
"---",
"Untap",
"Upkeep",
"Draw",
"Main phase 1",
"Combat begins",
"Attackers",
"Blockers",
"Combat damage",
"Combat ends",
"Main phase 2",
"End of turn",
"cleanup",
"---"
};
static const char *MTGPhaseCodeNames[] =
{
"beginofturn",
"untap",
"upkeep",
"draw",
"firstmain",
"combatbegins",
"attackers",
"blockers",
"combatdamage",
"combatends",
"secondmain",
"endofturn",
"cleanup",
"beforenextturn"
};
#endif
#ifndef _MTGDEFINITION_H_
#define _MTGDEFINITION_H_
class Constants
{
public:
enum
{
TOTAL_NUMBER_OF_CARDS = 4000,
MTG_COLOR_ARTIFACT = 0,
MTG_COLOR_GREEN = 1,
MTG_COLOR_BLUE = 2,
MTG_COLOR_RED = 3,
MTG_COLOR_BLACK = 4,
MTG_COLOR_WHITE = 5,
MTG_COLOR_LAND = 6,
MTG_NB_COLORS = 7,
MTG_UNCOLORED = 0,
MTG_FOREST = 1,
MTG_ISLAND = 2,
MTG_MOUNTAIN = 3,
MTG_SWAMP = 4,
MTG_PLAIN = 5,
MTG_TYPE_CREATURE = 10,
MTG_TYPE_ARTIFACT = 11,
MTG_TYPE_ENCHANTMENT = 12,
MTG_TYPE_SORCERY = 13,
MTG_TYPE_LAND = 14,
MTG_TYPE_INSTANT = 15,
MTG_PHASE_BEFORE_BEGIN = 0,
MTG_PHASE_UNTAP = 1,
MTG_PHASE_UPKEEP = 2,
MTG_PHASE_DRAW = 3,
MTG_PHASE_FIRSTMAIN = 4,
MTG_PHASE_COMBATBEGIN = 5,
MTG_PHASE_COMBATATTACKERS = 6,
MTG_PHASE_COMBATBLOCKERS = 7,
MTG_PHASE_COMBATDAMAGE = 8,
MTG_PHASE_COMBATEND = 9,
MTG_PHASE_SECONDMAIN = 10,
MTG_PHASE_ENDOFTURN = 11,
MTG_PHASE_EOT = 11,
MTG_PHASE_CLEANUP = 12,
MTG_PHASE_AFTER_EOT = 13,
NB_MTG_PHASES = 14,
TRAMPLE = 0,
FORESTWALK = 1,
ISLANDWALK = 2,
MOUNTAINWALK = 3,
SWAMPWALK = 4,
PLAINSWALK = 5,
FLYING = 6,
FIRSTSTRIKE = 7,
DOUBLESTRIKE = 8,
FEAR = 9,
FLASH = 10,
HASTE = 11,
LIFELINK = 12,
REACH = 13,
SHROUD = 14,
VIGILANCE = 15,
DEFENSER = 16,
DEFENDER = 16,
BANDING = 17,
PROTECTIONGREEN = 18,
PROTECTIONBLUE = 19,
PROTECTIONRED = 20,
PROTECTIONBLACK = 21,
PROTECTIONWHITE = 22,
UNBLOCKABLE = 23,
WITHER = 24,
PERSIST = 25,
RETRACE = 26,
EXALTED = 27,
LEGENDARY = 28,
SHADOW = 29,
REACHSHADOW = 30,
FORESTHOME = 31,
ISLANDHOME = 32,
MOUNTAINHOME = 33,
SWAMPHOME = 34,
PLAINSHOME = 35,
FLANKING = 36,
RAMPAGE1 = 37,
NB_BASIC_ABILITIES = 38,
RARITY_M = 'M',
RARITY_R = 'R',
RARITY_U = 'U',
RARITY_C = 'C',
RARITY_L = 'L',
MAIN_FONT = 0,
MAGIC_FONT = 1,
};
static char MTGColorChars[];
static const char* MTGColorStrings[];
static int _r[], _g[], _b[];
static const char* MTGBasicAbilities[];
static const char* MTGPhaseNames[];
static const char* MTGPhaseCodeNames[];
};
#endif
+2 -2
View File
@@ -61,7 +61,7 @@ class MTGPersistRule:public ListMaintainerAbility{
}
int canBeInList(MTGCardInstance * card){
if (card->basicAbilities[PERSIST] && !card->counters->hasCounter(-1,-1) ){
if (card->basicAbilities[Constants::PERSIST] && !card->counters->hasCounter(-1,-1) ){
#if defined (WIN32) || defined (LINUX)
OutputDebugString("yay, persist !\n");
#endif
@@ -90,7 +90,7 @@ class MTGLegendRule:public ListMaintainerAbility{
MTGLegendRule(int _id):ListMaintainerAbility(_id){};
int canBeInList(MTGCardInstance * card){
if (card->basicAbilities[LEGENDARY]){
if (card->basicAbilities[Constants::LEGENDARY]){
return 1;
}
return 0;
+1 -1
View File
@@ -9,7 +9,7 @@ class ManaCostHybrid;
class ManaCost{
protected:
int cost[MTG_NB_COLORS+1];
int cost[Constants::MTG_NB_COLORS+1];
ManaCostHybrid * hybrids[10];
int nbhybrids;
public:
+1 -1
View File
@@ -17,7 +17,7 @@ class PriceList{
private:
MTGAllCards * collection;
string filename;
Price * prices[TOTAL_NUMBER_OF_CARDS];
Price * prices[Constants::TOTAL_NUMBER_OF_CARDS];
int nbprices;
public:
PriceList(const char * file, MTGAllCards * _collection);