diff --git a/projects/mtg/include/AllAbilities.h b/projects/mtg/include/AllAbilities.h index 3f7b552fa..eec795a76 100644 --- a/projects/mtg/include/AllAbilities.h +++ b/projects/mtg/include/AllAbilities.h @@ -68,6 +68,7 @@ private: bool plusone = false; bool plustwo = false; bool plusthree = false; + bool other = false;//othertype:[subtype] if (!target) target = card; int multiplier = 1; if (s[0] == '-') @@ -134,6 +135,12 @@ private: size_t pThree = s.find("plusthree"); s.erase(pThree,pThree + 9); } + if(s.find("othertype") != string::npos) + { + other = true; + size_t oth = s.find("othertype"); + s.erase(oth,oth + 5); + } if(s == "prex") { ManaCost * cX = card->controller()->getManaPool()->Diff(card->getManaCost()); @@ -395,6 +402,7 @@ private: } TargetChooserFactory tf(card->getObserver()); TargetChooser * tc = tf.createTargetChooser(theType.c_str(),NULL); + tc->other = other; for (int i = 0; i < 2; i++) { Player * p = card->getObserver()->players[i]; @@ -642,6 +650,21 @@ private: { intValue = target->controller()->opponent()->game->hand->nb_cards; } + else if (s == "myname")//Plague Rats and others + { + intValue = 0; + for (int i = 0; i < 2; i++) + { + Player * p = card->getObserver()->players[i]; + for (int j = p->game->battlefield->nb_cards - 1; j >= 0; --j) + { + if (p->game->battlefield->cards[j]->name == card->name) + { + intValue += 1; + } + } + } + } else if (s == "pgbzombie")//Soulless One { intValue = 0; diff --git a/projects/mtg/include/Wagic_Version.h b/projects/mtg/include/Wagic_Version.h index 82d9d8d4b..58f7175d4 100644 --- a/projects/mtg/include/Wagic_Version.h +++ b/projects/mtg/include/Wagic_Version.h @@ -12,8 +12,8 @@ Author: Michael Nguyen /* Wagic versions */ #define WAGIC_VERSION_MAJOR 0 -#define WAGIC_VERSION_MEDIUM 19 -#define WAGIC_VERSION_MINOR 2 +#define WAGIC_VERSION_MEDIUM 20 +#define WAGIC_VERSION_MINOR 1 #define VERSION_DOT(a, b, c) a ##.## b ##.## c #define VERSION_WITHOUT_DOT(a, b, c) a ## b ## c