V2 errata and wording fixes

- Updated wording for V2 Uruk Shield Wall and V2 An End Worthy of Remembrance
- Fixed V1 Writhing Tentacle using an errata URL
- Added errata for both Herugrim, Simbelmyne, Let Us Be Swift, No Rest for the Weary, and Sigewulf
- Fixed a rare Neekerbreeker's Bog (d + e) issue where it would both heal and exert the same character if Lingering Shadow was in play.
This commit is contained in:
Christian 'ketura' McCarty
2024-11-20 21:08:03 -06:00
parent d1948a6a88
commit 9c065dc689
15 changed files with 797 additions and 16 deletions

View File

@@ -198,6 +198,12 @@ var PCCards = {
'101_63': 'https://i.lotrtcgpc.net/sets/vset1/V1_063.jpg',
'101_64': 'https://i.lotrtcgpc.net/sets/vset1/V1_064.jpg',
//2024 V1 additions:
// Sirannon Dam (V165)
'101_65' : 'https://i.lotrtcgpc.net/sets/vset1/LOTR-ENV1S065.0_card.jpg',
// Writhing Tentacle (V1C66)
'101_66' : 'https://i.lotrtcgpc.net/sets/vset1/LOTR-ENV1S066.0_card.jpg',
// Christmas 2021 Errata
'51_7': 'https://i.lotrtcgpc.net/errata/balancing/51_007.jpg',
@@ -846,6 +852,22 @@ var PCCards = {
'68_9' : 'https://i.lotrtcgpc.net/errata/LOTR-EN18E009.1_card.jpg',
// Haldir, Warrior Messenger (18R14) [Errata]
'68_14' : 'https://i.lotrtcgpc.net/errata/LOTR-EN18E014.1_card.jpg',
// Legolas, Archer of Mirkwood (5P121) [Errata]
'55_121' : 'https://i.lotrtcgpc.net/errata/LOTR-EN05E121.1_card.jpg',
// Gimli, Skilled Defender (5R7) [Errata]
'55_7' : 'https://i.lotrtcgpc.net/errata/LOTR-EN05E007.1_card.jpg',
// Herugrim (4U280) [Errata]
'54_280' : 'https://i.lotrtcgpc.net/errata/LOTR-EN04E280.1_card.jpg',
// Herugrim, Sword of the Mark (7R236) [Errata]
'57_236' : 'https://i.lotrtcgpc.net/errata/LOTR-EN07E236.1_card.jpg',
// Simbelmyne (4R289) [Errata]
'54_289' : 'https://i.lotrtcgpc.net/errata/LOTR-EN04E289.1_card.jpg',
// No Rest for the Weary (5R86) [Errata]
'55_86' : 'https://i.lotrtcgpc.net/errata/LOTR-EN05E086.1_card.jpg',
// Let Us Be Swift (5C85) [Errata]
'55_85' : 'https://i.lotrtcgpc.net/errata/LOTR-EN05E085.1_card.jpg',
// Sigewulf, Brave Volunteer (5U92) [Errata]
'55_92' : 'https://i.lotrtcgpc.net/errata/LOTR-EN05E092.1_card.jpg',
//September 2024 Walk-on Qualifiers
//Legolas, Greenleaf FA
@@ -930,17 +952,9 @@ var PCCards = {
'60_8' : 'https://i.lotrtcgpc.net/errata/LOTR-EN10E008.2_card.jpg',
// Fortress Never Fallen (4U276) [Errata]
'54_276' : 'https://i.lotrtcgpc.net/errata/LOTR-EN04E276.2_card.jpg',
// Legolas, Archer of Mirkwood (5P121) [Errata]
'55_121' : 'https://i.lotrtcgpc.net/errata/LOTR-EN05E121.1_card.jpg',
// Gimli, Skilled Defender (5R7) [Errata]
'55_7' : 'https://i.lotrtcgpc.net/errata/LOTR-EN05E007.1_card.jpg',
// Boromir, Redeemed (V1 20) [Errata]
'101_20' : 'https://i.lotrtcgpc.net/sets/vset1/LOTR-ENV1E020.1_card.jpg',
'101_20' : 'https://i.lotrtcgpc.net/sets/vset1/LOTR-ENV1E020.1_card.jpg'
//V1 additions:
// Sirannon Dam (V165)
'101_65' : 'https://i.lotrtcgpc.net/sets/vset1/LOTR-ENV1S065.0_card.jpg',
// Writhing Tentacle (V1C66)
'101_66' : 'https://i.lotrtcgpc.net/sets/vset1/LOTR-ENV1E066.2_card.jpg'
}

View File

@@ -902,10 +902,11 @@
{
type: heal
select: all(character,minResistance(5))
memorize: healedChars
}
{
type: exert
select: all(character,maxResistance(4))
select: all(character,not(memory(healedChars)))
}
]
}

