Moved the skirmish about to end trigger to before skirmish resolution, which should fix certain skirmish responses getting swalled by overwhelm results. As a result, fixed Sting, Bane of the Eight Legs (and others) not triggering during an overwhelm.
This commit is contained in:
@@ -41,6 +41,8 @@ public class SkirmishPhaseAction extends SystemQueueAction {
|
||||
game.getActionsEnvironment().addActionToStack(new SkirmishActionProcedureAction());
|
||||
}
|
||||
});
|
||||
appendEffect(
|
||||
new TriggeringResultEffect(null, new SkirmishAboutToEndResult(fellowshipCharacter, shadowCharacters), "Skirmish about to end"));
|
||||
appendEffect(
|
||||
new UnrespondableEffect() {
|
||||
@Override
|
||||
@@ -51,8 +53,7 @@ public class SkirmishPhaseAction extends SystemQueueAction {
|
||||
}
|
||||
}
|
||||
});
|
||||
appendEffect(
|
||||
new TriggeringResultEffect(null, new SkirmishAboutToEndResult(fellowshipCharacter, shadowCharacters), "Skirmish about to end"));
|
||||
|
||||
appendEffect(
|
||||
new TriggeringResultEffect(null, new EndOfPhaseResult(Phase.SKIRMISH), "End of skirmish phase"));
|
||||
appendEffect(
|
||||
|
||||
@@ -19,6 +19,7 @@ public class Card_08_113_Tests
|
||||
{{
|
||||
put("sting", "8_113");
|
||||
put("shelob", "8_25");
|
||||
put("sauron", "9_48");
|
||||
}},
|
||||
GenericCardTestHelper.FellowshipSites,
|
||||
GenericCardTestHelper.FOTRFrodo,
|
||||
@@ -85,13 +86,43 @@ public class Card_08_113_Tests
|
||||
scn.FreepsResolveSkirmish(frodo);
|
||||
scn.PassCurrentPhaseActions();
|
||||
|
||||
scn.FreepsDeclineOptionalTrigger(); //Ring converting burdens
|
||||
assertTrue(scn.FreepsHasOptionalTriggerAvailable());
|
||||
|
||||
assertEquals(0, scn.GetThreats());
|
||||
assertEquals(Zone.SHADOW_CHARACTERS, shelob.getZone());
|
||||
scn.FreepsAcceptOptionalTrigger();
|
||||
assertEquals(1, scn.GetThreats());
|
||||
assertEquals(Zone.DISCARD, shelob.getZone());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void StingTriggersOnOverwhelm() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
var scn = GetScenario();
|
||||
|
||||
var frodo = scn.GetRingBearer();
|
||||
var sting = scn.GetFreepsCard("sting");
|
||||
scn.FreepsAttachCardsTo(frodo, sting);
|
||||
|
||||
var sauron = scn.GetShadowCard("sauron");
|
||||
scn.ShadowMoveCharToTable(sauron);
|
||||
|
||||
scn.StartGame();
|
||||
scn.SkipToAssignments();
|
||||
scn.FreepsDeclineAssignments();
|
||||
scn.ShadowDeclineAssignments();
|
||||
|
||||
//Fierce assignment
|
||||
scn.PassCurrentPhaseActions();
|
||||
scn.FreepsAssignToMinions(frodo, sauron);
|
||||
scn.FreepsResolveSkirmish(frodo);
|
||||
scn.PassCurrentPhaseActions();
|
||||
|
||||
assertTrue(scn.FreepsHasOptionalTriggerAvailable());
|
||||
|
||||
assertEquals(0, scn.GetThreats());
|
||||
assertEquals(Zone.SHADOW_CHARACTERS, sauron.getZone());
|
||||
scn.FreepsAcceptOptionalTrigger();
|
||||
assertEquals(1, scn.GetThreats());
|
||||
assertEquals(Zone.DISCARD, sauron.getZone());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user