From fdde5b7fe90b78b027046ec2639f77914f125d53 Mon Sep 17 00:00:00 2001 From: zethfoxster Date: Sat, 9 Jul 2016 18:57:01 -0400 Subject: [PATCH 1/3] ok round 3 --- projects/mtg/src/MTGGameZones.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/projects/mtg/src/MTGGameZones.cpp b/projects/mtg/src/MTGGameZones.cpp index 8e995dd69..5e664c3f8 100644 --- a/projects/mtg/src/MTGGameZones.cpp +++ b/projects/mtg/src/MTGGameZones.cpp @@ -980,7 +980,11 @@ void MTGInPlay::untapAll() MTGGameZone * MTGGameZone::intToZone(int zoneId, Player * p, Player * p2) { - + if (p2 != p && p2 && (p != p2->opponent())) + { + p = p2->opponent(); + //these cases are generally handled this is a edge case fix. + } switch (zoneId) { case MY_GRAVEYARD: From c4581a8889a324a3860dbf7932c4494a91dde393 Mon Sep 17 00:00:00 2001 From: zethfoxster Date: Sat, 9 Jul 2016 20:20:55 -0400 Subject: [PATCH 2/3] added imprintedcard as a usable name for castcard --- projects/mtg/src/AllAbilities.cpp | 7 +++++++ projects/mtg/src/MTGAbility.cpp | 9 ++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/projects/mtg/src/AllAbilities.cpp b/projects/mtg/src/AllAbilities.cpp index 6b84b1c13..af883cebe 100644 --- a/projects/mtg/src/AllAbilities.cpp +++ b/projects/mtg/src/AllAbilities.cpp @@ -7189,6 +7189,13 @@ void AACastCard::Update(float dt) return; if(cardNamed.size() && !theNamedCard) { + if (cardNamed.find("imprintedcard") != string::npos) + { + if (source && source->currentimprintName.size()) + { + cardNamed = source->currentimprintName; + } + } theNamedCard = makeCard(); } if(putinplay) diff --git a/projects/mtg/src/MTGAbility.cpp b/projects/mtg/src/MTGAbility.cpp index 49eeab63a..dbd525a22 100644 --- a/projects/mtg/src/MTGAbility.cpp +++ b/projects/mtg/src/MTGAbility.cpp @@ -2503,9 +2503,12 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG found = s.find("imprint"); if (found != string::npos) { - MTGAbility * a = NEW AAImprint(observer, id, card, target); - a->oneShot = 1; - return a; + if (s.find("imprintedcard") == string::npos) + { + MTGAbility * a = NEW AAImprint(observer, id, card, target); + a->oneShot = 1; + return a; + } } //phaseout From 8b70f5a1149110a91ca2d3171216f541a07986f1 Mon Sep 17 00:00:00 2001 From: zethfoxster Date: Sat, 9 Jul 2016 20:21:40 -0400 Subject: [PATCH 3/3] added isochron and spell binder --- projects/mtg/bin/Res/sets/primitives/mtg.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 508697533..2a7fee682 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -54596,6 +54596,14 @@ power=4 toughness=8 [/card] [card] +name=Isochron Scepter +auto=may imprint notatarget(instant[manacost<=2]|myhand) +auto={2}{t}:activate castcard(copied noevent named!:imprintedcard:!) +text=Imprint — When Isochron Scepter enters the battlefield, you may exile an instant card with converted mana cost 2 or less from your hand. -- {2}, {T}: You may copy the exiled card. If you do, you may cast the copy without paying its mana cost. +mana={2} +type=Artifact +[/card] +[card] name=Isolated Chapel auto=aslongas(plains,swamp|myBattlefield) tap(noevent) <1 oneshot auto={T}:Add{W} @@ -102430,6 +102438,16 @@ power=2 toughness=2 [/card] [card] +name=Spellbinder +auto={4}:equip +auto=may imprint notatarget(instant|myhand) +auto=@combatdamaged(player) from(mytgt):activate castcard(copied noevent named!:imprintedcard:!) +text=Imprint — When Spellbinder enters the battlefield, you may exile an instant card from your hand. -- Whenever equipped creature deals combat damage to a player, you may copy the exiled card. If you do, you may cast the copy without paying its mana cost. -- Equip {4} +mana={3} +type=Artifact +subtype=Equipment +[/card] +[card] name=Spell Blast target=*[manacost=prex]|stack auto=fizzle