From 74a281035d0d9598cb8962de1f737cbe1d08e7af Mon Sep 17 00:00:00 2001 From: Sloth Date: Mon, 3 Jun 2013 13:17:43 +0000 Subject: [PATCH] - Fixed Chain Lightning copies being cast (the spell is copied onto the stack). --- res/cardsfolder/c/chain_lightning.txt | 4 ++-- res/cardsfolder/c/chain_of_plasma.txt | 4 ++-- res/cardsfolder/c/chain_of_vapor.txt | 2 +- src/main/java/forge/card/ability/AbilityUtils.java | 2 ++ 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/res/cardsfolder/c/chain_lightning.txt b/res/cardsfolder/c/chain_lightning.txt index bdce8fb61b0..b5063c31b3b 100644 --- a/res/cardsfolder/c/chain_lightning.txt +++ b/res/cardsfolder/c/chain_lightning.txt @@ -2,8 +2,8 @@ Name:Chain Lightning ManaCost:R Types:Sorcery A:SP$ DealDamage | Cost$ R | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ 3 | SubAbility$ DBCopy1 | SpellDescription$ CARDNAME deals 3 damage to target creature or player. Then that player or that creature's controller may pay R R. If the player does, he or she may copy this spell and may choose a new target for that copy. -SVar:DBCopy1:DB$ Play | Defined$ Self | Controller$ TargetedController | WithoutManaCost$ True | CopyCard$ True | UnlessPayer$ TargetedController | UnlessCost$ R R | UnlessSwitched$ True | ConditionDefined$ Targeted | ConditionPresent$ Creature | ConditionCompare$ GE1 | SubAbility$ DBCopy2 | StackDescription$ None -SVar:DBCopy2:DB$ Play | Defined$ Self | Controller$ Targeted | WithoutManaCost$ True | CopyCard$ True | UnlessPayer$ Targeted | UnlessCost$ R R | UnlessSwitched$ True | ConditionDefined$ Targeted | ConditionPresent$ Creature | ConditionCompare$ EQ0 | StackDescription$ None +SVar:DBCopy1:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedController | UnlessPayer$ TargetedController | UnlessCost$ R R | UnlessSwitched$ True | ConditionDefined$ Targeted | ConditionPresent$ Creature | ConditionCompare$ GE1 | SubAbility$ DBCopy2 | StackDescription$ None +SVar:DBCopy2:DB$ CopySpellAbility | Defined$ Parent | Controller$ Targeted | UnlessPayer$ Targeted | UnlessCost$ R R | UnlessSwitched$ True | ConditionDefined$ Targeted | ConditionPresent$ Creature | ConditionCompare$ EQ0 | StackDescription$ None SVar:Picture:http://www.wizards.com/global/images/magic/general/chain_lightning.jpg Oracle:Chain Lightning deals 3 damage to target creature or player. Then that player or that creature's controller may pay {R}{R}. If the player does, he or she may copy this spell and may choose a new target for that copy. SetInfo:LEG Common diff --git a/res/cardsfolder/c/chain_of_plasma.txt b/res/cardsfolder/c/chain_of_plasma.txt index db8d2b70e01..fdcab4ab32a 100644 --- a/res/cardsfolder/c/chain_of_plasma.txt +++ b/res/cardsfolder/c/chain_of_plasma.txt @@ -2,8 +2,8 @@ Name:Chain of Plasma ManaCost:1 R Types:Instant A:SP$ DealDamage | Cost$ 1 R | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ 3 | SubAbility$ DBCopy1 | SpellDescription$ CARDNAME deals 3 damage to target creature or player. Then that player or that creature's controller may discard a card. If the player does, he or she may copy this spell and may choose a new target for that copy. -SVar:DBCopy1:DB$ Play | Defined$ Self | Controller$ TargetedController | WithoutManaCost$ True | CopyCard$ True | UnlessPayer$ TargetedController | UnlessCost$ Discard<1/Card> | UnlessSwitched$ True | ConditionDefined$ Targeted | ConditionPresent$ Creature | ConditionCompare$ GE1 | SubAbility$ DBCopy2 | StackDescription$ None -SVar:DBCopy2:DB$ Play | Defined$ Self | Controller$ Targeted | WithoutManaCost$ True | CopyCard$ True | UnlessPayer$ Targeted | UnlessCost$ Discard<1/Card> | UnlessSwitched$ True | ConditionDefined$ Targeted | ConditionPresent$ Creature | ConditionCompare$ EQ0 | StackDescription$ None +SVar:DBCopy1:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedController | UnlessPayer$ TargetedController | UnlessCost$ Discard<1/Card> | UnlessSwitched$ True | ConditionDefined$ Targeted | ConditionPresent$ Creature | ConditionCompare$ GE1 | SubAbility$ DBCopy2 | StackDescription$ None +SVar:DBCopy2:DB$ CopySpellAbility | Defined$ Parent | Controller$ Targeted | UnlessPayer$ Targeted | UnlessCost$ Discard<1/Card> | UnlessSwitched$ True | ConditionDefined$ Targeted | ConditionPresent$ Creature | ConditionCompare$ EQ0 | StackDescription$ None SVar:Picture:http://www.wizards.com/global/images/magic/general/chain_of_plasma.jpg Oracle:Chain of Plasma deals 3 damage to target creature or player. Then that player or that creature's controller may discard a card. If the player does, he or she may copy this spell and may choose a new target for that copy. SetInfo:ONS Uncommon \ No newline at end of file diff --git a/res/cardsfolder/c/chain_of_vapor.txt b/res/cardsfolder/c/chain_of_vapor.txt index 56a2de1c3c9..2e221bc01d5 100644 --- a/res/cardsfolder/c/chain_of_vapor.txt +++ b/res/cardsfolder/c/chain_of_vapor.txt @@ -2,7 +2,7 @@ Name:Chain of Vapor ManaCost:U Types:Instant A:SP$ ChangeZone | Cost$ U | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBCopy | StackDescription$ SpellDescription | SpellDescription$ Return target nonland permanent to its owner's hand. Then that permanent's controller may sacrifice a land. If the player does, he or she may copy this spell and may choose a new target for that copy. -SVar:DBCopy:DB$ Play | Defined$ Self | Controller$ TargetedController | WithoutManaCost$ True | CopyCard$ True | UnlessPayer$ TargetedController | UnlessCost$ Sac<1/Land> | UnlessSwitched$ True | StackDescription$ None +SVar:DBCopy:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedController | UnlessPayer$ TargetedController | UnlessCost$ Sac<1/Land> | UnlessSwitched$ True | StackDescription$ None SVar:Picture:http://www.wizards.com/global/images/magic/general/chain_of_vapor.jpg Oracle:Return target nonland permanent to its owner's hand. Then that permanent's controller may sacrifice a land. If the player does, he or she may copy this spell and may choose a new target for that copy. SetInfo:ONS Uncommon \ No newline at end of file diff --git a/src/main/java/forge/card/ability/AbilityUtils.java b/src/main/java/forge/card/ability/AbilityUtils.java index fff2e92e149..b9909891b77 100644 --- a/src/main/java/forge/card/ability/AbilityUtils.java +++ b/src/main/java/forge/card/ability/AbilityUtils.java @@ -953,6 +953,8 @@ public class AbilityUtils { // work if (defined.equals("Self")) { s = sa; + } else if (defined.equals("Parent")) { + s = sa.getRootAbility(); } else if (defined.equals("Targeted")) { final SpellAbility saTargeting = sa.getSATargetingSA(); if (saTargeting != null) {