Fixes for exclusion/inclusion combinations of colors or abilities.

This commit is contained in:
wrenczes
2011-04-28 05:01:06 +00:00
parent 7e4364b484
commit 8610531bf3
6 changed files with 94 additions and 82 deletions
+5 -1
View File
@@ -11,7 +11,6 @@
#define CD_OR 1
#define CD_AND 2
#define CD_NOT 3
enum ENUM_COMPARISON_MODES
{
@@ -59,6 +58,11 @@ class CardDescriptor: public MTGCardInstance
MTGCardInstance * match(MTGGameZone * zone);
MTGCardInstance * nextmatch(MTGGameZone * zone, MTGCardInstance * previous);
void SetExclusionColor(int _color, int removeAllOthers = 0);
uint8_t mColorExclusions;
BasicAbilitiesSet mAbilityExclusions;
int nameComparisonMode;
int colorComparisonMode;
string compareName;
+4 -1
View File
@@ -36,7 +36,8 @@ public:
int init();
uint8_t colors;
std::bitset<Constants::NB_BASIC_ABILITIES> basicAbilities;
typedef std::bitset<Constants::NB_BASIC_ABILITIES> BasicAbilitiesSet;
BasicAbilitiesSet basicAbilities;
map<string,string> magicTexts;
string magicText;
@@ -61,6 +62,8 @@ public:
bool hasColor(int inColor);
int countColors();
static uint8_t ConvertColorToBitMask(int inColor);
int has(int ability);
void setText(const string& value);