diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/HallRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/HallRequestHandler.java
index 5d218957f..c4c39bbf4 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/HallRequestHandler.java
+++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/HallRequestHandler.java
@@ -30,9 +30,7 @@ import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import java.lang.reflect.Type;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
public class HallRequestHandler extends LotroServerRequestHandler implements UriRequestHandler {
private CollectionsManager _collectionManager;
@@ -255,6 +253,11 @@ public class HallRequestHandler extends LotroServerRequestHandler implements Uri
}
result.append("");
}
+ if (!lotroFormat.getErrataCardMap().isEmpty()) {
+ result.append("
Errata: ");
+ appendCards(result, new ArrayList<>(lotroFormat.getErrataCardMap().values()));
+ result.append("");
+ }
if (lotroFormat.getValidCards().size() > 0) {
result.append("Additional valid: ");
List additionalValidCards = lotroFormat.getValidCards();
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set04-errata-playtest.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set04-errata-playtest.json
index 5596b0bc9..2c63c0851 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set04-errata-playtest.json
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set04-errata-playtest.json
@@ -1,151 +1,2 @@
{
- "74_73": {
- "title": "*Legolas",
- "subtitle": "Dauntless Hunter",
- "culture": "elven",
- "cost": 2,
- "type": "companion",
- "race": "elf",
- "strength": 6,
- "vitality": 3,
- "resistance": 6,
- "signet": "aragorn",
- "keyword": "archer",
- "effects": {
- "type": "modifier",
- "modifier": {
- "type": "modifyCost",
- "filter": "side(shadow),or(event,condition)",
- "amount": {
- "type": "forEachYouCanSpot",
- "filter": "unbound,hobbit",
- "limit": 2
- }
- }
- }
- },
- "74_192": {
- "side": "shadow",
- "site": 5,
- "cost": 3,
- "race": "Uruk-Hai",
- "strength": 8,
- "culture": "Isengard",
- "vitality": 2,
- "title": "Uruk Regular",
- "type": "minion",
- "keyword": "Damage+1",
- "effects": {
- "type": "activated",
- "phase": "shadow",
- "cost": {
- "type": "exert",
- "filter": "self"
- },
- "effect": {
- "type": "play",
- "filter": "choose(uruk-hai)",
- "cost": {
- "type": "forEachYouCanSpot",
- "filter": "not(self),uruk-hai",
- "limit": 2,
- "multiplier": -1
- }
- }
- }
- },
- "74_276": {
- "title": "*Fortress Never Fallen",
- "culture": "rohan",
- "cost": 2,
- "type": "condition",
- "keyword": "support area",
- "effects": [
- {
- "type": "trigger",
- "optional": true,
- "trigger": {
- "type": "winsSkirmish",
- "filter": "culture(rohan),man"
- },
- "effect": {
- "type": "addTokens",
- "culture": "rohan",
- "filter": "self"
- }
- },
- {
- "type": "activated",
- "phase": "regroup",
- "cost": [
- {
- "type": "memorizeNumber",
- "memory": "numberOfTokens",
- "amount": {
- "type": "forEachToken",
- "culture": "rohan",
- "filter": "self"
- }
- }
- ],
- "effect": [
- {
- "type": "discard",
- "filter": "choose(side(shadow),condition)",
- "count": {
- "type": "fromMemory",
- "memory": "numberOfTokens",
- "limit": 4
- }
- },
- {
- "type": "discard",
- "filter": "self"
- }
- ]
- }
- ]
- },
- "74_304": {
- "title": "Get On and Get Away",
- "culture": "shire",
- "cost": 0,
- "type": "event",
- "keyword": "fellowship",
- "condition": {
- "type": "or",
- "condition": [
- {
- "type": "canSpot",
- "filter": "name(smeagol)"
- },
- {
- "type": "canSpot",
- "filter": "ring bound,hobbit",
- "count": 2
- }
- ]
- },
- "effects": {
- "type": "event",
- "cost": {
- "type": "addBurdens",
- "amount": 2
- },
- "effect": [
- {
- "type": "playSite",
- "number": {
- "type": "nextSiteNumber"
- }
- },
- {
- "type": "playSite",
- "number": {
- "type": "siteNumberAfterNext"
- }
- }
- ]
- }
- }
}
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set04-errata.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set04-errata.json
new file mode 100644
index 000000000..61dd93f3d
--- /dev/null
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set04-errata.json
@@ -0,0 +1,151 @@
+{
+ "54_73": {
+ "title": "*Legolas",
+ "subtitle": "Dauntless Hunter",
+ "culture": "elven",
+ "cost": 2,
+ "type": "companion",
+ "race": "elf",
+ "strength": 6,
+ "vitality": 3,
+ "resistance": 6,
+ "signet": "aragorn",
+ "keyword": "archer",
+ "effects": {
+ "type": "modifier",
+ "modifier": {
+ "type": "modifyCost",
+ "filter": "side(shadow),or(event,condition)",
+ "amount": {
+ "type": "forEachYouCanSpot",
+ "filter": "unbound,hobbit",
+ "limit": 2
+ }
+ }
+ }
+ },
+ "54_192": {
+ "side": "shadow",
+ "site": 5,
+ "cost": 3,
+ "race": "Uruk-Hai",
+ "strength": 8,
+ "culture": "Isengard",
+ "vitality": 2,
+ "title": "Uruk Regular",
+ "type": "minion",
+ "keyword": "Damage+1",
+ "effects": {
+ "type": "activated",
+ "phase": "shadow",
+ "cost": {
+ "type": "exert",
+ "filter": "self"
+ },
+ "effect": {
+ "type": "play",
+ "filter": "choose(uruk-hai)",
+ "cost": {
+ "type": "forEachYouCanSpot",
+ "filter": "not(self),uruk-hai",
+ "limit": 2,
+ "multiplier": -1
+ }
+ }
+ }
+ },
+ "54_276": {
+ "title": "*Fortress Never Fallen",
+ "culture": "rohan",
+ "cost": 2,
+ "type": "condition",
+ "keyword": "support area",
+ "effects": [
+ {
+ "type": "trigger",
+ "optional": true,
+ "trigger": {
+ "type": "winsSkirmish",
+ "filter": "culture(rohan),man"
+ },
+ "effect": {
+ "type": "addTokens",
+ "culture": "rohan",
+ "filter": "self"
+ }
+ },
+ {
+ "type": "activated",
+ "phase": "regroup",
+ "cost": [
+ {
+ "type": "memorizeNumber",
+ "memory": "numberOfTokens",
+ "amount": {
+ "type": "forEachToken",
+ "culture": "rohan",
+ "filter": "self"
+ }
+ }
+ ],
+ "effect": [
+ {
+ "type": "discard",
+ "filter": "choose(side(shadow),condition)",
+ "count": {
+ "type": "fromMemory",
+ "memory": "numberOfTokens",
+ "limit": 4
+ }
+ },
+ {
+ "type": "discard",
+ "filter": "self"
+ }
+ ]
+ }
+ ]
+ },
+ "54_304": {
+ "title": "Get On and Get Away",
+ "culture": "shire",
+ "cost": 0,
+ "type": "event",
+ "keyword": "fellowship",
+ "condition": {
+ "type": "or",
+ "condition": [
+ {
+ "type": "canSpot",
+ "filter": "name(smeagol)"
+ },
+ {
+ "type": "canSpot",
+ "filter": "ring bound,hobbit",
+ "count": 2
+ }
+ ]
+ },
+ "effects": {
+ "type": "event",
+ "cost": {
+ "type": "addBurdens",
+ "amount": 2
+ },
+ "effect": [
+ {
+ "type": "playSite",
+ "number": {
+ "type": "nextSiteNumber"
+ }
+ },
+ {
+ "type": "playSite",
+ "number": {
+ "type": "siteNumberAfterNext"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set07-errata-playtest.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set07-errata-playtest.json
index 63ec9c216..2c63c0851 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set07-errata-playtest.json
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set07-errata-playtest.json
@@ -1,70 +1,2 @@
{
- "77_49": {
- "title": "*Steadfast Champion",
- "culture": "gandalf",
- "cost": 2,
- "type": "condition",
- "target": "name(gandalf)",
- "effects": [
- {
- "type": "modifier",
- "modifier": {
- "type": "addActivated",
- "filter": "minion",
- "phase": "assignment",
- "text": "Assign to Gandalf",
- "effect": {
- "type": "assignFpCharacterToSkirmish",
- "fpCharacter": "choose(name(gandalf))",
- "against": "self"
- }
- }
- },
- {
- "type": "trigger",
- "optional": true,
- "trigger": {
- "type": "startOfPhase",
- "phase": "regroup"
- },
- "cost": {
- "type": "discard",
- "filter": "self"
- },
- "effect": [
- {
- "type": "discard",
- "filter": "choose(minion)"
- },
- {
- "type": "heal",
- "filter": "choose(companion)",
- "times": 3
- }
- ]
- }
- ]
- },
- "77_96": {
- "title": "Gondorian Captain",
- "culture": "gondor",
- "cost": 2,
- "type": "companion",
- "race": "man",
- "strength": 6,
- "vitality": 3,
- "resistance": 6,
- "keyword": "knight",
- "effects": {
- "type": "activated",
- "phase": "maneuver",
- "cost": {
- "type": "discard",
- "filter": "choose(fortification)"
- },
- "effect": {
- "type": "removeThreats"
- }
- }
- }
}
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set07-errata.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set07-errata.json
new file mode 100644
index 000000000..1b4cac596
--- /dev/null
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set07-errata.json
@@ -0,0 +1,70 @@
+{
+ "57_49": {
+ "title": "*Steadfast Champion",
+ "culture": "gandalf",
+ "cost": 2,
+ "type": "condition",
+ "target": "name(gandalf)",
+ "effects": [
+ {
+ "type": "modifier",
+ "modifier": {
+ "type": "addActivated",
+ "filter": "minion",
+ "phase": "assignment",
+ "text": "Assign to Gandalf",
+ "effect": {
+ "type": "assignFpCharacterToSkirmish",
+ "fpCharacter": "choose(name(gandalf))",
+ "against": "self"
+ }
+ }
+ },
+ {
+ "type": "trigger",
+ "optional": true,
+ "trigger": {
+ "type": "startOfPhase",
+ "phase": "regroup"
+ },
+ "cost": {
+ "type": "discard",
+ "filter": "self"
+ },
+ "effect": [
+ {
+ "type": "discard",
+ "filter": "choose(minion)"
+ },
+ {
+ "type": "heal",
+ "filter": "choose(companion)",
+ "times": 3
+ }
+ ]
+ }
+ ]
+ },
+ "57_96": {
+ "title": "Gondorian Captain",
+ "culture": "gondor",
+ "cost": 2,
+ "type": "companion",
+ "race": "man",
+ "strength": 6,
+ "vitality": 3,
+ "resistance": 6,
+ "keyword": "knight",
+ "effects": {
+ "type": "activated",
+ "phase": "maneuver",
+ "cost": {
+ "type": "discard",
+ "filter": "choose(fortification)"
+ },
+ "effect": {
+ "type": "removeThreats"
+ }
+ }
+ }
+}
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set08-errata-playtest.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set08-errata-playtest.json
index 82cf770fd..2c63c0851 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set08-errata-playtest.json
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set08-errata-playtest.json
@@ -1,38 +1,2 @@
{
- "78_1": {
- "title": "Aggression",
- "culture": "dwarven",
- "cost": 1,
- "type": "condition",
- "keyword": "support area",
- "effects": [
- {
- "type": "modifier",
- "modifier": {
- "type": "addKeyword",
- "filter": "dwarf",
- "keyword": "damage+1",
- "condition": {
- "type": "haveInitiative",
- "side": "free_people"
- }
- }
- },
- {
- "type": "activated",
- "phase": "fellowship",
- "condition": {
- "type": "canSpot",
- "filter": "dwarf"
- },
- "cost": {
- "type": "discard",
- "filter": "self"
- },
- "effect": {
- "type": "drawCards"
- }
- }
- ]
- }
}
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set08-errata.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set08-errata.json
new file mode 100644
index 000000000..16b86bd06
--- /dev/null
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set08-errata.json
@@ -0,0 +1,38 @@
+{
+ "58_1": {
+ "title": "Aggression",
+ "culture": "dwarven",
+ "cost": 1,
+ "type": "condition",
+ "keyword": "support area",
+ "effects": [
+ {
+ "type": "modifier",
+ "modifier": {
+ "type": "addKeyword",
+ "filter": "dwarf",
+ "keyword": "damage+1",
+ "condition": {
+ "type": "haveInitiative",
+ "side": "free_people"
+ }
+ }
+ },
+ {
+ "type": "activated",
+ "phase": "fellowship",
+ "condition": {
+ "type": "canSpot",
+ "filter": "dwarf"
+ },
+ "cost": {
+ "type": "discard",
+ "filter": "self"
+ },
+ "effect": {
+ "type": "drawCards"
+ }
+ }
+ ]
+ }
+}
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set10-errata-playtest.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set10-errata-playtest.json
index 8364b81b9..2c63c0851 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set10-errata-playtest.json
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set10-errata-playtest.json
@@ -1,112 +1,2 @@
{
- "80_2": {
- "title": "*Memories of Darkness",
- "culture": "dwarven",
- "cost": 1,
- "type": "condition",
- "keyword": "support area",
- "condition": {
- "type": "canSpot",
- "filter": "dwarf"
- },
- "effects": {
- "type": "trigger",
- "trigger": {
- "type": "losesInitiative",
- "side": "free people"
- },
- "condition": {
- "type": "not",
- "condition": {
- "type": "phase",
- "phase": "fellowship"
- }
- },
- "effect": {
- "type": "play",
- "filter": "choose(culture(dwarven),or(condition,possession))"
- }
- }
- },
- "80_11": {
- "title": "*Galadriel",
- "subtitle": "Lady Redeemed",
- "culture": "elven",
- "cost": 3,
- "type": "companion",
- "race": "elf",
- "strength": 3,
- "vitality": 3,
- "resistance": 6,
- "effects": [
- {
- "type": "modifyOwnCost",
- "condition": {
- "type": "phase",
- "phase": "play starting fellowship"
- },
- "amount": -3
- },
- {
- "type": "trigger",
- "optional": true,
- "trigger": {
- "type": "startOfPhase",
- "phase": "regroup"
- },
- "cost": {
- "type": "discardFromHand",
- "count": 1,
- "forced": false,
- "filter": "choose(culture(elven),event)"
- },
- "effect": {
- "type": "discard",
- "filter": "choose(side(shadow),or(condition,possession))"
- }
- }
- ]
- },
- "80_91": {
- "title": "Mordor Fiend",
- "culture": "sauron",
- "cost": 3,
- "type": "minion",
- "race": "orc",
- "strength": 9,
- "vitality": 3,
- "site": 6,
- "effects": {
- "type": "trigger",
- "trigger": {
- "type": "played",
- "filter": "self"
- },
- "condition": [
- {
- "type": "twilightPoolLessThan",
- "amount": 4
- },
- {
- "type": "not",
- "condition": {
- "type": "canSpot",
- "filter": "not(self),minion"
- }
- }
- ],
- "effect": {
- "type": "addTwilight",
- "amount": {
- "type": "condition",
- "condition": {
- "type": "canSpot",
- "filter": "self,roaming"
- },
- "true": 5,
- "false": 3
- }
- }
- }
- }
}
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set10-errata.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set10-errata.json
new file mode 100644
index 000000000..b17da6226
--- /dev/null
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set10-errata.json
@@ -0,0 +1,112 @@
+{
+ "60_2": {
+ "title": "*Memories of Darkness",
+ "culture": "dwarven",
+ "cost": 1,
+ "type": "condition",
+ "keyword": "support area",
+ "condition": {
+ "type": "canSpot",
+ "filter": "dwarf"
+ },
+ "effects": {
+ "type": "trigger",
+ "trigger": {
+ "type": "losesInitiative",
+ "side": "free people"
+ },
+ "condition": {
+ "type": "not",
+ "condition": {
+ "type": "phase",
+ "phase": "fellowship"
+ }
+ },
+ "effect": {
+ "type": "play",
+ "filter": "choose(culture(dwarven),or(condition,possession))"
+ }
+ }
+ },
+ "60_11": {
+ "title": "*Galadriel",
+ "subtitle": "Lady Redeemed",
+ "culture": "elven",
+ "cost": 3,
+ "type": "companion",
+ "race": "elf",
+ "strength": 3,
+ "vitality": 3,
+ "resistance": 6,
+ "effects": [
+ {
+ "type": "modifyOwnCost",
+ "condition": {
+ "type": "phase",
+ "phase": "play starting fellowship"
+ },
+ "amount": -3
+ },
+ {
+ "type": "trigger",
+ "optional": true,
+ "trigger": {
+ "type": "startOfPhase",
+ "phase": "regroup"
+ },
+ "cost": {
+ "type": "discardFromHand",
+ "count": 1,
+ "forced": false,
+ "filter": "choose(culture(elven),event)"
+ },
+ "effect": {
+ "type": "discard",
+ "filter": "choose(side(shadow),or(condition,possession))"
+ }
+ }
+ ]
+ },
+ "60_91": {
+ "title": "Mordor Fiend",
+ "culture": "sauron",
+ "cost": 3,
+ "type": "minion",
+ "race": "orc",
+ "strength": 9,
+ "vitality": 3,
+ "site": 6,
+ "effects": {
+ "type": "trigger",
+ "trigger": {
+ "type": "played",
+ "filter": "self"
+ },
+ "condition": [
+ {
+ "type": "twilightPoolLessThan",
+ "amount": 4
+ },
+ {
+ "type": "not",
+ "condition": {
+ "type": "canSpot",
+ "filter": "not(self),minion"
+ }
+ }
+ ],
+ "effect": {
+ "type": "addTwilight",
+ "amount": {
+ "type": "condition",
+ "condition": {
+ "type": "canSpot",
+ "filter": "self,roaming"
+ },
+ "true": 5,
+ "false": 3
+ }
+ }
+ }
+ }
+}
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set11-errata-playtest.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set11-errata-playtest.json
index fddcec0a2..2c63c0851 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set11-errata-playtest.json
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set11-errata-playtest.json
@@ -1,108 +1,2 @@
{
- "81_31": {
- "title": "Final Account",
- "culture": "gandalf",
- "cost": 1,
- "type": "event",
- "keyword": "fellowship",
- "effects": {
- "type": "event",
- "cost": [
- {
- "type": "exert",
- "filter": "choose(culture(gandalf),wizard)"
- },
- {
- "type": "discardFromHand",
- "forced": false
- }
- ],
- "effect": {
- "type": "putCardsFromDiscardIntoHand",
- "filter": "choose(side(shadow))"
- }
- }
- },
- "81_100": {
- "title": "Strange-looking Men",
- "culture": "men",
- "cost": 4,
- "type": "minion",
- "race": "man",
- "strength": 10,
- "vitality": 2,
- "site": 4,
- "effects": {
- "type": "trigger",
- "optional": true,
- "trigger": {
- "type": "startOfPhase",
- "phase": "maneuver"
- },
- "cost": {
- "type": "exert",
- "filter": "self"
- },
- "effect": {
- "type": "transfer",
- "filter": "choose(or(possession,condition),attachedTo(character))",
- "where": "choose(any)",
- "checkTarget": true
- }
- }
- },
- "81_114": {
- "title": "*Demoralized",
- "culture": "orc",
- "cost": 1,
- "type": "condition",
- "keyword": "support area",
- "condition": {
- "type": "canSpot",
- "filter": "culture(orc),minion"
- },
- "effects": {
- "type": "trigger",
- "trigger": {
- "type": "exerts",
- "filter": "companion"
- },
- "effect": {
- "type": "addTwilight",
- "amount": {
- "type": "condition",
- "condition": {
- "type": "canSpot",
- "filter": "companion",
- "count": 6
- },
- "true": 2,
- "false": 1
- }
- }
- }
- },
- "81_132": {
- "title": "Orkish Smith",
- "culture": "orc",
- "cost": 2,
- "type": "minion",
- "race": "orc",
- "strength": 6,
- "vitality": 1,
- "site": 4,
- "effects": {
- "type": "trigger",
- "optional": true,
- "trigger": {
- "type": "played",
- "filter": "self"
- },
- "effect": {
- "type": "shuffleCardsFromDiscardIntoDrawDeck",
- "filter": "choose(culture(orc),condition)",
- "count": "0-2"
- }
- }
- }
}
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set11-errata.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set11-errata.json
new file mode 100644
index 000000000..87dbe5a9d
--- /dev/null
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set11-errata.json
@@ -0,0 +1,108 @@
+{
+ "61_31": {
+ "title": "Final Account",
+ "culture": "gandalf",
+ "cost": 1,
+ "type": "event",
+ "keyword": "fellowship",
+ "effects": {
+ "type": "event",
+ "cost": [
+ {
+ "type": "exert",
+ "filter": "choose(culture(gandalf),wizard)"
+ },
+ {
+ "type": "discardFromHand",
+ "forced": false
+ }
+ ],
+ "effect": {
+ "type": "putCardsFromDiscardIntoHand",
+ "filter": "choose(side(shadow))"
+ }
+ }
+ },
+ "61_100": {
+ "title": "Strange-looking Men",
+ "culture": "men",
+ "cost": 4,
+ "type": "minion",
+ "race": "man",
+ "strength": 10,
+ "vitality": 2,
+ "site": 4,
+ "effects": {
+ "type": "trigger",
+ "optional": true,
+ "trigger": {
+ "type": "startOfPhase",
+ "phase": "maneuver"
+ },
+ "cost": {
+ "type": "exert",
+ "filter": "self"
+ },
+ "effect": {
+ "type": "transfer",
+ "filter": "choose(or(possession,condition),attachedTo(character))",
+ "where": "choose(any)",
+ "checkTarget": true
+ }
+ }
+ },
+ "61_114": {
+ "title": "*Demoralized",
+ "culture": "orc",
+ "cost": 1,
+ "type": "condition",
+ "keyword": "support area",
+ "condition": {
+ "type": "canSpot",
+ "filter": "culture(orc),minion"
+ },
+ "effects": {
+ "type": "trigger",
+ "trigger": {
+ "type": "exerts",
+ "filter": "companion"
+ },
+ "effect": {
+ "type": "addTwilight",
+ "amount": {
+ "type": "condition",
+ "condition": {
+ "type": "canSpot",
+ "filter": "companion",
+ "count": 6
+ },
+ "true": 2,
+ "false": 1
+ }
+ }
+ }
+ },
+ "61_132": {
+ "title": "Orkish Smith",
+ "culture": "orc",
+ "cost": 2,
+ "type": "minion",
+ "race": "orc",
+ "strength": 6,
+ "vitality": 1,
+ "site": 4,
+ "effects": {
+ "type": "trigger",
+ "optional": true,
+ "trigger": {
+ "type": "played",
+ "filter": "self"
+ },
+ "effect": {
+ "type": "shuffleCardsFromDiscardIntoDrawDeck",
+ "filter": "choose(culture(orc),condition)",
+ "count": "0-2"
+ }
+ }
+ }
+}
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set13-errata-playtest.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set13-errata-playtest.json
index 423612af2..bfd870e45 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set13-errata-playtest.json
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set13-errata-playtest.json
@@ -1,33 +1,3 @@
{
- "83_188": {
- "title": "Courtyard Parapet",
- "type": "site",
- "block": "Shadows",
- "cost": 0,
- "keyword": "Dwelling",
- "direction": "left",
- "effects": [
- {
- "type": "trigger",
- "trigger": {
- "type": "movesTo",
- "filter": "self"
- },
- "condition": {
- "type": "location",
- "filter": "siteinregion2"
- },
- "cost": {
- "type": "discardFromHand",
- "hand": "shadowPlayer",
- "player": "shadowPlayer",
- "forced": false,
- "count": 2
- },
- "effect": {
- "type": "addBurdens"
- }
- }
- ]
- }
}
+
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set13-errata.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set13-errata.json
new file mode 100644
index 000000000..9cd75046d
--- /dev/null
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set13-errata.json
@@ -0,0 +1,33 @@
+{
+ "63_188": {
+ "title": "Courtyard Parapet",
+ "type": "site",
+ "block": "Shadows",
+ "cost": 0,
+ "keyword": "Dwelling",
+ "direction": "left",
+ "effects": [
+ {
+ "type": "trigger",
+ "trigger": {
+ "type": "movesTo",
+ "filter": "self"
+ },
+ "condition": {
+ "type": "location",
+ "filter": "siteinregion2"
+ },
+ "cost": {
+ "type": "discardFromHand",
+ "hand": "shadowPlayer",
+ "player": "shadowPlayer",
+ "forced": false,
+ "count": 2
+ },
+ "effect": {
+ "type": "addBurdens"
+ }
+ }
+ ]
+ }
+}
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set15-errata-playtest.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set15-errata-playtest.json
index 94ec53e59..2c63c0851 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set15-errata-playtest.json
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set15-errata-playtest.json
@@ -1,45 +1,2 @@
{
- "85_64": {
- "title": "*Madril",
- "subtitle": "Defender of Osgiliath",
- "culture": "gondor",
- "cost": 2,
- "type": "companion",
- "race": "man",
- "strength": 5,
- "vitality": 3,
- "resistance": 6,
- "keyword": [
- "Ranger",
- "Hunter"
- ],
- "effects": [
- {
- "type": "modifyOwnCost",
- "condition": {
- "type": "canSpot",
- "count": 2,
- "filter": "culture(gondor),ranger"
- },
- "amount": -2
- },
- {
- "type": "trigger",
- "optional": true,
- "trigger": {
- "type": "startOfPhase",
- "phase": "maneuver"
- },
- "condition": {
- "type": "canSpotThreats"
- },
- "effect": {
- "type": "modifySiteNumber",
- "filter": "all(minion)",
- "amount": 1,
- "until": "start(regroup)"
- }
- }
- ]
- }
}
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set15-errata.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set15-errata.json
new file mode 100644
index 000000000..15b437f01
--- /dev/null
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/errata/set15-errata.json
@@ -0,0 +1,45 @@
+{
+ "65_64": {
+ "title": "*Madril",
+ "subtitle": "Defender of Osgiliath",
+ "culture": "gondor",
+ "cost": 2,
+ "type": "companion",
+ "race": "man",
+ "strength": 5,
+ "vitality": 3,
+ "resistance": 6,
+ "keyword": [
+ "Ranger",
+ "Hunter"
+ ],
+ "effects": [
+ {
+ "type": "modifyOwnCost",
+ "condition": {
+ "type": "canSpot",
+ "count": 2,
+ "filter": "culture(gondor),ranger"
+ },
+ "amount": -2
+ },
+ {
+ "type": "trigger",
+ "optional": true,
+ "trigger": {
+ "type": "startOfPhase",
+ "phase": "maneuver"
+ },
+ "condition": {
+ "type": "canSpotThreats"
+ },
+ "effect": {
+ "type": "modifySiteNumber",
+ "filter": "all(minion)",
+ "amount": 1,
+ "until": "start(regroup)"
+ }
+ }
+ ]
+ }
+}
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 dfebad350..da6890823 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
@@ -92,33 +92,32 @@ var PCCards = {
'53_106': 'https://i.lotrtcgpc.net/errata/xlist/53_106.jpg',
'53_108': 'https://i.lotrtcgpc.net/errata/xlist/53_108.jpg',
'53_113': 'https://i.lotrtcgpc.net/errata/xlist/53_113.jpg',
-
+
+ '54_73': 'https://i.lotrtcgpc.net/errata/xlist/54_073.jpg',
+ '54_192': 'https://i.lotrtcgpc.net/errata/xlist/54_192.jpg',
+ '54_276': 'https://i.lotrtcgpc.net/errata/xlist/54_276.jpg',
+ '54_304': 'https://i.lotrtcgpc.net/errata/xlist/54_304.jpg',
+
+ '57_49': 'https://i.lotrtcgpc.net/errata/xlist/57_049.jpg',
+ '57_96': 'https://i.lotrtcgpc.net/errata/xlist/57_096.jpg',
+
+ '58_1': 'https://i.lotrtcgpc.net/errata/xlist/58_001.jpg',
+
+ '60_2': 'https://i.lotrtcgpc.net/errata/xlist/60_002.jpg',
+ '60_11': 'https://i.lotrtcgpc.net/errata/xlist/60_011.jpg',
+ '60_91': 'https://i.lotrtcgpc.net/errata/xlist/60_091.jpg',
+
+ '61_100': 'https://i.lotrtcgpc.net/errata/xlist/61_100.jpg',
+ '61_114': 'https://i.lotrtcgpc.net/errata/xlist/61_114.jpg',
+ '61_132': 'https://i.lotrtcgpc.net/errata/xlist/61_132.jpg',
+ '61_31': 'https://i.lotrtcgpc.net/errata/xlist/61_031.jpg',
+
+ '63_188': 'https://i.lotrtcgpc.net/errata/xlist/63_188.jpg',
+
+ '65_64': 'https://i.lotrtcgpc.net/errata/xlist/65_064.jpg',
// Future Errata
-
- '74_73': 'https://i.lotrtcgpc.net/errata/xlist/54_073.jpg',
- '74_192': 'https://i.lotrtcgpc.net/errata/xlist/54_192.jpg',
- '74_276': 'https://i.lotrtcgpc.net/errata/xlist/54_276.jpg',
- '74_304': 'https://i.lotrtcgpc.net/errata/xlist/54_304.jpg',
-
- '77_49': 'https://i.lotrtcgpc.net/errata/xlist/57_049.jpg',
- '77_96': 'https://i.lotrtcgpc.net/errata/xlist/57_096.jpg',
-
- '78_1': 'https://i.lotrtcgpc.net/errata/xlist/58_001.jpg',
-
- '80_2': 'https://i.lotrtcgpc.net/errata/xlist/60_002.jpg',
- '80_11': 'https://i.lotrtcgpc.net/errata/xlist/60_011.jpg',
- '80_91': 'https://i.lotrtcgpc.net/errata/xlist/60_091.jpg',
-
- '81_100': 'https://i.lotrtcgpc.net/errata/xlist/61_100.jpg',
- '81_114': 'https://i.lotrtcgpc.net/errata/xlist/61_114.jpg',
- '81_132': 'https://i.lotrtcgpc.net/errata/xlist/61_132.jpg',
- '81_31': 'https://i.lotrtcgpc.net/errata/xlist/61_031.jpg',
-
- '83_188': 'https://i.lotrtcgpc.net/errata/xlist/63_188.jpg',
-
- '85_64': 'https://i.lotrtcgpc.net/errata/xlist/65_064.jpg',
-
+
/// Player's Council League Promos
// April 2021
'11_267': 'https://i.lotrtcgpc.net/promos/2021/04/PCPROMO_FA_11054.jpg',
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/cardFilter.js b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/cardFilter.js
index 4bff7627f..463168338 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/cardFilter.js
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/cardFilter.js
@@ -129,9 +129,9 @@ var CardFilter = Class.extend({
+ ""
+ ""
+ ""
- + ""
- + ""
- + ""
+ + ""
+ + ""
+ + ""
+ ""
+ ""
+ ""
@@ -161,9 +161,9 @@ var CardFilter = Class.extend({
+ ""
+ ""
+ ""
- + ""
- + ""
- + ""
+ + ""
+ + ""
+ + ""
+ "");
this.nameInput = $("");
this.sortSelect = $("