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:
@@ -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'
|
||||
}
|
||||
|
||||
|
||||
@@ -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)))
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -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: {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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: {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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)))
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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: {
|
||||
|
||||
@@ -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: {
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user