diff --git a/projects/mtg/include/AllAbilities.h b/projects/mtg/include/AllAbilities.h index baae3aac1..92c8faa03 100644 --- a/projects/mtg/include/AllAbilities.h +++ b/projects/mtg/include/AllAbilities.h @@ -1028,6 +1028,15 @@ public: AAResetDamage * clone() const; }; +class AAFakeAbility: public ActivatedAbility +{ +public: + AAFakeAbility(GameObserver* observer, int id, MTGCardInstance * source, MTGCardInstance * target, ManaCost * cost = NULL); + int resolve(); + const char* getMenuText(); + AAFakeAbility * clone() const; +}; + class AAFizzler: public ActivatedAbility { diff --git a/projects/mtg/src/AllAbilities.cpp b/projects/mtg/src/AllAbilities.cpp index 8bae5ee1c..e938b8b6f 100644 --- a/projects/mtg/src/AllAbilities.cpp +++ b/projects/mtg/src/AllAbilities.cpp @@ -1176,6 +1176,26 @@ AAResetDamage * AAResetDamage::clone() const return NEW AAResetDamage(*this); } +//ability that resolves to do nothing. + AAFakeAbility::AAFakeAbility(GameObserver* observer, int id, MTGCardInstance * source, MTGCardInstance * _target, ManaCost * cost): + ActivatedAbility(observer, id, source, cost, 0) +{ + this->target = _target; +} +int AAFakeAbility::resolve() +{ + return 1; +} + +const char* AAFakeAbility::getMenuText() +{ + return "Ability"; +} + +AAFakeAbility * AAFakeAbility::clone() const +{ + return NEW AAFakeAbility(*this); +} // Fizzler AAFizzler::AAFizzler(GameObserver* observer, int _id, MTGCardInstance * card, Spell * _target, ManaCost * _cost) : diff --git a/projects/mtg/src/MTGAbility.cpp b/projects/mtg/src/MTGAbility.cpp index 26a59cd96..044e24f70 100644 --- a/projects/mtg/src/MTGAbility.cpp +++ b/projects/mtg/src/MTGAbility.cpp @@ -2196,6 +2196,15 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG return a; } + //Reset damages on cards + found = s.find("donothing"); + if (found != string::npos) + { + MTGAbility * a = NEW AAFakeAbility(observer, id, card, target); + a->oneShot = 1; + return a; + } + //Damage vector splitDamage = parseBetween(s, "damage:", " ", false); if (splitDamage.size())