From f4bdfa43ca45b77d175880b668d548aff7f06fbe Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Fri, 16 Oct 2015 18:50:05 +0800 Subject: [PATCH] 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) {