- "Return to Its Master" should now correctly negate Ring text for the duration of the extra skirmish.

This commit is contained in:
marcins78@gmail.com
2012-01-01 16:23:52 +00:00
parent e90dad8f3d
commit aa6fc59831
4 changed files with 28 additions and 6 deletions

View File

@@ -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<? extends RequiredTriggerAction> 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));
}
});
}

View File

@@ -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()));

View File

@@ -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);
}

View File

@@ -1,6 +1,7 @@
<pre style="font-size:80%">
<b>1 Jan. 2012</b>
- "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.
<b>29 Dec. 2011</b>
- "Till Durin Wakes Again" now allows to heal as many dwarves as you want, rather than just one.