Updated yuletide playtest errata. Added log output indicating when a player chooses to prevent preventable actions.
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
|
|
||||||
53_38: {
|
53_38: {
|
||||||
cardInfo: {
|
cardInfo: {
|
||||||
//Either a full URL, or a subpath for the PC image server
|
//Either a full URL, or a subpath for the PC image server
|
||||||
|
|||||||
@@ -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: <b>Skirmish:</b> Make an Uruk-hai strength +2.\If you can spot 5 companions, also make it <b>fierce</b> 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: {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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.<br>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: {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
effect: {
|
effect: {
|
||||||
type: Optional
|
type: Optional
|
||||||
player: freeps
|
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: {
|
effect: {
|
||||||
type: CostToEffect
|
type: CostToEffect
|
||||||
cost: {
|
cost: {
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
player: freeps
|
player: freeps
|
||||||
hand: freeps
|
hand: freeps
|
||||||
forced: false
|
forced: false
|
||||||
count: 2
|
count: 1
|
||||||
filter: choose(CultureFromMemory(bearer))
|
filter: choose(CultureFromMemory(bearer))
|
||||||
}
|
}
|
||||||
effect: {
|
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.<br>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.<br>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.'”
|
lore: “‘I do not wish to become like the Dark Lord himself.'”
|
||||||
promotext: ""
|
promotext: ""
|
||||||
alts: {
|
alts: {
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
type: Choice
|
type: Choice
|
||||||
texts: [
|
texts: [
|
||||||
Make Aragorn damage +1
|
Make Aragorn damage +1
|
||||||
Make Aragorn defender +1
|
Make Aragorn an archer
|
||||||
Make Aragorn strength +2
|
Make Aragorn strength +2
|
||||||
]
|
]
|
||||||
effects: [
|
effects: [
|
||||||
@@ -75,8 +75,7 @@
|
|||||||
{
|
{
|
||||||
type: AddKeyword
|
type: AddKeyword
|
||||||
filter: self
|
filter: self
|
||||||
keyword: defender
|
keyword: archer
|
||||||
amount: 1
|
|
||||||
until: start(regroup)
|
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.<br>Maneuver: Discard an [elven] card from hand to make Aragorn <b>damage +1</b>, <b>defender +1</b>, 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.<br>Maneuver: Discard an [elven] card from hand to make Aragorn <b>damage +1</b>, <b>archer</b>, or strength +2 until the regroup phase.
|
||||||
lore: "'I gave Hope to the Dúnedain, I have kept no hope for myself.'"
|
lore: "'I gave Hope to the Dúnedain, I have kept no hope for myself.'"
|
||||||
promotext: ""
|
promotext: ""
|
||||||
alts: {
|
alts: {
|
||||||
|
|||||||
@@ -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.<br>When you play this, discard all other possessions and weapons on bearer. Bearer may not bear a hand weapon.<br>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: {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -49,6 +49,7 @@ public class PreventableAppenderProducer implements EffectAppenderProducer {
|
|||||||
new YesNoDecision(textToUse) {
|
new YesNoDecision(textToUse) {
|
||||||
@Override
|
@Override
|
||||||
protected void yes() {
|
protected void yes() {
|
||||||
|
actionContext.getGame().getGameState().sendMessage(GameUtils.SubstituteText("{" + player + "} chooses to prevent.", actionContext));
|
||||||
DelegateActionContext delegate = new DelegateActionContext(actionContext,
|
DelegateActionContext delegate = new DelegateActionContext(actionContext,
|
||||||
preventingPlayer, actionContext.getGame(), actionContext.getSource(), actionContext.getEffectResult(),
|
preventingPlayer, actionContext.getGame(), actionContext.getSource(), actionContext.getEffectResult(),
|
||||||
actionContext.getEffect());
|
actionContext.getEffect());
|
||||||
@@ -61,6 +62,7 @@ public class PreventableAppenderProducer implements EffectAppenderProducer {
|
|||||||
protected void doPlayEffect(LotroGame game) {
|
protected void doPlayEffect(LotroGame game) {
|
||||||
// If the prevention was not carried out, need to do the original action anyway
|
// If the prevention was not carried out, need to do the original action anyway
|
||||||
if (!subAction.wasCarriedOut()) {
|
if (!subAction.wasCarriedOut()) {
|
||||||
|
game.getGameState().sendMessage(GameUtils.SubstituteText("{" + player + "} attempted to prevent, but could not carry it out.", actionContext));
|
||||||
for (EffectAppender effectAppender : effectAppenders)
|
for (EffectAppender effectAppender : effectAppenders)
|
||||||
effectAppender.appendEffect(false, subAction, actionContext);
|
effectAppender.appendEffect(false, subAction, actionContext);
|
||||||
}
|
}
|
||||||
@@ -79,6 +81,7 @@ public class PreventableAppenderProducer implements EffectAppenderProducer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void no() {
|
protected void no() {
|
||||||
|
actionContext.getGame().getGameState().sendMessage(GameUtils.SubstituteText("{" + player + "} decides not to prevent.", actionContext));
|
||||||
for (EffectAppender effectAppender : effectAppenders)
|
for (EffectAppender effectAppender : effectAppenders)
|
||||||
effectAppender.appendEffect(false, subAction, actionContext);
|
effectAppender.appendEffect(false, subAction, actionContext);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user