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());
|
game.getActionsEnvironment().addActionToStack(new SkirmishActionProcedureAction());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
appendEffect(
|
||||||
|
new TriggeringResultEffect(null, new SkirmishAboutToEndResult(fellowshipCharacter, shadowCharacters), "Skirmish about to end"));
|
||||||
appendEffect(
|
appendEffect(
|
||||||
new UnrespondableEffect() {
|
new UnrespondableEffect() {
|
||||||
@Override
|
@Override
|
||||||
@@ -51,8 +53,7 @@ public class SkirmishPhaseAction extends SystemQueueAction {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
appendEffect(
|
|
||||||
new TriggeringResultEffect(null, new SkirmishAboutToEndResult(fellowshipCharacter, shadowCharacters), "Skirmish about to end"));
|
|
||||||
appendEffect(
|
appendEffect(
|
||||||
new TriggeringResultEffect(null, new EndOfPhaseResult(Phase.SKIRMISH), "End of skirmish phase"));
|
new TriggeringResultEffect(null, new EndOfPhaseResult(Phase.SKIRMISH), "End of skirmish phase"));
|
||||||
appendEffect(
|
appendEffect(
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ public class Card_08_113_Tests
|
|||||||
{{
|
{{
|
||||||
put("sting", "8_113");
|
put("sting", "8_113");
|
||||||
put("shelob", "8_25");
|
put("shelob", "8_25");
|
||||||
|
put("sauron", "9_48");
|
||||||
}},
|
}},
|
||||||
GenericCardTestHelper.FellowshipSites,
|
GenericCardTestHelper.FellowshipSites,
|
||||||
GenericCardTestHelper.FOTRFrodo,
|
GenericCardTestHelper.FOTRFrodo,
|
||||||
@@ -85,13 +86,43 @@ public class Card_08_113_Tests
|
|||||||
scn.FreepsResolveSkirmish(frodo);
|
scn.FreepsResolveSkirmish(frodo);
|
||||||
scn.PassCurrentPhaseActions();
|
scn.PassCurrentPhaseActions();
|
||||||
|
|
||||||
scn.FreepsDeclineOptionalTrigger(); //Ring converting burdens
|
|
||||||
assertTrue(scn.FreepsHasOptionalTriggerAvailable());
|
assertTrue(scn.FreepsHasOptionalTriggerAvailable());
|
||||||
|
|
||||||
assertEquals(0, scn.GetThreats());
|
assertEquals(0, scn.GetThreats());
|
||||||
assertEquals(Zone.SHADOW_CHARACTERS, shelob.getZone());
|
assertEquals(Zone.SHADOW_CHARACTERS, shelob.getZone());
|
||||||
scn.FreepsAcceptOptionalTrigger();
|
scn.FreepsAcceptOptionalTrigger();
|
||||||
assertEquals(1, scn.GetThreats());
|
assertEquals(1, scn.GetThreats());
|
||||||
assertEquals(Zone.DISCARD, shelob.getZone());
|
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