Fixed Enheartened Foe not letting the player easily choose which winning Orc is getting fierce.

This commit is contained in:
Christian 'ketura' McCarty
2025-06-15 15:44:14 -05:00
parent 5485940212
commit a92647c1e4
2 changed files with 48 additions and 21 deletions

View File

@@ -416,14 +416,22 @@
trigger: { trigger: {
type: winsSkirmish type: winsSkirmish
filter: culture(sauron),orc filter: culture(sauron),orc
memorize: winner
} }
effect: { effect: [
{
type: ChooseActiveCards
count: 1
select: choose(culture(sauron),orc,InSkirmish)
memorize: chosenWinner
text: Choose a winning {Sauron} Orc to make fierce
}
{
type: addKeyword type: addKeyword
select: memory(winner) select: memory(chosenWinner)
keyword: fierce keyword: fierce
until: start(regroup) until: start(regroup)
} }
]
} }
gametext: <b>Response:</b> If a [sauron] Orc wins a skirmish, make that Orc <b>fierce</b> until the regroup phase. gametext: <b>Response:</b> If a [sauron] Orc wins a skirmish, make that Orc <b>fierce</b> until the regroup phase.
lore: "Orcs feed on their own success. The greater their exploits in battle, the greater their confidence grows." lore: "Orcs feed on their own success. The greater their exploits in battle, the greater their confidence grows."

View File

@@ -1,10 +1,7 @@
package com.gempukku.lotro.cards.official.set01; package com.gempukku.lotro.cards.official.set01;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.framework.VirtualTableScenario; import com.gempukku.lotro.framework.VirtualTableScenario;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Side;
import com.gempukku.lotro.common.Timeword;
import com.gempukku.lotro.game.CardNotFoundException; import com.gempukku.lotro.game.CardNotFoundException;
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException; import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
import org.junit.Test; import org.junit.Test;
@@ -20,8 +17,11 @@ public class Card_01_247_Tests
return new VirtualTableScenario( return new VirtualTableScenario(
new HashMap<>() new HashMap<>()
{{ {{
put("card", "1_247"); put("foe", "1_247");
// put other cards in here as needed for the test case put("soldier", "1_271");
put("band", "1_272");
put("sam", "1_310");
}}, }},
VirtualTableScenario.FellowshipSites, VirtualTableScenario.FellowshipSites,
VirtualTableScenario.FOTRFrodo, VirtualTableScenario.FOTRFrodo,
@@ -46,7 +46,7 @@ public class Card_01_247_Tests
var scn = GetScenario(); var scn = GetScenario();
var card = scn.GetFreepsCard("card"); var card = scn.GetFreepsCard("foe");
assertEquals("Enheartened Foe", card.getBlueprint().getTitle()); assertEquals("Enheartened Foe", card.getBlueprint().getTitle());
assertNull(card.getBlueprint().getSubtitle()); assertNull(card.getBlueprint().getSubtitle());
@@ -58,18 +58,37 @@ public class Card_01_247_Tests
assertEquals(0, card.getBlueprint().getTwilightCost()); assertEquals(0, card.getBlueprint().getTwilightCost());
} }
// Uncomment any @Test markers below once this is ready to be used @Test
//@Test public void EnheartenedFoePermitsSelectionOfWinningOrcInDefenderScenarios() throws DecisionResultInvalidException, CardNotFoundException {
public void EnheartenedFoeTest1() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup //Pre-game setup
var scn = GetScenario(); var scn = GetScenario();
var card = scn.GetFreepsCard("card"); var sam = scn.GetFreepsCard("sam");
scn.MoveCardsToHand(card); scn.MoveCompanionToTable(sam);
var foe = scn.GetShadowCard("foe");
var soldier = scn.GetShadowCard("soldier");
var band = scn.GetShadowCard("band");
scn.MoveMinionsToTable(soldier, band);
scn.MoveCardsToHand(foe);
scn.StartGame(); scn.StartGame();
scn.FreepsPlayCard(card);
assertEquals(0, scn.GetTwilight()); scn.SkipToAssignments();
scn.FreepsPass();
scn.ShadowAssignToMinions(sam, soldier, band);
scn.FreepsResolveSkirmish(sam);
scn.PassCurrentPhaseActions();
assertTrue(scn.ShadowPlayAvailable(foe));
scn.ShadowPlayCard(foe);
assertTrue(scn.ShadowHasCardChoicesAvailable(soldier, band));
assertFalse(scn.HasKeyword(soldier, Keyword.FIERCE));
assertFalse(scn.HasKeyword(band, Keyword.FIERCE));
scn.ShadowChooseCard(band);
assertFalse(scn.HasKeyword(soldier, Keyword.FIERCE));
assertTrue(scn.HasKeyword(band, Keyword.FIERCE));
} }
} }