View File

@@ -150,4 +150,101 @@
}
}
54_280: {
cardInfo: {
//id: 54_280.1
parent: 4_280
variant: ERRATA
variantPath: errata/pc
revision: 1
image: errata/LOTR-EN04E280.1_card.jpg
collInfo: 4U280
rarity: U
}
title: Herugrim
unique: true
side: Free Peoples
culture: Rohan
twilight: 2
type: Artifact
strength: 2
vitality: 1
itemclass: Hand weapon
target: title(Théoden)
effects: [
{
type: modifier
modifier: {
type: addKeyword
filter: bearer
keyword: damage
amount: 1
}
}
]
gametext: Bearer must be Théoden.<br>He is <b>damage +1</b>.
lore: "'Here, lord, is Herugrim, your ancient blade....'"
promotext: ""
alts: {
promos: {
}
errata: {
}
}
}
54_289: {
cardInfo: {
//id: 54_289.1
parent: 4_289
variant: ERRATA
variantPath: errata/pc
revision: 1
image: errata/LOTR-EN04E289.1_card.jpg
collInfo: 4R289
rarity: R
}
title: Simbelmynë
unique: false
side: Free Peoples
culture: Rohan
twilight: 1
type: Event
timewords: Fellowship
effects: {
type: event
requires: {
type: or
requires: [
{
type: canSpot
filter: culture(rohan),man
count: 2
}
{
type: canSpot
filter: valiant,culture(rohan),man
}
]
},
effect: [
{
type: playCardFromDrawDeck
select: choose(culture(rohan),or(character,item))
showAll: true
shuffle: true
}
]
}
gametext: <b>Fellowship:</b> Spot 2 [rohan] Men (or 1 valiant [rohan] Man) to play a [rohan] character or [rohan] item from your draw deck.
lore: "'How fair are the bright eyes in the grass! Evermind they are called... for they blossom in all seasons of the year, and grow where dead men rest.'"
promotext: ""
alts: {
promos: {
}
errata: {
}
}
}
}

View File

@@ -0,0 +1,149 @@
{
55_85: {
cardInfo: {
//id: 55_85.1
parent: 5_85
variant: ERRATA
variantPath: errata/pc
revision: 1
image: errata/LOTR-EN05E085.1_card.jpg
collInfo: 5C85
rarity: C
}
title: Let Us Be Swift
unique: false
side: Free Peoples
culture: Rohan
twilight: 1
type: Event
timewords: Regroup
effects: {
type: event
requires: {
type: canSpot
filter: valiant,companion
count: 3
},
effect: [
{
type: discard
select: choose(condition)
count: 0-2
}
{
type: liberateSite
}
]
}
gametext: <b>Regroup:</b> Spot 3 valiant companions to discard up to 2 conditions and liberate a site.
lore: "'Let us drive through such foes as are already between us and the fastness.'"
promotext: ""
alts: {
promos: {
}
errata: {
}
}
}
55_86: {
cardInfo: {
//id: 55_86.1
parent: 5_86
variant: ERRATA
variantPath: errata/pc
revision: 1
image: errata/LOTR-EN05E086.1_card.jpg
collInfo: 5R86
rarity: R
}
title: No Rest for the Weary
unique: false
side: Free Peoples
culture: Rohan
twilight: 1
type: Event
timewords: Maneuver
effects: {
type: event
requires: {
type: canSpot
filter: valiant,companion
count: 3
},
effect: [
{
type: addKeyword
select: choose(valiant,companion)
keyword: defender
amount: 1
until: regroup
}
]
}
gametext: <b>Maneuver:</b> Spot 3 valiant companions to make one of those companions <b>defender +1</b> until the regroup phase.
lore: "'We must draw all our forces now behind the walls.'"
promotext: ""
alts: {
promos: {
}
errata: {
}
}
}
55_92: {
cardInfo: {
//id: 55_92.1
parent: 5_92
variant: ERRATA
variantPath: errata/pc
revision: 1
image: errata/LOTR-EN05E092.1_card.jpg
collInfo: 5U92
rarity: U
}
title: Sigewulf
subtitle: Brave Volunteer
unique: true
side: Free Peoples
culture: Rohan
twilight: 1
type: Ally
allyHome: 4T
race: Man
strength: 4
vitality: 2
keywords: Villager
effects: [
{
type: activated
phase: regroup
cost: {
type: exert
select: self
}
requires: {
type: canSpot
filter: valiant,companion
count: 5
}
effect: {
type: discard
select: choose(minion)
}
}
]
gametext: <b>Villager</b>.<br><b>Regroup:</b> Exert Sigewulf and spot 5 valiant companions to discard a minion.
lore: "The courage of Sigewulf and other Rohirrim like him will not be forgotten."
promotext: ""
alts: {
promos: {
}
errata: {
}
}
}
}

