From aa6fc598311a189578e416c7ba825ce267ae3f55 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Sun, 1 Jan 2012 16:23:52 +0000 Subject: [PATCH] - "Return to Its Master" should now correctly negate Ring text for the duration of the extra skirmish. --- .../lotro/cards/set1/wraith/Card1_224.java | 19 +++++++++++++++++-- .../timing/actions/SkirmishPhaseAction.java | 10 ++++++++-- .../turn/general/StartOfPhaseGameProcess.java | 4 ++-- .../src/main/webapp/includes/changeLog.html | 1 + 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_224.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_224.java index 78c4441fe..034d0f03c 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_224.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_224.java @@ -4,15 +4,18 @@ import com.gempukku.lotro.cards.AbstractResponseOldEvent; import com.gempukku.lotro.cards.TriggerConditions; import com.gempukku.lotro.cards.actions.PlayEventAction; import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseModifierEffect; +import com.gempukku.lotro.cards.effects.AddUntilStartOfPhaseActionProxyEffect; import com.gempukku.lotro.cards.effects.choose.ChooseAndAssignMinionToCompanionEffect; import com.gempukku.lotro.common.Culture; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.common.Race; import com.gempukku.lotro.common.Side; import com.gempukku.lotro.filters.Filters; +import com.gempukku.lotro.game.AbstractActionProxy; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.Assignment; import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.actions.RequiredTriggerAction; import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; import com.gempukku.lotro.logic.modifiers.ModifierFlag; import com.gempukku.lotro.logic.modifiers.SpecialFlagModifier; @@ -60,8 +63,20 @@ public class Card1_224 extends AbstractResponseOldEvent { action.appendEffect( new ChooseAndAssignMinionToCompanionEffect(action, playerId, ringBearer, Race.NAZGUL)); action.appendEffect( - new AddUntilEndOfPhaseModifierEffect( - new SpecialFlagModifier(self, ModifierFlag.RING_TEXT_INACTIVE), Phase.SKIRMISH)); + new AddUntilStartOfPhaseActionProxyEffect( + new AbstractActionProxy() { + @Override + public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult) { + if (TriggerConditions.startOfPhase(game, effectResult, Phase.SKIRMISH)) { + RequiredTriggerAction action = new RequiredTriggerAction(self); + action.appendEffect( + new AddUntilEndOfPhaseModifierEffect( + new SpecialFlagModifier(self, ModifierFlag.RING_TEXT_INACTIVE), Phase.SKIRMISH)); + return Collections.singletonList(action); + } + return null; + } + }, Phase.SKIRMISH)); } }); } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/actions/SkirmishPhaseAction.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/actions/SkirmishPhaseAction.java index 312dd99cd..2d71f1736 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/actions/SkirmishPhaseAction.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/actions/SkirmishPhaseAction.java @@ -24,12 +24,18 @@ public class SkirmishPhaseAction extends SystemQueueAction { protected void doPlayEffect(LotroGame game) { game.getGameState().startSkirmish(fellowshipCharacter, shadowCharacters); game.getGameState().setCurrentPhase(Phase.SKIRMISH); - ((ModifiersLogic) game.getModifiersEnvironment()).removeStartOfPhase(Phase.SKIRMISH); - ((DefaultActionsEnvironment) game.getActionsEnvironment()).removeStartOfPhaseActionProxies(Phase.SKIRMISH); } }); appendEffect( new TriggeringResultEffect(null, new StartOfPhaseResult(Phase.SKIRMISH), "Start of skirmish phase")); + appendEffect( + new UnrespondableEffect() { + @Override + protected void doPlayEffect(LotroGame game) { + ((ModifiersLogic) game.getModifiersEnvironment()).removeStartOfPhase(Phase.SKIRMISH); + ((DefaultActionsEnvironment) game.getActionsEnvironment()).removeStartOfPhaseActionProxies(Phase.SKIRMISH); + } + }); appendEffect( new StackActionEffect( new SkirmishActionProcedureAction())); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/turn/general/StartOfPhaseGameProcess.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/turn/general/StartOfPhaseGameProcess.java index a18a88536..ff9a6f10a 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/turn/general/StartOfPhaseGameProcess.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/turn/general/StartOfPhaseGameProcess.java @@ -35,6 +35,8 @@ public class StartOfPhaseGameProcess implements GameProcess { return "Start of " + _phase + " phase"; } }; + action.appendEffect( + new TriggeringResultEffect(null, new StartOfPhaseResult(_phase, _playerId), "Start of " + _phase + " phase")); action.appendEffect( new AbstractSuccessfulEffect() { @Override @@ -53,8 +55,6 @@ public class StartOfPhaseGameProcess implements GameProcess { ((DefaultActionsEnvironment) game.getActionsEnvironment()).removeStartOfPhaseActionProxies(_phase); } }); - action.appendEffect( - new TriggeringResultEffect(null, new StartOfPhaseResult(_phase, _playerId), "Start of " + _phase + " phase")); game.getActionsEnvironment().addActionToStack(action); } diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html b/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html index 7af189a24..1dfa4f26f 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html +++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html @@ -1,6 +1,7 @@
 1 Jan. 2012
 - "Southron Archer Legion" should now use the +4 limit for the entire phase.
+- "Return to Its Master" should now correctly negate Ring text for the duration of the extra skirmish.
 
 29 Dec. 2011
 - "Till Durin Wakes Again" now allows to heal as many dwarves as you want, rather than just one.