From 2819ec01af331b72b9e53ca63c6b5c9aa34fea49 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Fri, 16 Oct 2015 17:02:37 +0800 Subject: [PATCH 1/3] token is excluded... for ABlink --- projects/mtg/include/AllAbilities.h | 2 +- projects/mtg/src/AllAbilities.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/mtg/include/AllAbilities.h b/projects/mtg/include/AllAbilities.h index c9fe5e22c..8465cb5d3 100644 --- a/projects/mtg/include/AllAbilities.h +++ b/projects/mtg/include/AllAbilities.h @@ -1440,7 +1440,7 @@ public: } }; -//targetted trigger +//counter trigger class TrCounter: public Trigger { public: diff --git a/projects/mtg/src/AllAbilities.cpp b/projects/mtg/src/AllAbilities.cpp index 188c16eac..d59749dd9 100644 --- a/projects/mtg/src/AllAbilities.cpp +++ b/projects/mtg/src/AllAbilities.cpp @@ -5642,7 +5642,7 @@ void AACastCard::Update(float dt) toCheck->bypassTC = true; TargetChooserFactory tcf(game); TargetChooser * atc = tcf.createTargetChooser(toCheck->spellTargetType,toCheck); - if (toCheck->hasType(Subtypes::TYPE_AURA) && !atc->validTargetsExist()) + if ((toCheck->hasType(Subtypes::TYPE_AURA) && !atc->validTargetsExist())||toCheck->isToken) { processed = true; this->forceDestroy = 1; From 5ede956e7f311102451c2ed31b8b41e647cb5fed Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Fri, 16 Oct 2015 18:19:42 +0800 Subject: [PATCH 2/3] Reverted GuiPlay reverted stacking issue --- projects/mtg/src/GuiPlay.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/mtg/src/GuiPlay.cpp b/projects/mtg/src/GuiPlay.cpp index 437ff4945..59a5a138c 100644 --- a/projects/mtg/src/GuiPlay.cpp +++ b/projects/mtg/src/GuiPlay.cpp @@ -195,7 +195,7 @@ void GuiPlay::Replace() for (iterator it = cards.begin(); it != end_spells; ++it) if (!(*it)->card->target) { - if((!(*it)->card->hasSubtype(Subtypes::TYPE_AURA)|| ((*it)->card->hasSubtype(Subtypes::TYPE_AURA) && !(*it)->card->playerTarget)) && !(*it)->card->hasType(Subtypes::TYPE_PLANESWALKER)) + if((!(*it)->card->hasSubtype(Subtypes::TYPE_AURA)|| ((*it)->card->hasSubtype(Subtypes::TYPE_AURA) && (*it)->card->playerTarget)) && !(*it)->card->hasType(Subtypes::TYPE_PLANESWALKER)) { if (mpDuelLayers->getRenderedPlayer() == (*it)->card->controller()) ++selfSpellsN; @@ -231,7 +231,7 @@ void GuiPlay::Replace() for (iterator it = cards.begin(); it != end_spells; ++it) if (!(*it)->card->target) { - if((!(*it)->card->hasSubtype(Subtypes::TYPE_AURA)|| ((*it)->card->hasSubtype(Subtypes::TYPE_AURA) && !(*it)->card->playerTarget)) && !(*it)->card->hasType(Subtypes::TYPE_PLANESWALKER)) + if((!(*it)->card->hasSubtype(Subtypes::TYPE_AURA)|| ((*it)->card->hasSubtype(Subtypes::TYPE_AURA) && (*it)->card->playerTarget)) && !(*it)->card->hasType(Subtypes::TYPE_PLANESWALKER)) { if (mpDuelLayers->getRenderedPlayer() == (*it)->card->controller()) selfSpells.Enstack(*it); From f4bdfa43ca45b77d175880b668d548aff7f06fbe Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Fri, 16 Oct 2015 18:50:05 +0800 Subject: [PATCH 3/3] Copied Morphed card --- projects/mtg/src/AllAbilities.cpp | 30 ++++++++++++++++++------------ projects/mtg/src/CardGui.cpp | 2 +- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/projects/mtg/src/AllAbilities.cpp b/projects/mtg/src/AllAbilities.cpp index d59749dd9..628db6888 100644 --- a/projects/mtg/src/AllAbilities.cpp +++ b/projects/mtg/src/AllAbilities.cpp @@ -390,19 +390,25 @@ int AACopier::resolve() MTGCardInstance * _target = (MTGCardInstance *) target; if (_target) { - if(_target->isACopier) + MTGCard* clone = MTGCollection()->getCardById(_target->copiedID); + MTGCardInstance * myClone = NEW MTGCardInstance(clone, source->controller()->game); + source->copy(myClone); + source->isACopier = true; + source->copiedID = _target->copiedID; + source->modifiedbAbi = _target->modifiedbAbi; + source->origbasicAbilities = _target->origbasicAbilities; + if(_target->isMorphed) { - MTGCard* clone = MTGCollection()->getCardById(_target->copiedID); - MTGCardInstance * myClone = NEW MTGCardInstance(clone, source->controller()->game); - source->copy(myClone); - source->isACopier = true; - source->copiedID = _target->copiedID; - } - else - { - source->copy(_target); - source->isACopier = true; - source->copiedID = _target->getId(); + source->power = 2; + source->life = 2; + source->toughness = 2; + source->setColor(0,1); + source->name = "Morph"; + source->types.clear(); + string cre = "Creature"; + source->setType(cre.c_str()); + source->basicAbilities.reset(); + source->getManaCost()->resetCosts(); } return 1; } diff --git a/projects/mtg/src/CardGui.cpp b/projects/mtg/src/CardGui.cpp index bd5c83733..a9454f183 100644 --- a/projects/mtg/src/CardGui.cpp +++ b/projects/mtg/src/CardGui.cpp @@ -292,7 +292,7 @@ void CardGui::Render() } JQuadPtr mor; - if(card->isMorphed && !alternate) + if((card->isMorphed||(card->name == "Morph" && card->isACopier)) && !alternate) { mor = card->getObserver()->getResourceManager()->RetrieveTempQuad("morph.jpg"); if (mor && mor->mTex) {