From 39dd7b1c8b3fe8613db0bcf95acb4723ebc6029e Mon Sep 17 00:00:00 2001 From: Agetian Date: Fri, 19 Jun 2015 06:04:59 +0000 Subject: [PATCH] - Fixed Stolen Goods and Spelljack. - Note that there is a global issue with the "May be played by X [without paying its mana cost]" hidden keywords. These keywords appear to do nothing anymore (all the restriction checks fail and they do not appear hooked to the SA play code in any meaningful way). - Therefore, any cards using those KWs will not work. If anybody knows how to fix/improve this, your input is welcome. --- forge-gui/res/cardsfolder/s/spelljack.txt | 4 ++-- forge-gui/res/cardsfolder/s/stolen_goods.txt | 12 +++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/forge-gui/res/cardsfolder/s/spelljack.txt b/forge-gui/res/cardsfolder/s/spelljack.txt index 3c6c87c4a09..c410a271264 100644 --- a/forge-gui/res/cardsfolder/s/spelljack.txt +++ b/forge-gui/res/cardsfolder/s/spelljack.txt @@ -3,8 +3,8 @@ ManaCost:3 U U U Types:Instant A:SP$ Counter | Cost$ 3 U U U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | RememberCountered$ True | ForgetOtherTargets$ True | Destination$ Exile | SubAbility$ DBEffect | SpellDescription$ Counter target spell. If that spell is countered this way, exile it instead of putting it into its owner's graveyard. You may play it without paying its mana cost for as long as it remains exiled. (If it has X in its mana cost, X is 0.) SVar:DBEffect:DB$ Effect | Name$ Spelljack Effect | RememberObjects$ Remembered | StaticAbilities$ PlayOpp,PlayYou | Duration$ Permanent | Triggers$ TrigCleanup | SVars$ DBCleanup | References$ PlayOpp,PlayYou,TrigCleanup,DBCleanup -SVar:PlayOpp:Mode$ Continuous | EffectZone$ Command | Affected$ Card.IsRemembered+OppOwn | AffectedZone$ Exile | AddHiddenKeyword$ May be played by your opponent without paying its mana cost | Description$ You may play cards exiled with Spelljack. -SVar:PlayYou:Mode$ Continuous | EffectZone$ Command | Affected$ Card.IsRemembered+YouOwn | AffectedZone$ Exile | AddHiddenKeyword$ May be played without paying its mana cost +SVar:PlayOpp:Mode$ Continuous | MayPlay$ True | MayPlayWithoutManaCost$ True | EffectZone$ Command | Affected$ Card.IsRemembered+OppOwn | AffectedZone$ Exile | AddHiddenKeyword$ May be played by your opponent without paying its mana cost | Description$ You may play cards exiled with Spelljack. +SVar:PlayYou:Mode$ Continuous | MayPlay$ True | MayPlayWithoutManaCost$ True | EffectZone$ Command | Affected$ Card.IsRemembered+YouOwn | AffectedZone$ Exile | AddHiddenKeyword$ May be played without paying its mana cost SVar:TrigCleanup:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Exile | Destination$ Any | TriggerZones$ Command | Execute$ DBCleanup | Static$ True SVar:DBCleanup:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile SVar:Picture:http://www.wizards.com/global/images/magic/general/spelljack.jpg diff --git a/forge-gui/res/cardsfolder/s/stolen_goods.txt b/forge-gui/res/cardsfolder/s/stolen_goods.txt index 962b14a5829..92ed2e16fd8 100644 --- a/forge-gui/res/cardsfolder/s/stolen_goods.txt +++ b/forge-gui/res/cardsfolder/s/stolen_goods.txt @@ -1,8 +1,14 @@ Name:Stolen Goods ManaCost:3 U Types:Sorcery -A:SP$ DigUntil | Cost$ 3 U | ValidTgts$ Opponent | Valid$ Card.nonLand | ValidDescription$ nonland | FoundDestination$ Exile | RevealedDestination$ Exile | RememberFound$ True | SubAbility$ DBPump | SpellDescription$ Target opponent exiles cards from the top of his or her library until he or she exiles a nonland card. Until end of turn, you may cast that card without paying its mana cost. -SVar:DBPump:DB$ Pump | Defined$ Remembered | KW$ May be played by your opponent without paying its mana cost | PumpZone$ Exile | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +A:SP$ DigUntil | Cost$ 3 U | ValidTgts$ Opponent | Valid$ Card.nonLand | ValidDescription$ nonland | FoundDestination$ Exile | RevealedDestination$ Exile | RememberFound$ True | SubAbility$ DBEffect | SpellDescription$ Target opponent exiles cards from the top of his or her library until he or she exiles a nonland card. Until end of turn, you may cast that card without paying its mana cost. +SVar:DBEffect:DB$ Effect | Name$ Stolen Goods Effect | StaticAbilities$ StolenGoodsPlay | SVars$ DBCleanup | RememberObjects$ Remembered | Permanent$ True | SubAbility$ DBCleanup +SVar:StolenGoodsPlay:Mode$ Continuous | MayPlay$ True | MayPlayWithoutManaCost$ True | EffectZone$ Command | Affected$ Card.IsRemembered+OppOwn | AffectedZone$ Exile | Description$ Until end of turn, you may cast this card without paying its mana cost. + +# FIXME: This card used to work using a keyword (see below), but this keyword does not work anymore and does nothing (spell ability restriction checks fail). +# SVar:DBPump:DB$ Pump | Defined$ Remembered | KW$ May be played by your opponent without paying its mana cost | PumpZone$ Exile | SubAbility$ DBCleanup + +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBCleanupEffect +SVar:DBCleanupEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile SVar:Picture:http://www.wizards.com/global/images/magic/general/stolen_goods.jpg Oracle:Target opponent exiles cards from the top of his or her library until he or she exiles a nonland card. Until end of turn, you may cast that card without paying its mana cost.