diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set03/set03-Gondor-errata.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set03/set03-Gondor-errata.hjson
index 0164f8bcd..18f4c3f06 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set03/set03-Gondor-errata.hjson
+++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set03/set03-Gondor-errata.hjson
@@ -1,5 +1,4 @@
{
-
53_38: {
cardInfo: {
//Either a full URL, or a subpath for the PC image server
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set01-Isengard-errata-playtest.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set01-Isengard-errata-playtest.hjson
new file mode 100644
index 000000000..3cd2ac771
--- /dev/null
+++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set01-Isengard-errata-playtest.hjson
@@ -0,0 +1,88 @@
+{
+ 71_139: {
+ cardInfo: {
+ //Either a full URL, or a subpath for the PC image server
+ imagePath: errata/LOTR-EN01E139.2.jpg
+ //If this is true, then all gameplay-related info outside this cardInfo definition
+ // will be ignored and the java class loaded instead.
+ javaClass: false
+ //This instructs the blueprint generator to insert this card as an alt of the listed
+ // parent blueprint. Can of course be ommitted if not an errata or promo.
+ parent: 1_139
+ //This is the tree path to use within the alts structure on the parent.
+ // Can of course be ommitted if parent is null.
+ parentPath: errata/pc
+ //Versioning differentiates releases within a particular alt path, such as PC errata
+ // version 1 vs version 2. PC version 2 will not conflict with, say, Decipher version 2.
+ //Top-level cards should always be version 0.
+ version: 3
+ collInfo: 1R139
+ rarity: R
+ setNum: "1"
+ cardNum: 139
+ // Standard, Masterwork, Tengwar, FullArt, etc. Top-level cards are always Standard.
+ style: Standard
+ }
+ title: Savagery To Match Their Numbers
+ culture: isengard
+ twilight: 1
+ type: event
+ keyword: skirmish
+ effects: {
+ type: event
+ effect: {
+ type: choice
+ texts: [
+ Make an Uruk-hai strength +2
+ Make an Uruk-hai strength +2 (and +2 more and fierce until the regroup phase)
+ ]
+ effects: [
+ {
+ type: modifyStrength
+ filter: choose(uruk-hai)
+ amount: 2
+ }
+ {
+ type: conditional
+ requires: {
+ type: canSpot
+ count: 5
+ filter: companion
+ }
+ effect: [
+ {
+ type: modifyStrength
+ filter: choose(uruk-hai)
+ amount: 2
+ memorize: chosenUrukHai
+ }
+ {
+ type: modifyStrength
+ filter: memory(chosenUrukHai)
+ amount: 2
+ until: start(regroup)
+ }
+ {
+ type: addKeyword
+ filter: memory(chosenUrukHai)
+ keyword: fierce
+ until: start(regroup)
+ }
+ ]
+ }
+ ]
+ }
+ }
+ gametext: Skirmish: Make an Uruk-hai strength +2.\If you can spot 5 companions, also make it fierce and strength +2 more until the regroup phase).
+ lore: Uruk-hai match their enemies' strength with their own feral rage.
+ promotext: ""
+ alts: {
+ //These are just CardInfo objects
+ promos: {
+ }
+ //These are full card definitions, with redundant info that is the same as the original card ommitted
+ errata: {
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set03-Gondor-errata-playtest.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set03-Gondor-errata-playtest.hjson
new file mode 100644
index 000000000..1e75b2554
--- /dev/null
+++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set03-Gondor-errata-playtest.hjson
@@ -0,0 +1,70 @@
+{
+
+ 73_41: {
+ cardInfo: {
+ //Either a full URL, or a subpath for the PC image server
+ imagePath: errata/LOTR-EN03E041.1_card.jpg
+ //If this is true, then all gameplay-related info outside this cardInfo definition
+ // will be ignored and the java class loaded instead.
+ javaClass: false
+ //This instructs the blueprint generator to insert this card as an alt of the listed
+ // parent blueprint. Can of course be ommitted if not an errata or promo.
+ parent: 3_41
+ //This is the tree path to use within the alts structure on the parent.
+ // Can of course be ommitted if parent is null.
+ parentPath: errata/pc
+ //Versioning differentiates releases within a particular alt path, such as PC errata
+ // version 1 vs version 2. PC version 2 will not conflict with, say, Decipher version 2.
+ //Top-level cards should always be version 0.
+ version: 1
+ collInfo: 3R41
+ rarity: R
+ setNum: "3"
+ cardNum: 41
+ // Standard, Masterwork, Tengwar, FullArt, etc. Top-level cards are always Standard.
+ style: Standard
+ }
+ title: Gondor Bowmen
+ unique: false
+ side: Free Peoples
+ culture: Gondor
+ twilight: 1
+ type: Condition
+ keyword: [
+ tale
+ support area
+ ]
+ effects: [
+ {
+ type: Activated
+ phase: Archery
+ cost: [
+ {
+ type: Exert
+ filter: choose(culture(gondor),companion)
+ }
+ {
+ type: Discard
+ filter: self
+ }
+ ]
+ effect: {
+ type: ModifyArcheryTotal
+ side: freeps
+ amount: 2
+ }
+ }
+ ]
+ gametext: Tale.
Archery: Exert a [gondor] companion and discard this condition to make the fellowship archery total +2.
+ lore: Arrows of the Last Alliance brought death to Sauron's forces.
+ promotext: ""
+ alts: {
+ //These are just CardInfo objects
+ promos: {
+ }
+ //These are full card definitions, with redundant info that is the same as the original card ommitted
+ errata: {
+ }
+ }
+ }
+}
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set03-Ringwraith-errata-playtest.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set03-Ringwraith-errata-playtest.hjson
index 32004911e..29418a58a 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set03-Ringwraith-errata-playtest.hjson
+++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set03-Ringwraith-errata-playtest.hjson
@@ -72,7 +72,7 @@
effect: {
type: Optional
player: freeps
- text: Would you like to discard 2 cards from hand matching {bearer}'s culture to discard Too Great and Terrible?
+ text: Would you like to discard 1 card from hand matching {bearer}'s culture to discard Too Great and Terrible?
effect: {
type: CostToEffect
cost: {
@@ -80,7 +80,7 @@
player: freeps
hand: freeps
forced: false
- count: 2
+ count: 1
filter: choose(CultureFromMemory(bearer))
}
effect: {
@@ -94,7 +94,7 @@
]
}
]
- gametext: To play, exert a [ringwraith] minion. Bearer must be a companion or ally. Bearer cannot be exerted by Free Peoples cards.
At the start of the regroup phase, the Free Peoples player may discard 2 cards from hand of bearer's culture to discard this condition.
+ gametext: To play, exert a [ringwraith] minion. Bearer must be a companion or ally. Bearer cannot be exerted by Free Peoples cards.
At the start of the regroup phase, the Free Peoples player may discard 1 card from hand of bearer's culture to discard this condition.
lore: “‘I do not wish to become like the Dark Lord himself.'”
promotext: ""
alts: {
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set101-Gondor-errata-playtest.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set101-Gondor-errata-playtest.hjson
index aa6e20c8f..aeff84541 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set101-Gondor-errata-playtest.hjson
+++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set101-Gondor-errata-playtest.hjson
@@ -61,7 +61,7 @@
type: Choice
texts: [
Make Aragorn damage +1
- Make Aragorn defender +1
+ Make Aragorn an archer
Make Aragorn strength +2
]
effects: [
@@ -75,8 +75,7 @@
{
type: AddKeyword
filter: self
- keyword: defender
- amount: 1
+ keyword: archer
until: start(regroup)
}
{
@@ -89,7 +88,7 @@
}
}
]
- gametext: When you play Aragorn, you may take an Elf with a twilight cost of 2 or less into hand from your draw deck.
Maneuver: Discard an [elven] card from hand to make Aragorn damage +1, defender +1, or strength +2 until the regroup phase.
+ gametext: When you play Aragorn, you may take an Elf with a twilight cost of 2 or less into hand from your draw deck.
Maneuver: Discard an [elven] card from hand to make Aragorn damage +1, archer, or strength +2 until the regroup phase.
lore: "'I gave Hope to the Dúnedain, I have kept no hope for myself.'"
promotext: ""
alts: {
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set17-Gandalf-errata-playtest.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set17-Gandalf-errata-playtest.hjson
new file mode 100644
index 000000000..58c0d35e4
--- /dev/null
+++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/yuletide/set17-Gandalf-errata-playtest.hjson
@@ -0,0 +1,95 @@
+{
+
+ 87_24: {
+ cardInfo: {
+ //Either a full URL, or a subpath for the PC image server
+ imagePath: errata/LOTR-EN17E024.1_card.jpg
+ //If this is true, then all gameplay-related info outside this cardInfo definition
+ // will be ignored and the java class loaded instead.
+ javaClass: false
+ //This instructs the blueprint generator to insert this card as an alt of the listed
+ // parent blueprint. Can of course be ommitted if not an errata or promo.
+ parent: 17_24
+ //This is the tree path to use within the alts structure on the parent.
+ // Can of course be ommitted if parent is null.
+ parentPath: errata/pc
+ //Versioning differentiates releases within a particular alt path, such as PC errata
+ // version 1 vs version 2. PC version 2 will not conflict with, say, Decipher version 2.
+ //Top-level cards should always be version 0.
+ version: 1
+ collInfo: 17R24
+ rarity: R
+ setNum: "17"
+ cardNum: 24
+ // Standard, Masterwork, Tengwar, FullArt, etc. Top-level cards are always Standard.
+ style: Standard
+ }
+ title: Shadowfax
+ subtitle: Greatest of the Mearas
+ unique: true
+ side: Free Peoples
+ culture: Gandalf
+ twilight: 2
+ type: Possession
+ strength: 1
+ vitality: 1
+ resistance: 1
+ itemclass: Mount
+ target: culture(gandalf),wizard
+ effects: [
+ {
+ type: Trigger
+ optional: false
+ trigger: {
+ type: Played
+ filter: self
+ }
+ effect: {
+ type: Discard
+ filter: all(attachedTo(bearer),or(possession,weapon))
+ }
+ }
+ {
+ type: modifier
+ modifier: {
+ type: CantBear
+ filter: bearer
+ cardFilter: hand weapon
+ }
+ }
+ {
+ type: Trigger
+ optional: true
+ trigger: {
+ type: Moves
+ }
+ cost: [
+ {
+ type: exert
+ filter: bearer
+ times: 1
+ }
+ {
+ type: AddThreats
+ amount: 1
+ }
+ ]
+ effect: {
+ type: RemoveBurdens
+ amount: 1
+ }
+ }
+ ]
+ gametext: Bearer must be a [gandalf] Wizard.
When you play this, discard all other possessions and weapons on bearer. Bearer may not bear a hand weapon.
Each time the fellowship moves, you may exert bearer and add a threat to remove a burden.
+ lore: ""
+ promotext: ""
+ alts: {
+ //These are just CardInfo objects
+ promos: {
+ }
+ //These are full card definitions, with redundant info that is the same as the original card ommitted
+ errata: {
+ }
+ }
+ }
+}
diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/PreventableAppenderProducer.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/PreventableAppenderProducer.java
index 3ec7e1ebb..8a08a82cb 100644
--- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/PreventableAppenderProducer.java
+++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/PreventableAppenderProducer.java
@@ -49,6 +49,7 @@ public class PreventableAppenderProducer implements EffectAppenderProducer {
new YesNoDecision(textToUse) {
@Override
protected void yes() {
+ actionContext.getGame().getGameState().sendMessage(GameUtils.SubstituteText("{" + player + "} chooses to prevent.", actionContext));
DelegateActionContext delegate = new DelegateActionContext(actionContext,
preventingPlayer, actionContext.getGame(), actionContext.getSource(), actionContext.getEffectResult(),
actionContext.getEffect());
@@ -61,6 +62,7 @@ public class PreventableAppenderProducer implements EffectAppenderProducer {
protected void doPlayEffect(LotroGame game) {
// If the prevention was not carried out, need to do the original action anyway
if (!subAction.wasCarriedOut()) {
+ game.getGameState().sendMessage(GameUtils.SubstituteText("{" + player + "} attempted to prevent, but could not carry it out.", actionContext));
for (EffectAppender effectAppender : effectAppenders)
effectAppender.appendEffect(false, subAction, actionContext);
}
@@ -79,6 +81,7 @@ public class PreventableAppenderProducer implements EffectAppenderProducer {
@Override
protected void no() {
+ actionContext.getGame().getGameState().sendMessage(GameUtils.SubstituteText("{" + player + "} decides not to prevent.", actionContext));
for (EffectAppender effectAppender : effectAppenders)
effectAppender.appendEffect(false, subAction, actionContext);
}