diff --git a/projects/mtg/src/Counters.cpp b/projects/mtg/src/Counters.cpp index b01c57644..a08c4402e 100644 --- a/projects/mtg/src/Counters.cpp +++ b/projects/mtg/src/Counters.cpp @@ -2,6 +2,7 @@ #include "Counters.h" #include "MTGCardInstance.h" +#include "AllAbilities.h" Counter::Counter(MTGCardInstance * _target, int _power, int _toughness) { @@ -187,10 +188,13 @@ int Counters::removeCounter(const char * _name, int _power, int _toughness) if (target->suspended && !target->counters->hasCounter("time",0,0)) { GameObserver * game = target->getObserver(); - MTGCardInstance * copy = target->controller()->game->putInZone(target, target->currentZone, target->controller()->game->stack); - - game->mLayers->stackLayer()->addSpell(copy, game->targetChooser, NULL,1, 0); - game->targetChooser = NULL; + MTGAbility *ac = NEW AACastCard(game, game->mLayers->actionLayer()->getMaxId(), target, target, false, false, true, "", "", false, false); + MayAbility *ma1 = NEW MayAbility(game, game->mLayers->actionLayer()->getMaxId(), ac->clone(), target, true); + MTGAbility *ga1 = NEW GenericAddToGame(game, game->mLayers->actionLayer()->getMaxId(), target, NULL, ma1->clone()); + SAFE_DELETE(ac); + SAFE_DELETE(ma1); + ga1->resolve(); + SAFE_DELETE(ga1); } return mCount; }