From 317e9d3a4f94fac8305b6dfb7a9a97892d9ad70e Mon Sep 17 00:00:00 2001 From: Hanmac Date: Tue, 23 Aug 2016 16:54:21 +0000 Subject: [PATCH] AbilityUtils: add TriggeredPlayers to work with a List of Player objects --- .../main/java/forge/game/ability/AbilityUtils.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java index 5ff69077782..6d0e47063fd 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java @@ -580,16 +580,20 @@ public class AbilityUtils { } return CardFactoryUtil.handlePaid(tgtList, calcX[1], card) * multiplier; } + if (calcX[0].startsWith("TriggeredPlayers") || calcX[0].equals("TriggeredCardController")) { + String key = calcX[0]; + if (calcX[0].startsWith("TriggeredPlayers")) { + key = "Triggered" + key.substring(16); + } + final List players = new ArrayList(); + Iterables.addAll(players, getDefinedPlayers(card, key, sa)); + return CardFactoryUtil.playerXCount(players, calcX[1], card) * multiplier; + } if (calcX[0].startsWith("TriggeredPlayer") || calcX[0].startsWith("TriggeredTarget")) { final SpellAbility root = sa.getRootAbility(); Object o = root.getTriggeringObject(calcX[0].substring(9)); return o instanceof Player ? CardFactoryUtil.playerXProperty((Player) o, calcX[1], card) * multiplier : 0; } - if (calcX[0].equals("TriggeredCardController")) { - final List players = new ArrayList(); - Iterables.addAll(players, getDefinedPlayers(card, "TriggeredCardController", sa)); - return CardFactoryUtil.playerXCount(players, calcX[1], card) * multiplier; - } if (calcX[0].equals("TriggeredSpellAbility")) { final SpellAbility root = sa.getRootAbility(); SpellAbility sat = (SpellAbility) root.getTriggeringObject("SpellAbility");