From c2b871b668e2c9abf26fd1697c8c40e3deb975d5 Mon Sep 17 00:00:00 2001 From: Sloth Date: Thu, 19 Jan 2012 09:58:23 +0000 Subject: [PATCH] - Removed the unnecessary code from the matchesValid function. --- res/cardsfolder/c/curse_of_oblivion.txt | 4 +-- res/cardsfolder/c/curse_of_stalked_prey.txt | 22 +++++++-------- .../c/curse_of_the_bloody_tome.txt | 22 +++++++-------- .../c/curse_of_the_pierced_heart.txt | 22 +++++++-------- src/main/java/forge/AllZoneUtil.java | 26 ++--------------- .../forge/card/TriggerReplacementBase.java | 28 ++----------------- 6 files changed, 40 insertions(+), 84 deletions(-) diff --git a/res/cardsfolder/c/curse_of_oblivion.txt b/res/cardsfolder/c/curse_of_oblivion.txt index 890570cc81a..320684c794e 100644 --- a/res/cardsfolder/c/curse_of_oblivion.txt +++ b/res/cardsfolder/c/curse_of_oblivion.txt @@ -3,8 +3,8 @@ ManaCost:3 B Types:Enchantment Aura Curse Text:Enchant player A:SP$ Attach | Cost$ 3 B | ValidTgts$ Player | AILogic$ Curse -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ EnchantedPlayer | TriggerZones$ Battlefield | Execute$ TrigExile | TriggerDescription$ At the beginning of enchanted player's upkeep, that player exiles two cards from his or her graveyard. -SVar:TrigExile:AB$ ChangeZone | Cost$ 0 | DefinedPlayer$ EnchantedPlayer | Origin$ Graveyard | Destination$ Exile | ChangeType$ Card | ChangeNum$ 2 | Hidden$ True | Mandatory$ True +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player.EnchantedBy | TriggerZones$ Battlefield | Execute$ TrigExile | TriggerDescription$ At the beginning of enchanted player's upkeep, that player exiles two cards from his or her graveyard. +SVar:TrigExile:AB$ ChangeZone | Cost$ 0 | DefinedPlayer$ Player.EnchantedBy | Origin$ Graveyard | Destination$ Exile | ChangeType$ Card | ChangeNum$ 2 | Hidden$ True | Mandatory$ True SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/curse_of_oblivion.jpg SetInfo:ISD|Common|http://magiccards.info/scans/en/isd/95.jpg diff --git a/res/cardsfolder/c/curse_of_stalked_prey.txt b/res/cardsfolder/c/curse_of_stalked_prey.txt index e25d8955002..54b83de4915 100644 --- a/res/cardsfolder/c/curse_of_stalked_prey.txt +++ b/res/cardsfolder/c/curse_of_stalked_prey.txt @@ -1,12 +1,12 @@ -Name:Curse of Stalked Prey -ManaCost:1 R -Types:Enchantment Aura Curse -Text:Enchant player -A:SP$ Attach | Cost$ 1 R| ValidTgts$ Player | AILogic$ Curse -T:Mode$ DamageDone | ValidSource$ Creature | ValidTarget$ EnchantedPlayer | TriggerZones$ Battlefield | CombatDamage$ True | Execute$ TrigPutCounter | TriggerDescription$ Whenever a creature deals combat damage to enchanted player, put a +1/+1 counter on that creature. -SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | Defined$ TriggeredSource | CounterType$ P1P1 | CounterNum$ 1 -SVar:Rarity:Rare -SVar:Picture:http://www.wizards.com/global/images/magic/general/curse_of_stalked_prey.jpg -SetInfo:ISD|Rare|http://magiccards.info/scans/en/isd/136.jpg -Oracle:Enchant player\nWhenever a creature deals combat damage to enchanted player, put a +1/+1 counter on that creature. +Name:Curse of Stalked Prey +ManaCost:1 R +Types:Enchantment Aura Curse +Text:Enchant player +A:SP$ Attach | Cost$ 1 R| ValidTgts$ Player | AILogic$ Curse +T:Mode$ DamageDone | ValidSource$ Creature | ValidTarget$ Player.EnchantedBy | TriggerZones$ Battlefield | CombatDamage$ True | Execute$ TrigPutCounter | TriggerDescription$ Whenever a creature deals combat damage to enchanted player, put a +1/+1 counter on that creature. +SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | Defined$ TriggeredSource | CounterType$ P1P1 | CounterNum$ 1 +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/curse_of_stalked_prey.jpg +SetInfo:ISD|Rare|http://magiccards.info/scans/en/isd/136.jpg +Oracle:Enchant player\nWhenever a creature deals combat damage to enchanted player, put a +1/+1 counter on that creature. End \ No newline at end of file diff --git a/res/cardsfolder/c/curse_of_the_bloody_tome.txt b/res/cardsfolder/c/curse_of_the_bloody_tome.txt index ecb973c6840..1fc4351d887 100644 --- a/res/cardsfolder/c/curse_of_the_bloody_tome.txt +++ b/res/cardsfolder/c/curse_of_the_bloody_tome.txt @@ -1,12 +1,12 @@ -Name:Curse of the Bloody Tome -ManaCost:2 U -Types:Enchantment Aura Curse -Text:Enchant player -A:SP$ Attach | Cost$ 2 U| ValidTgts$ Player | AILogic$ Curse -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ EnchantedPlayer | TriggerZones$ Battlefield | Execute$ TrigMill | TriggerDescription$ At the beginning of enchanted player's upkeep, that player puts the top two cards of his or her library into his or her graveyard. -SVar:TrigMill:AB$ Mill | Cost$ 0 | Defined$ EnchantedPlayer | NumCards$ 2 -SVar:Rarity:Uncommon -SVar:Picture:http://www.wizards.com/global/images/magic/general/curse_of_the_bloody_tome.jpg -SetInfo:ISD|Common|http://magiccards.info/scans/en/isd/50.jpg -Oracle:Enchant player\nAt the beginning of enchanted player's upkeep, that player puts the top two cards of his or her library into his or her graveyard. +Name:Curse of the Bloody Tome +ManaCost:2 U +Types:Enchantment Aura Curse +Text:Enchant player +A:SP$ Attach | Cost$ 2 U| ValidTgts$ Player | AILogic$ Curse +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player.EnchantedBy | TriggerZones$ Battlefield | Execute$ TrigMill | TriggerDescription$ At the beginning of enchanted player's upkeep, that player puts the top two cards of his or her library into his or her graveyard. +SVar:TrigMill:AB$ Mill | Cost$ 0 | Defined$ Player.EnchantedBy | NumCards$ 2 +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/curse_of_the_bloody_tome.jpg +SetInfo:ISD|Common|http://magiccards.info/scans/en/isd/50.jpg +Oracle:Enchant player\nAt the beginning of enchanted player's upkeep, that player puts the top two cards of his or her library into his or her graveyard. End \ No newline at end of file diff --git a/res/cardsfolder/c/curse_of_the_pierced_heart.txt b/res/cardsfolder/c/curse_of_the_pierced_heart.txt index 468b6201466..9bc8f50c009 100644 --- a/res/cardsfolder/c/curse_of_the_pierced_heart.txt +++ b/res/cardsfolder/c/curse_of_the_pierced_heart.txt @@ -1,12 +1,12 @@ -Name:Curse of the Pierced Heart -ManaCost:1 R -Types:Enchantment Aura Curse -Text:Enchant player -A:SP$ Attach | Cost$ 1 R | ValidTgts$ Player | AILogic$ Curse -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ EnchantedPlayer | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of enchanted player's upkeep, CARDNAME deals 1 damage to that player. -SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | Defined$ EnchantedPlayer | NumDmg$ 1 -SVar:Rarity:Common -SVar:Picture:http://www.wizards.com/global/images/magic/general/curse_of_the_pierced_heart.jpg -SetInfo:ISD|Common|http://magiccards.info/scans/en/isd/138.jpg -Oracle:Enchant player\nAt the beginning of enchanted player's upkeep, Curse of the Pierced Heart deals 1 damage to that player. +Name:Curse of the Pierced Heart +ManaCost:1 R +Types:Enchantment Aura Curse +Text:Enchant player +A:SP$ Attach | Cost$ 1 R | ValidTgts$ Player | AILogic$ Curse +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player.EnchantedBy | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of enchanted player's upkeep, CARDNAME deals 1 damage to that player. +SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | Defined$ Player.EnchantedBy | NumDmg$ 1 +SVar:Rarity:Common +SVar:Picture:http://www.wizards.com/global/images/magic/general/curse_of_the_pierced_heart.jpg +SetInfo:ISD|Common|http://magiccards.info/scans/en/isd/138.jpg +Oracle:Enchant player\nAt the beginning of enchanted player's upkeep, Curse of the Pierced Heart deals 1 damage to that player. End \ No newline at end of file diff --git a/src/main/java/forge/AllZoneUtil.java b/src/main/java/forge/AllZoneUtil.java index 79bcd636724..c321c60f2ce 100644 --- a/src/main/java/forge/AllZoneUtil.java +++ b/src/main/java/forge/AllZoneUtil.java @@ -412,33 +412,11 @@ public abstract class AllZoneUtil { * @return a boolean. */ public static boolean matchesValid(final Object o, final String[] valids, final Card srcCard) { - if (o instanceof Card) { - final Card c = (Card) o; + if (o instanceof GameEntity) { + final GameEntity c = (GameEntity) o; return c.isValid(valids, srcCard.getController(), srcCard); } - if (o instanceof Player) { - for (final String v : valids) { - if (v.equalsIgnoreCase("Player") || v.equalsIgnoreCase("Each")) { - return true; - } - if (v.equalsIgnoreCase("Opponent")) { - if (o.equals(srcCard.getController().getOpponent())) { - return true; - } - } - if (v.equalsIgnoreCase("You")) { - return o.equals(srcCard.getController()); - } - if (v.equalsIgnoreCase("EnchantedController")) { - return ((Player) o).isPlayer(srcCard.getEnchantingCard().getController()); - } - if (v.equalsIgnoreCase("EnchantedPlayer")) { - return o.equals(srcCard.getEnchanting()); - } - } - } - return false; } diff --git a/src/main/java/forge/card/TriggerReplacementBase.java b/src/main/java/forge/card/TriggerReplacementBase.java index 2ecc451814d..a31114a9e02 100644 --- a/src/main/java/forge/card/TriggerReplacementBase.java +++ b/src/main/java/forge/card/TriggerReplacementBase.java @@ -1,7 +1,7 @@ package forge.card; import forge.Card; -import forge.Player; +import forge.GameEntity; /** * Base class for Triggers and ReplacementEffects. @@ -23,33 +23,11 @@ public abstract class TriggerReplacementBase { * @return a boolean. */ public static boolean matchesValid(final Object o, final String[] valids, final Card srcCard) { - if (o instanceof Card) { - final Card c = (Card) o; + if (o instanceof GameEntity) { + final GameEntity c = (GameEntity) o; return c.isValid(valids, srcCard.getController(), srcCard); } - if (o instanceof Player) { - for (final String v : valids) { - if (v.equalsIgnoreCase("Player") || v.equalsIgnoreCase("Each")) { - return true; - } - if (v.equalsIgnoreCase("Opponent")) { - if (o.equals(srcCard.getController().getOpponent())) { - return true; - } - } - if (v.equalsIgnoreCase("You")) { - return o.equals(srcCard.getController()); - } - if (v.equalsIgnoreCase("EnchantedController")) { - return ((Player) o).isPlayer(srcCard.getEnchantingCard().getController()); - } - if (v.equalsIgnoreCase("EnchantedPlayer")) { - return o.equals(srcCard.getEnchanting()); - } - } - } - return false; }