From e6094843f4eecd88875ebff85ff60c2c46ef070e Mon Sep 17 00:00:00 2001 From: ArsenalNut Date: Mon, 19 Sep 2011 02:20:34 +0000 Subject: [PATCH] Added support for EnchantedPlayer to triggers and defined. Added EnchantedPlayerCtrl as a property test for cards --- src/main/java/forge/Card.java | 8 ++++++++ .../java/forge/card/abilityFactory/AbilityFactory.java | 7 +++++++ src/main/java/forge/card/trigger/Trigger.java | 3 +++ 3 files changed, 18 insertions(+) diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index faf12086f7f..2e9620f2de0 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -4942,6 +4942,14 @@ public class Card extends GameEntity implements Comparable { if (!getController().isPlayer(sourceController)) return false; } else if (Property.startsWith("YouDontCtrl")) { if (getController().isPlayer(sourceController)) return false; + } else if (Property.startsWith("EnchantedPlayerCtrl")) { + Object o = source.getEnchanting(); + if (o instanceof Player) { + if (!getController().isPlayer((Player) o)) return false; + } + else { // source not enchanting a player + return false; + } } else if (Property.startsWith("YouOwn")) { if (!getOwner().isPlayer(sourceController)) return false; } else if (Property.startsWith("YouDontOwn")) { diff --git a/src/main/java/forge/card/abilityFactory/AbilityFactory.java b/src/main/java/forge/card/abilityFactory/AbilityFactory.java index af25a6e34a0..93fa331d752 100644 --- a/src/main/java/forge/card/abilityFactory/AbilityFactory.java +++ b/src/main/java/forge/card/abilityFactory/AbilityFactory.java @@ -1515,6 +1515,13 @@ public class AbilityFactory { if (!players.contains(p)) { players.add(p); } + } else if (defined.equals("EnchantedPlayer")) { + Object o = sa.getSourceCard().getEnchanting(); + if (o instanceof Player) { + if (!players.contains((Player) o)) { + players.add((Player) o); + } + } } else if (defined.equals("AttackingPlayer")) { Player p = AllZone.getCombat().getAttackingPlayer(); if (!players.contains(p)) { diff --git a/src/main/java/forge/card/trigger/Trigger.java b/src/main/java/forge/card/trigger/Trigger.java index f55cdbdb3a7..692ec6bff62 100644 --- a/src/main/java/forge/card/trigger/Trigger.java +++ b/src/main/java/forge/card/trigger/Trigger.java @@ -466,6 +466,9 @@ public abstract class Trigger { if (v.equalsIgnoreCase("EnchantedController")) { return ((Player) o).isPlayer(srcCard.getEnchantingCard().getController()); } + if (v.equalsIgnoreCase("EnchantedPlayer")) { + return o.equals(srcCard.getEnchanting()); + } } }