Fixed Lorien Swordsman applying the wrong strength debuff (it was making minions strength -2 per wound on the Swordsman himself)

This commit is contained in:
Christian 'ketura' McCarty
2024-12-18 21:28:48 -06:00
parent 4b72cb8d02
commit ae6218cb57
3 changed files with 70 additions and 24 deletions

View File

@@ -1002,7 +1002,6 @@
filter: minion,inSkirmishAgainst(self) filter: minion,inSkirmishAgainst(self)
amount: { amount: {
type: forEachWound type: forEachWound
filter: self
multiplier: -2 multiplier: -2
} }
} }

View File

@@ -1,9 +1,11 @@
package com.gempukku.lotro.cards.official.set04; package com.gempukku.lotro.cards.official.set04;
import com.gempukku.lotro.cards.GenericCardTestHelper; import com.gempukku.lotro.cards.GenericCardTestHelper;
import com.gempukku.lotro.common.*; import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Race;
import com.gempukku.lotro.common.Side;
import com.gempukku.lotro.game.CardNotFoundException; import com.gempukku.lotro.game.CardNotFoundException;
import com.gempukku.lotro.game.PhysicalCardImpl;
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException; import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
import org.junit.Test; import org.junit.Test;
@@ -18,8 +20,9 @@ public class Card_04_078_Tests
return new GenericCardTestHelper( return new GenericCardTestHelper(
new HashMap<>() new HashMap<>()
{{ {{
put("card", "4_78"); put("swordsman", "4_78");
// put other cards in here as needed for the test case put("savage", "1_151");
put("runner", "1_178");
}}, }},
GenericCardTestHelper.FellowshipSites, GenericCardTestHelper.FellowshipSites,
GenericCardTestHelper.FOTRFrodo, GenericCardTestHelper.FOTRFrodo,
@@ -47,7 +50,7 @@ public class Card_04_078_Tests
var scn = GetScenario(); var scn = GetScenario();
var card = scn.GetFreepsCard("card"); var card = scn.GetFreepsCard("swordsman");
assertEquals("Lórien Swordsman", card.getBlueprint().getTitle()); assertEquals("Lórien Swordsman", card.getBlueprint().getTitle());
assertNull(card.getBlueprint().getSubtitle()); assertNull(card.getBlueprint().getSubtitle());
@@ -62,18 +65,40 @@ public class Card_04_078_Tests
assertEquals(6, card.getBlueprint().getResistance()); assertEquals(6, card.getBlueprint().getResistance());
} }
// Uncomment any @Test markers below once this is ready to be used @Test
//@Test public void LorienSwordsmanReducesStrengthOnEachMinion() throws DecisionResultInvalidException, CardNotFoundException {
public void LorienSwordsmanTest1() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup //Pre-game setup
var scn = GetScenario(); var scn = GetScenario();
var card = scn.GetFreepsCard("card"); var swordsman = scn.GetFreepsCard("swordsman");
scn.FreepsMoveCardToHand(card); scn.FreepsMoveCharToTable(swordsman);
var savage = scn.GetShadowCard("savage");
var runner = scn.GetShadowCard("runner");
scn.ShadowMoveCharToTable(savage, runner);
scn.StartGame(); scn.StartGame();
scn.FreepsPlayCard(card);
assertEquals(2, scn.GetTwilight()); scn.AddWoundsToChar(savage, 1);
scn.SkipToAssignments();
scn.FreepsDeclineAssignments();
scn.ShadowAssignToMinions(swordsman, savage, runner);
assertEquals(5, scn.GetStrength(swordsman));
assertEquals(5, scn.GetStrength(runner));
assertEquals(5, scn.GetStrength(savage));
scn.FreepsResolveSkirmish(swordsman);
assertEquals(5, scn.GetStrength(swordsman));
assertEquals(5, scn.GetStrength(runner));
assertEquals(3, scn.GetStrength(savage));
scn.AddWoundsToChar(savage, 1);
assertEquals(5, scn.GetStrength(swordsman));
assertEquals(5, scn.GetStrength(runner));
assertEquals(1, scn.GetStrength(savage));
} }
} }

View File

@@ -3,7 +3,6 @@ package com.gempukku.lotro.cards.unofficial.pc.errata.set04;
import com.gempukku.lotro.cards.GenericCardTestHelper; import com.gempukku.lotro.cards.GenericCardTestHelper;
import com.gempukku.lotro.common.*; import com.gempukku.lotro.common.*;
import com.gempukku.lotro.game.CardNotFoundException; import com.gempukku.lotro.game.CardNotFoundException;
import com.gempukku.lotro.game.PhysicalCardImpl;
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException; import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
import org.junit.Test; import org.junit.Test;
@@ -18,8 +17,9 @@ public class Card_04_078_ErrataTests
return new GenericCardTestHelper( return new GenericCardTestHelper(
new HashMap<>() new HashMap<>()
{{ {{
put("card", "54_78"); put("swordsman", "54_78");
// put other cards in here as needed for the test case put("savage", "1_151");
put("runner", "1_178");
}}, }},
GenericCardTestHelper.FellowshipSites, GenericCardTestHelper.FellowshipSites,
GenericCardTestHelper.FOTRFrodo, GenericCardTestHelper.FOTRFrodo,
@@ -48,7 +48,7 @@ public class Card_04_078_ErrataTests
var scn = GetScenario(); var scn = GetScenario();
var card = scn.GetFreepsCard("card"); var card = scn.GetFreepsCard("swordsman");
assertEquals("Lórien Swordsman", card.getBlueprint().getTitle()); assertEquals("Lórien Swordsman", card.getBlueprint().getTitle());
assertNull(card.getBlueprint().getSubtitle()); assertNull(card.getBlueprint().getSubtitle());
@@ -64,18 +64,40 @@ public class Card_04_078_ErrataTests
assertEquals(6, card.getBlueprint().getResistance()); assertEquals(6, card.getBlueprint().getResistance());
} }
// Uncomment any @Test markers below once this is ready to be used @Test
//@Test public void LorienSwordsmanReducesStrengthOnEachMinion() throws DecisionResultInvalidException, CardNotFoundException {
public void LorienSwordsmanTest1() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup //Pre-game setup
var scn = GetScenario(); var scn = GetScenario();
var card = scn.GetFreepsCard("card"); var swordsman = scn.GetFreepsCard("swordsman");
scn.FreepsMoveCardToHand(card); scn.FreepsMoveCharToTable(swordsman);
var savage = scn.GetShadowCard("savage");
var runner = scn.GetShadowCard("runner");
scn.ShadowMoveCharToTable(savage, runner);
scn.StartGame(); scn.StartGame();
scn.FreepsPlayCard(card);
assertEquals(2, scn.GetTwilight()); scn.AddWoundsToChar(savage, 1);
scn.SkipToAssignments();
scn.FreepsDeclineAssignments();
scn.ShadowAssignToMinions(swordsman, savage, runner);
assertEquals(5, scn.GetStrength(swordsman));
assertEquals(5, scn.GetStrength(runner));
assertEquals(5, scn.GetStrength(savage));
scn.FreepsResolveSkirmish(swordsman);
assertEquals(5, scn.GetStrength(swordsman));
assertEquals(5, scn.GetStrength(runner));
assertEquals(3, scn.GetStrength(savage));
scn.AddWoundsToChar(savage, 1);
assertEquals(5, scn.GetStrength(swordsman));
assertEquals(5, scn.GetStrength(runner));
assertEquals(1, scn.GetStrength(savage));
} }
} }