Merge pull request #492 from PlayersCouncil/bug/quick-fixes

Bug/quick fixes
This commit is contained in:
Christian McCarty
2025-02-09 23:23:16 -06:00
committed by GitHub
4 changed files with 88 additions and 13 deletions

View File

@@ -626,8 +626,8 @@
filter: minResistance(4)
}
true: {
type: forEachHasAttached
filter: possession
type: ForEachYouCanSpot
filter: possession, AttachedTo(memory(chosenDwarf))
multiplier: 2
}
false: 2

View File

@@ -72,6 +72,7 @@
strength: 7
vitality: 3
resistance: 6
signet: Gandalf
keywords: Ranger
effects: [
{

View File

@@ -510,7 +510,7 @@
type: discount
discount: {
type: ifRemoveFromDiscard
filter: culture(gollum)
filter: culture(men)
count: 4
}
}

View File

@@ -20,8 +20,12 @@ public class Card_12_013_Tests
return new GenericCardTestHelper(
new HashMap<>()
{{
put("card", "12_13");
// put other cards in here as needed for the test case
put("sharp", "12_13");
put("gimli", "11_8");
put("book", "3_1");
put("helm", "1_15");
put("savage", "1_151");
}},
GenericCardTestHelper.FellowshipSites,
GenericCardTestHelper.FOTRFrodo,
@@ -46,7 +50,7 @@ public class Card_12_013_Tests
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
var card = scn.GetFreepsCard("sharp");
assertEquals("Sharp Defense", card.getBlueprint().getTitle());
assertNull(card.getBlueprint().getSubtitle());
@@ -58,18 +62,88 @@ public class Card_12_013_Tests
assertEquals(0, card.getBlueprint().getTwilightCost());
}
// Uncomment any @Test markers below once this is ready to be used
//@Test
public void SharpDefenseTest1() throws DecisionResultInvalidException, CardNotFoundException {
@Test
public void SharpDefenseMakesDwarfWith3ResistanceAndNoPossessionsStrengthPlus2() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
scn.FreepsMoveCardToHand(card);
var sharp = scn.GetFreepsCard("sharp");
var gimli = scn.GetFreepsCard("gimli");
scn.FreepsMoveCardToHand(sharp);
scn.FreepsMoveCharToTable(gimli);
var savage = scn.GetShadowCard("savage");
scn.ShadowMoveCharToTable(savage);
scn.StartGame();
scn.FreepsPlayCard(card);
assertEquals(0, scn.GetTwilight());
scn.AddBurdens(3);
scn.SkipToAssignments();
scn.FreepsAssignToMinions(gimli, savage);
scn.FreepsResolveSkirmish(gimli);
assertEquals(3, scn.getResistance(gimli));
assertEquals(6, scn.GetStrength(gimli));
scn.FreepsPlayCard(sharp);
//Base 6, and since the 4 resistance clause is not met, +2 flat strength
assertEquals(8, scn.GetStrength(gimli));
}
@Test
public void SharpDefenseMakesDwarfWith4ResistanceAndNoPossessionsStrengthPlus0() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetScenario();
var sharp = scn.GetFreepsCard("sharp");
var gimli = scn.GetFreepsCard("gimli");
scn.FreepsMoveCardToHand(sharp);
scn.FreepsMoveCharToTable(gimli);
var savage = scn.GetShadowCard("savage");
scn.ShadowMoveCharToTable(savage);
scn.StartGame();
scn.AddBurdens(2);
scn.SkipToAssignments();
scn.FreepsAssignToMinions(gimli, savage);
scn.FreepsResolveSkirmish(gimli);
assertEquals(4, scn.getResistance(gimli));
assertEquals(6, scn.GetStrength(gimli));
scn.FreepsPlayCard(sharp);
//Base 6, and since the 4 resistance clause is met, +0 for all attached possessions
assertEquals(6, scn.GetStrength(gimli));
}
@Test
public void SharpDefenseMakesDwarfWith4ResistanceAndNoPossessionsStrengthPlus2ForEachPossessionBorne() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetScenario();
var sharp = scn.GetFreepsCard("sharp");
var gimli = scn.GetFreepsCard("gimli");
scn.FreepsMoveCardToHand(sharp);
scn.FreepsMoveCharToTable(gimli);
scn.FreepsAttachCardsTo(gimli, "book", "helm");
var savage = scn.GetShadowCard("savage");
scn.ShadowMoveCharToTable(savage);
scn.StartGame();
scn.AddBurdens(2);
scn.SkipToAssignments();
scn.FreepsAssignToMinions(gimli, savage);
scn.FreepsResolveSkirmish(gimli);
assertEquals(4, scn.getResistance(gimli));
assertEquals(6, scn.GetStrength(gimli));
scn.FreepsPlayCard(sharp);
//Base 6 + 2 for book + 2 for helm
assertEquals(10, scn.GetStrength(gimli));
}
}