View File

@@ -1,4 +1,68 @@
{
57_236: {
cardInfo: {
//id: 57_236.1
parent: 7_236
variant: ERRATA
variantPath: errata/pc
revision: 1
image: errata/LOTR-EN07E236.1_card.jpg
collInfo: 7R236
rarity: R
}
title: Herugrim
subtitle: Sword of the Mark
unique: true
side: Free Peoples
culture: Rohan
twilight: 3
type: Artifact
strength: 2
vitality: 1
itemclass: Hand weapon
target: title(Théoden)
effects: [
{
type: modifier
modifier: {
type: addKeyword
filter: bearer
keyword: damage
amount: 1
}
}
{
type: Response
trigger: {
type: aboutToTakeWound
filter: bearer
}
requires: {
type: cantSpotThreats
amount: 3
}
cost: {
type: addThreats
amount: 2
}
effect: {
type: preventWound
select: bearer
}
}
]
gametext: Bearer must be Théoden.<br>He is <b>damage +1</b>.<br><b>Response:</b> If Théoden is about to take a wound and you cannot spot 3 threats, add 2 threats to prevent that wound.
lore: "Out swept his sword, and he spurred to the standard, hewed staff and bearer...."
promotext: ""
alts: {
promos: {
}
errata: {
}
}
}
57_256: {
cardInfo: {
//id: 7_256.1

View File

@@ -242,10 +242,11 @@
{
type: heal
select: all(character,minResistance(5))
memorize: healedChars
}
{
type: exert
select: all(character,not(minResistance(5)))
select: all(character,not(memory(healedChars)))
}
]
}

View File

@@ -643,7 +643,7 @@
cardInfo: {
//id: 101_66.1
revision: 1
image: sets/vset1/LOTR-ENV1E066.2_card.jpg
image: sets/vset1/LOTR-ENV1E066.1_card.jpg
collInfo: V1_66
rarity: C
}

View File

@@ -1157,7 +1157,7 @@
}
}
]
gametext: Machine.<br>While you can spot X [isengard] tokens here, each time an [isengard] Uruk-hai costing X is about to take a wound, exert it instead.<br>Maneuver: Exert an Uruk-hai to add an [isengard] token here.
gametext: Machine. Each time an Uruk-hai costing X is about to take a wound (except during a skirmish), exert it instead, where X is the number of [isengard] tokens you can spot here.<br>Maneuver: Exert an Uruk-hai to add an [isengard] token here.
lore: "They held their great shields above them like a roof..."
promotext: ""
alts: {

View File

@@ -94,7 +94,7 @@
text: Choose how many {rohan} conditions to remove 2 tokens from.
count: {
type: Range
from: 1
from: 0
to: {
type: ForEachYouCanSpot
filter: condition,HasCultureTokenCount(2,rohan)
@@ -122,7 +122,7 @@
}
]
}
gametext: Remove 2 tokens from X [rohan] conditions to make 3 valiant companions strength +X until the regroup phase.
gametext: Spot X [rohan] conditions and remove 2 tokens from each to make 3 valiant companions strength +X until the regroup phase.
lore: "Captains and champions fell or fled before them. Neither orc nor man withstood them."
promotext: ""
alts: {

View File

@@ -0,0 +1,77 @@
package com.gempukku.lotro.cards.unofficial.pc.errata.set04;
import com.gempukku.lotro.cards.GenericCardTestHelper;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.game.CardNotFoundException;
import com.gempukku.lotro.game.PhysicalCardImpl;
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
import org.junit.Test;
import java.util.HashMap;
import static org.junit.Assert.*;
public class Card_04_280_ErrataTests
{
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
return new GenericCardTestHelper(
new HashMap<>()
{{
put("card", "54_280");
// put other cards in here as needed for the test case
}},
GenericCardTestHelper.FellowshipSites,
GenericCardTestHelper.FOTRFrodo,
GenericCardTestHelper.RulingRing
);
}
@Test
public void HerugrimStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
/**
* Set: 4
* Name: Herugrim
* Unique: True
* Side: Free Peoples
* Culture: Rohan
* Twilight Cost: 2
* Type: Artifact
* Subtype: Hand weapon
* Strength: 2
* Vitality: 1
* Game Text: Bearer must be Théoden.<br>He is <b>damage +1</b>.
*/
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
assertEquals("Herugrim", card.getBlueprint().getTitle());
assertNull(card.getBlueprint().getSubtitle());
assertTrue(card.getBlueprint().isUnique());
assertEquals(Side.FREE_PEOPLE, card.getBlueprint().getSide());
assertEquals(Culture.ROHAN, card.getBlueprint().getCulture());
assertEquals(CardType.ARTIFACT, card.getBlueprint().getCardType());
assertTrue(card.getBlueprint().getPossessionClasses().contains(PossessionClass.HAND_WEAPON));
assertEquals(2, card.getBlueprint().getTwilightCost());
assertEquals(2, card.getBlueprint().getStrength());
assertEquals(1, card.getBlueprint().getVitality());
}
// Uncomment any @Test markers below once this is ready to be used
//@Test
public void HerugrimTest1() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
scn.FreepsMoveCardToHand(card);
scn.StartGame();
scn.FreepsPlayCard(card);
assertEquals(2, scn.GetTwilight());
}
}

