Added Background partner ability for CLB commanders, fixed some tab with spaces

This commit is contained in:
Vittorio Alfieri
2023-04-26 13:05:07 +02:00
parent 2446443522
commit 8027ed4bdf
6 changed files with 50 additions and 47 deletions

View File

@@ -339,7 +339,8 @@ class Constants
COUNTERSHROUD = 211,
NONIGHT = 212,
NODAMAGEREMOVED = 213,
NB_BASIC_ABILITIES = 214,
BACKGROUNDPARTNER = 214,
NB_BASIC_ABILITIES = 215,
RARITY_S = 'S', //Special Rarity
RARITY_M = 'M', //Mythics

View File

@@ -33,7 +33,8 @@ public:
TYPE_DUNGEON = 18,
TYPE_EMBLEM = 19,
TYPE_CONSPIRACY = 20,
LAST_TYPE = TYPE_CONSPIRACY,
TYPE_BACKGROUND = 21,
LAST_TYPE = TYPE_BACKGROUND,
};
protected:

View File

@@ -995,10 +995,10 @@ MTGDeck::MTGDeck(const string& config_file, MTGAllCards * _allcards, int meta_on
MTGCard * newcard = database->getCardById(atoi(s.c_str()));
if(!CommandZone.size() && newcard->data->hasType("Legendary") && (newcard->data->hasType("Creature") || newcard->data->basicAbilities[Constants::CANBECOMMANDER])) // If no commander has been added you can add one.
CommandZone.push_back(s);
else if(CommandZone.size() == 1 && newcard->data->hasType("Legendary") && (newcard->data->hasType("Creature") || newcard->data->basicAbilities[Constants::CANBECOMMANDER])){ // If a commander has been added you can add a new one just if both have partner ability.
if(newcard && newcard->data->basicAbilities[Constants::PARTNER]){
else if(CommandZone.size() == 1 && newcard->data->hasType("Legendary") && (newcard->data->hasType("Creature") || newcard->data->basicAbilities[Constants::CANBECOMMANDER])){ // If a commander has been added you can add a new one just if both have partner ability of if one can choose a Background.
if(newcard && (newcard->data->basicAbilities[Constants::PARTNER] || newcard->data->basicAbilities[Constants::BACKGROUNDPARTNER])){
MTGCard * oldcard = database->getCardById(atoi((CommandZone.at(0)).c_str()));
if(oldcard && oldcard->data->basicAbilities[Constants::PARTNER] && (oldcard->data->name != newcard->data->name) && ((oldcard->data->partner == "" && newcard->data->partner == "") || (oldcard->data->partner == newcard->data->name && newcard->data->partner == oldcard->data->name)))
if((oldcard && oldcard->data->hasType(Subtypes::TYPE_BACKGROUND) && (oldcard->data->name != newcard->data->name)) || (oldcard && oldcard->data->basicAbilities[Constants::PARTNER] && (oldcard->data->name != newcard->data->name) && ((oldcard->data->partner == "" && newcard->data->partner == "") || (oldcard->data->partner == newcard->data->name && newcard->data->partner == oldcard->data->name))))
CommandZone.push_back(s);
}
}
@@ -1012,10 +1012,10 @@ MTGDeck::MTGDeck(const string& config_file, MTGAllCards * _allcards, int meta_on
str_id << newcard->getId();
if(!CommandZone.size() && newcard->data->hasType("Legendary") && (newcard->data->hasType("Creature") || newcard->data->basicAbilities[Constants::CANBECOMMANDER])) // If no commander has been added you can add one.
CommandZone.push_back(str_id.str());
else if(CommandZone.size() == 1 && newcard->data->hasType("Legendary") && (newcard->data->hasType("Creature") || newcard->data->basicAbilities[Constants::CANBECOMMANDER])){ // If a commander has been added you can add a new one just if both have partner ability.
if(newcard->data->basicAbilities[Constants::PARTNER]){
else if(CommandZone.size() == 1 && newcard->data->hasType("Legendary") && (newcard->data->hasType("Creature") || newcard->data->basicAbilities[Constants::CANBECOMMANDER])){ // If a commander has been added you can add a new one just if both have partner ability of if one can choose a Background.
if(newcard && (newcard->data->basicAbilities[Constants::PARTNER] || newcard->data->basicAbilities[Constants::BACKGROUNDPARTNER])){
MTGCard * oldcard = database->getCardById(atoi((CommandZone.at(0)).c_str()));
if(oldcard && oldcard->data->basicAbilities[Constants::PARTNER] && (oldcard->data->name != newcard->data->name) && ((oldcard->data->partner == "" && newcard->data->partner == "") || (oldcard->data->partner == newcard->data->name && newcard->data->partner == oldcard->data->name)))
if((oldcard && oldcard->data->hasType(Subtypes::TYPE_BACKGROUND) && (oldcard->data->name != newcard->data->name)) || (oldcard && oldcard->data->basicAbilities[Constants::PARTNER] && (oldcard->data->name != newcard->data->name) && ((oldcard->data->partner == "" && newcard->data->partner == "") || (oldcard->data->partner == newcard->data->name && newcard->data->partner == oldcard->data->name))))
CommandZone.push_back(str_id.str());
}
}

View File

@@ -244,7 +244,8 @@ const char* Constants::MTGBasicAbilities[] = {
"expshroud", //Player can't get experience counters (e.g. "Solemnity").
"countershroud", //Card can't get any kind of counter (e.g. "Solemnity").
"nonight", //It can't become night (e.g. "Angel of Eternal Dawn").
"nodamageremoved" //Damage is not removed from card (e.g. "Patient Zero").
"nodamageremoved", //Damage is not removed from card (e.g. "Patient Zero").
"backgoundpartner" //Can choose a backgorund partner as commander (e.g. "Faceless One").
};
map<string,int> Constants::MTGBasicAbilitiesMap;