diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/PC_Cards.js b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/PC_Cards.js
index c60394293..a65ae4d70 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/PC_Cards.js
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/PC_Cards.js
@@ -868,6 +868,8 @@ var PCCards = {
'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',
+ // Foul Horde (5R50) [Errata]
+ '55_50' : 'https://i.lotrtcgpc.net/errata/LOTR-EN05E050.1_card.jpg',
//September 2024 Walk-on Qualifiers
//Legolas, Greenleaf FA
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set01/set01-Elven-errata.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set01/set01-Elven-errata.hjson
index a5e3501ef..16151748d 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set01/set01-Elven-errata.hjson
+++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set01/set01-Elven-errata.hjson
@@ -374,6 +374,7 @@
vitality: 3
signet: Frodo
resistance: 6
+ keywords: Archer
effects: {
type: activated
phase: archery
@@ -415,7 +416,7 @@
}
]
}
- gametext: Archery: Exert Legolas to wound a minion. Exert him again unless he bears a ranged weapon or you can spot more minions than companions.
+ gametext: Archer.
Archery: Exert Legolas to wound a minion. Exert him again unless he bears a ranged weapon or you can spot more minions than companions.
lore: And I too will go with him,' said Legolas. 'It would be faithless now to say farewell.'
promotext: ""
alts: {
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set05/set05-Isengard-errata.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set05/set05-Isengard-errata.hjson
index f676323fd..c6dbef286 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set05/set05-Isengard-errata.hjson
+++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set05/set05-Isengard-errata.hjson
@@ -1,4 +1,66 @@
{
+
+ 55_50: {
+ cardInfo: {
+ //id: 55_50.1
+ parent: 5_50
+ variant: ERRATA
+ variantPath: errata/pc
+ revision: 1
+ image: errata/LOTR-EN05E050.1_card.jpg
+ collInfo: 5R50
+ rarity: R
+ }
+ title: Foul Horde
+ unique: false
+ side: Shadow
+ culture: Isengard
+ twilight: 4
+ type: Minion
+ race: Orc
+ strength: 9
+ vitality: 3
+ site: 4
+ keywords: Warg-rider
+ effects: [
+ {
+ type: modifier
+ modifier: {
+ type: addKeyword
+ filter: self,not(exhausted)
+ keyword: fierce
+ }
+ }
+ {
+ type: modifier
+ modifier: {
+ type: addKeyword
+ filter: self,minVitality(3)
+ keyword: ambush
+ amount: 1
+ }
+ }
+ {
+ type: modifier
+ modifier: {
+ type: addKeyword
+ filter: self,minVitality(4)
+ keyword: damage
+ amount: 1
+ }
+ }
+ ]
+ gametext: Warg-rider.
While Foul Horde is not exhausted, it is fierce.
While Foul Horde has at least 3 vitality, it is ambush (1).
While Foul Horde has at least 4 vitality, it is damage +1.
+ lore: ""
+ promotext: ""
+ alts: {
+ promos: {
+ }
+ errata: {
+ }
+ }
+ }
+
55_57: {
cardInfo: {
//id: 5_57.1
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set08/set08-Gandalf-errata.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set08/set08-Gandalf-errata.hjson
index bae6369b0..643002829 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set08/set08-Gandalf-errata.hjson
+++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set08/set08-Gandalf-errata.hjson
@@ -14,10 +14,10 @@
unique: false
side: Free Peoples
culture: Gandalf
- twilight: 3
+ twilight: 5
type: Event
timewords: Fellowship
- effects: {
+ effects: {
type: event
requires: {
type: canSpot
@@ -32,13 +32,7 @@
{
type: putCardsFromDeckIntoHand
select: choose(cultureFromMemory(killedCompanion))
- count: {
- type: Range
- from: 0
- to: {
- type: RegionNumber
- }
- }
+ count: 0-3
reveal: true
shuffle: true
showAll: true
@@ -48,7 +42,7 @@
}
]
}
- gametext: Spot Gandalf and place a companion (except the Ring-bearer) in the dead pile to take X cards into hand of that companion's culture from your draw deck, where X is the current region number.
+ gametext: Spot Gandalf and place a companion (except the Ring-bearer) in the dead pile to take up to 3 cards from that companion's culture into hand from your draw deck. Shuffle your draw deck.
lore: "'...we will bear Faramir, Steward of Gondor, to a place where he can sleep in peace....'"
promotext: ""
alts: {
diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set01/Card_01_050_ErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set01/Card_01_050_ErrataTests.java
index 07e3e1343..1d9e8849d 100644
--- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set01/Card_01_050_ErrataTests.java
+++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set01/Card_01_050_ErrataTests.java
@@ -3,13 +3,13 @@ package com.gempukku.lotro.cards.unofficial.pc.errata.set01;
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.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
public class Card_01_050_ErrataTests
{
@@ -43,7 +43,8 @@ public class Card_01_050_ErrataTests
* Vitality: 3
* Resistance: 6
* Signet: Frodo
- * Game Text: Archery: Exert Legolas to wound a minion. Exert him again unless he bears a ranged weapon or you can spot more minions than companions.
+ * Game Text: Archer.
+ * Archery: Exert Legolas to wound a minion. Exert him again unless he bears a ranged weapon or you can spot more minions than companions.
*/
var scn = GetScenario();
@@ -57,6 +58,7 @@ public class Card_01_050_ErrataTests
assertEquals(Culture.ELVEN, card.getBlueprint().getCulture());
assertEquals(CardType.COMPANION, card.getBlueprint().getCardType());
assertEquals(Race.ELF, card.getBlueprint().getRace());
+ assertTrue(scn.hasKeyword(card, Keyword.ARCHER));
assertEquals(2, card.getBlueprint().getTwilightCost());
assertEquals(6, card.getBlueprint().getStrength());
assertEquals(3, card.getBlueprint().getVitality());
diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set05/Card_05_050_ErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set05/Card_05_050_ErrataTests.java
new file mode 100644
index 000000000..a45d52407
--- /dev/null
+++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set05/Card_05_050_ErrataTests.java
@@ -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_050_ErrataTests
+{
+
+ protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
+ return new GenericCardTestHelper(
+ new HashMap<>()
+ {{
+ put("card", "55_50");
+ // put other cards in here as needed for the test case
+ }},
+ GenericCardTestHelper.FellowshipSites,
+ GenericCardTestHelper.FOTRFrodo,
+ GenericCardTestHelper.RulingRing
+ );
+ }
+
+ @Test
+ public void FoulHordeStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
+
+ /**
+ * Set: 5
+ * Name: Foul Horde
+ * Unique: False
+ * Side: Shadow
+ * Culture: Isengard
+ * Twilight Cost: 4
+ * Type: Minion
+ * Subtype: Orc
+ * Strength: 9
+ * Vitality: 3
+ * Site Number: 4
+ * Game Text: Warg-rider.
While Foul Horde is not exhausted, it is fierce.
While Foul Horde has at least 3 vitality, it is ambush (1).
While Foul Horde has at least 4 vitality, it is damage +1.
+ */
+
+ var scn = GetScenario();
+
+ var card = scn.GetFreepsCard("card");
+
+ assertEquals("Foul Horde", card.getBlueprint().getTitle());
+ assertNull(card.getBlueprint().getSubtitle());
+ assertFalse(card.getBlueprint().isUnique());
+ assertEquals(Side.SHADOW, card.getBlueprint().getSide());
+ assertEquals(Culture.ISENGARD, card.getBlueprint().getCulture());
+ assertEquals(CardType.MINION, card.getBlueprint().getCardType());
+ assertEquals(Race.ORC, card.getBlueprint().getRace());
+ assertTrue(scn.hasKeyword(card, Keyword.WARG_RIDER));
+ assertEquals(4, card.getBlueprint().getTwilightCost());
+ assertEquals(9, card.getBlueprint().getStrength());
+ assertEquals(3, card.getBlueprint().getVitality());
+ assertEquals(4, card.getBlueprint().getSiteNumber());
+ }
+
+ // Uncomment any @Test markers below once this is ready to be used
+ //@Test
+ public void FoulHordeTest1() throws DecisionResultInvalidException, CardNotFoundException {
+ //Pre-game setup
+ var scn = GetScenario();
+
+ var card = scn.GetFreepsCard("card");
+ scn.FreepsMoveCardToHand(card);
+
+ scn.StartGame();
+ scn.FreepsPlayCard(card);
+
+ assertEquals(4, scn.GetTwilight());
+ }
+}
diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set08/Card_08_020_ErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set08/Card_08_020_ErrataTests.java
index c031be847..f1aaaf25a 100644
--- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set08/Card_08_020_ErrataTests.java
+++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set08/Card_08_020_ErrataTests.java
@@ -36,10 +36,10 @@ public class Card_08_020_ErrataTests
* Unique: False
* Side: Free Peoples
* Culture: Gandalf
- * Twilight Cost: 3
+ * Twilight Cost: 5
* Type: Event
* Subtype: Fellowship
- * Game Text: Spot Gandalf and place a companion (except the Ring-bearer) in the dead pile to take X cards into hand of that companion's culture from your draw deck, where X is the current region number.
+ * Game Text: Spot Gandalf and place a companion (except the Ring-bearer) in the dead pile to take up to 3 cards from that companion's culture into hand from your draw deck. Shuffle your draw deck.
*/
var scn = GetScenario();
@@ -53,7 +53,7 @@ public class Card_08_020_ErrataTests
assertEquals(Culture.GANDALF, card.getBlueprint().getCulture());
assertEquals(CardType.EVENT, card.getBlueprint().getCardType());
assertTrue(scn.hasTimeword(card, Timeword.FELLOWSHIP));
- assertEquals(3, card.getBlueprint().getTwilightCost());
+ assertEquals(5, card.getBlueprint().getTwilightCost());
}
// Uncomment any @Test markers below once this is ready to be used
@@ -68,6 +68,6 @@ public class Card_08_020_ErrataTests
scn.StartGame();
scn.FreepsPlayCard(card);
- assertEquals(3, scn.GetTwilight());
+ assertEquals(5, scn.GetTwilight());
}
}