View File

@@ -0,0 +1,75 @@
package com.gempukku.lotro.cards.unofficial.pc.errata.set04;
import com.gempukku.lotro.cards.GenericCardTestHelper;
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.logic.decisions.DecisionResultInvalidException;
import org.junit.Test;
import java.util.HashMap;
import static org.junit.Assert.*;
public class Card_04_289_ErrataTests
{
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
return new GenericCardTestHelper(
new HashMap<>()
{{
put("card", "54_289");
// put other cards in here as needed for the test case
}},
GenericCardTestHelper.FellowshipSites,
GenericCardTestHelper.FOTRFrodo,
GenericCardTestHelper.RulingRing
);
}
@Test
public void SimbelmyneStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
/**
* Set: 4
* Name: Simbelmyne
* Unique: False
* Side: Free Peoples
* Culture: Rohan
* Twilight Cost: 1
* Type: Event
* Subtype: Fellowship
* Game Text: <b>Fellowship:</b> Spot 2 [rohan] Men (or 1 valiant [rohan] Man) to play a [rohan] character or [rohan] item from your draw deck.
*/
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
assertEquals("Simbelmynë", card.getBlueprint().getTitle());
assertNull(card.getBlueprint().getSubtitle());
assertFalse(card.getBlueprint().isUnique());
assertEquals(Side.FREE_PEOPLE, card.getBlueprint().getSide());
assertEquals(Culture.ROHAN, card.getBlueprint().getCulture());
assertEquals(CardType.EVENT, card.getBlueprint().getCardType());
assertTrue(scn.hasTimeword(card, Timeword.FELLOWSHIP));
assertEquals(1, card.getBlueprint().getTwilightCost());
}
// Uncomment any @Test markers below once this is ready to be used
//@Test
public void SimbelmyneTest1() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
scn.FreepsMoveCardToHand(card);
scn.StartGame();
scn.FreepsPlayCard(card);
assertEquals(1, scn.GetTwilight());
}
}

View File

