From c8f31282fb0ad95d15a11525cbbbaae980627f31 Mon Sep 17 00:00:00 2001 From: Hanmac Date: Fri, 22 Jul 2016 17:32:04 +0000 Subject: [PATCH] SpellAbilityEffect: extend registerDelayedTrigger to be able to use end of combat. --- .../game/ability/SpellAbilityEffect.java | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java b/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java index ec8492850cf..acf7cbe4019 100644 --- a/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java +++ b/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java @@ -195,18 +195,30 @@ public abstract class SpellAbilityEffect { protected static void registerDelayedTrigger(final SpellAbility sa, String location, final List crds) { boolean your = location.startsWith("Your"); + boolean combat = location.endsWith("Combat"); + if (your) { location = location.substring("Your".length()); } + if (combat) { + location = location.substring(0, location.length() - "Combat".length()); + } StringBuilder delTrig = new StringBuilder(); - delTrig.append("Mode$ Phase | Phase$ End Of Turn "); + delTrig.append("Mode$ Phase | Phase$ "); + delTrig.append(combat ? "EndCombat " : "End Of Turn "); + if (your) { delTrig.append("| ValidPlayer$ You "); } - delTrig.append("| TriggerDescription$ " + location + " " + crds + " at the beginning of "); - delTrig.append(your ? "your" : "the"); - delTrig.append(" next end step."); + delTrig.append("| TriggerDescription$ " + location + " " + crds + " at the "); + if (combat) { + delTrig.append("end of combat."); + } else { + delTrig.append("beginning of "); + delTrig.append(your ? "your" : "the"); + delTrig.append(" next end step."); + } final Trigger trig = TriggerHandler.parseTrigger(delTrig.toString(), sa.getHostCard(), true); for (final Card c : crds) { trig.addRemembered(c);