@@ -0,0 +1,73 @@
package com.gempukku.lotro.cards.unofficial.pc.errata.set05;
import com.gempukku.lotro.cards.GenericCardTestHelper;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.game.CardNotFoundException;
import com.gempukku.lotro.game.PhysicalCardImpl;
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
import org.junit.Test;
import java.util.HashMap;
import static org.junit.Assert.*;
public class Card_05_085_ErrataTests
{
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
return new GenericCardTestHelper(
new HashMap<>()
{{
put("card", "55_85");
// put other cards in here as needed for the test case
}},
GenericCardTestHelper.FellowshipSites,
GenericCardTestHelper.FOTRFrodo,
GenericCardTestHelper.RulingRing
);
}
@Test
public void LetUsBeSwiftStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
/**
* Set: 5
* Name: Let Us Be Swift
* Unique: False
* Side: Free Peoples
* Culture: Rohan
* Twilight Cost: 1
* Type: Event
* Subtype: Regroup
* Game Text: <b>Regroup:</b> Spot 3 valiant companions to discard up to 2 conditions and liberate a site.
*/
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
assertEquals("Let Us Be Swift", card.getBlueprint().getTitle());
assertNull(card.getBlueprint().getSubtitle());
assertFalse(card.getBlueprint().isUnique());
assertEquals(Side.FREE_PEOPLE, card.getBlueprint().getSide());
assertEquals(Culture.ROHAN, card.getBlueprint().getCulture());
assertEquals(CardType.EVENT, card.getBlueprint().getCardType());
assertTrue(scn.hasTimeword(card, Timeword.REGROUP));
assertEquals(1, card.getBlueprint().getTwilightCost());
}
// Uncomment any @Test markers below once this is ready to be used
//@Test
public void LetUsBeSwiftTest1() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
scn.FreepsMoveCardToHand(card);
scn.StartGame();
scn.FreepsPlayCard(card);
assertEquals(1, scn.GetTwilight());
}
}

View File

@@ -0,0 +1,73 @@
package com.gempukku.lotro.cards.unofficial.pc.errata.set05;
import com.gempukku.lotro.cards.GenericCardTestHelper;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.game.CardNotFoundException;
import com.gempukku.lotro.game.PhysicalCardImpl;
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
import org.junit.Test;
import java.util.HashMap;
import static org.junit.Assert.*;
public class Card_05_086_ErrataTests
{
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
return new GenericCardTestHelper(
new HashMap<>()
{{
put("card", "55_86");
// put other cards in here as needed for the test case
}},
GenericCardTestHelper.FellowshipSites,
GenericCardTestHelper.FOTRFrodo,
GenericCardTestHelper.RulingRing
);
}
@Test
public void NoRestfortheWearyStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
/**
* Set: 5
* Name: No Rest for the Weary
* Unique: False
* Side: Free Peoples
* Culture: Rohan
* Twilight Cost: 1
* Type: Event
* Subtype: Maneuver
* Game Text: <b>Maneuver:</b> Spot 3 valiant companions to make one of those companions <b>defender +1</b> until the regroup phase.
*/
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
assertEquals("No Rest for the Weary", card.getBlueprint().getTitle());
assertNull(card.getBlueprint().getSubtitle());
assertFalse(card.getBlueprint().isUnique());
assertEquals(Side.FREE_PEOPLE, card.getBlueprint().getSide());
assertEquals(Culture.ROHAN, card.getBlueprint().getCulture());
assertEquals(CardType.EVENT, card.getBlueprint().getCardType());
assertTrue(scn.hasTimeword(card, Timeword.MANEUVER));
assertEquals(1, card.getBlueprint().getTwilightCost());
}
// Uncomment any @Test markers below once this is ready to be used
//@Test
public void NoRestfortheWearyTest1() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
scn.FreepsMoveCardToHand(card);
scn.StartGame();
scn.FreepsPlayCard(card);
assertEquals(1, scn.GetTwilight());
}
}

View File

@@ -0,0 +1,80 @@
package com.gempukku.lotro.cards.unofficial.pc.errata.set05;
import com.gempukku.lotro.cards.GenericCardTestHelper;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.game.CardNotFoundException;
import com.gempukku.lotro.game.PhysicalCardImpl;
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
import org.junit.Test;
import java.util.HashMap;
import static org.junit.Assert.*;
public class Card_05_092_ErrataTests
{
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
return new GenericCardTestHelper(
new HashMap<>()
{{
put("card", "55_92");
// put other cards in here as needed for the test case
}},
GenericCardTestHelper.FellowshipSites,
GenericCardTestHelper.FOTRFrodo,
GenericCardTestHelper.RulingRing
);
}
@Test
public void SigewulfStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
/**
* Set: 5
* Name: Sigewulf, Brave Volunteer
* Unique: True
* Side: Free Peoples
* Culture: Rohan
* Twilight Cost: 1
* Type: Ally
* Subtype: Man
* Strength: 4
* Vitality: 2
* Site Number: 4T
* Game Text: <b>Villager</b>.<br><b>Regroup:</b> Exert Sigewulf and spot 5 valiant companions to discard a minion.
*/
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
assertEquals("Sigewulf", card.getBlueprint().getTitle());
assertEquals("Brave Volunteer", card.getBlueprint().getSubtitle());
assertTrue(card.getBlueprint().isUnique());
assertEquals(Side.FREE_PEOPLE, card.getBlueprint().getSide());
assertEquals(Culture.ROHAN, card.getBlueprint().getCulture());
assertEquals(CardType.ALLY, card.getBlueprint().getCardType());
assertEquals(Race.MAN, card.getBlueprint().getRace());
assertTrue(scn.hasKeyword(card, Keyword.VILLAGER));
assertEquals(1, card.getBlueprint().getTwilightCost());
assertEquals(4, card.getBlueprint().getStrength());
assertEquals(2, card.getBlueprint().getVitality());
assertTrue(card.getBlueprint().hasAllyHome(new AllyHome(SitesBlock.TWO_TOWERS, 4)));
}
// Uncomment any @Test markers below once this is ready to be used
//@Test
public void SigewulfTest1() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
scn.FreepsMoveCardToHand(card);
scn.StartGame();
scn.FreepsPlayCard(card);
assertEquals(1, scn.GetTwilight());
}
}

View File

@@ -0,0 +1,77 @@
package com.gempukku.lotro.cards.unofficial.pc.errata.set07;
import com.gempukku.lotro.cards.GenericCardTestHelper;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.game.CardNotFoundException;
import com.gempukku.lotro.game.PhysicalCardImpl;
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
import org.junit.Test;
import java.util.HashMap;
import static org.junit.Assert.*;
public class Card_07_236_ErrataTests
{
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
return new GenericCardTestHelper(
new HashMap<>()
{{
put("card", "57_236");
// put other cards in here as needed for the test case
}},
GenericCardTestHelper.FellowshipSites,
GenericCardTestHelper.FOTRFrodo,
GenericCardTestHelper.RulingRing
);
}
@Test
public void HerugrimStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
/**
* Set: 7
* Name: Herugrim, Sword of the Mark
* Unique: True
* Side: Free Peoples
* Culture: Rohan
* Twilight Cost: 3
* Type: Artifact
* Subtype: Hand weapon
* Strength: 2
* Vitality: 1
* Game Text: Bearer must be Théoden.<br>He is <b>damage +1</b>.<br><b>Response:</b> If Théoden is about to take a wound and you cannot spot 3 threats, add 2 threats to prevent that wound.
*/
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
assertEquals("Herugrim", card.getBlueprint().getTitle());
assertEquals("Sword of the Mark", card.getBlueprint().getSubtitle());
assertTrue(card.getBlueprint().isUnique());
assertEquals(Side.FREE_PEOPLE, card.getBlueprint().getSide());
assertEquals(Culture.ROHAN, card.getBlueprint().getCulture());
assertEquals(CardType.ARTIFACT, card.getBlueprint().getCardType());
assertTrue(card.getBlueprint().getPossessionClasses().contains(PossessionClass.HAND_WEAPON));
assertEquals(3, card.getBlueprint().getTwilightCost());
assertEquals(2, card.getBlueprint().getStrength());
assertEquals(1, card.getBlueprint().getVitality());
}
// Uncomment any @Test markers below once this is ready to be used
//@Test
public void HerugrimTest1() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
scn.FreepsMoveCardToHand(card);
scn.StartGame();
scn.FreepsPlayCard(card);
assertEquals(3, scn.GetTwilight());
}
}