Add Fellowship block balancing errata to playtesting

This commit is contained in:
Troy Biesterfeld
2021-06-05 19:13:28 -05:00
parent e7eef5a4e4
commit 35bd02fa29
9 changed files with 449 additions and 4 deletions

View File

@@ -15,7 +15,7 @@
"side": "free_people",
"cost": 1,
"culture": "Gollum",
"title": "Called to Mordor",
"title": " Mordor",
"type": "condition"
},
"15_45": {

View File

@@ -1,2 +1,191 @@
{
"1_7": {
"title": "Dwarf Guard",
"culture": "dwarven",
"cost": 1,
"type": "companion",
"race": "dwarf",
"strength": 5,
"vitality": 2,
"resistance": 6,
"condition": {
"type": "canSpot",
"filter": "dwarf"
}
},
"1_11": {
"title": "*Farin",
"subtitle": "Dwarven Emissary",
"culture": "dwarven",
"cost": 2,
"type": "companion",
"race": "dwarf",
"strength": 6,
"vitality": 3,
"resistance": 6,
"condition": {
"type": "canSpot",
"filter": "dwarf"
},
"effects": {
"type": "modifier",
"modifier": {
"type": "modifyStrength",
"filter": "self,inSkirmishAgainst(orc)",
"amount": 2
}
}
},
"1_12": {
"title": "*Gimli",
"subtitle": "Dwarf of Erebor",
"culture": "dwarven",
"cost": 2,
"type": "companion",
"race": "dwarf",
"strength": 6,
"vitality": 3,
"resistance": 6,
"signet": "aragorn",
"keyword": "damage+1",
"effects": {
"type": "activated",
"phase": "fellowship",
"condition": {
"type": "twilightPoolLessThan",
"amount": 2
},
"cost": [
{
"type": "addTwilight",
"amount": 2
},
{
"type": "putCardsFromHandOnBottomOfDeck"
}
],
"effect": {
"type": "drawCards"
}
}
},
"1_53": {
"title": "Lorien Elf",
"culture": "elven",
"cost": 1,
"type": "companion",
"race": "elf",
"strength": 5,
"vitality": 2,
"resistance": 6,
"condition": {
"type": "canSpot",
"filter": "elf"
}
},
"1_55": {
"title": "*The Mirror of Galadriel",
"culture": "elven",
"cost": 2,
"type": "possession",
"keyword": "support area",
"effects": [
{
"type": "modifier",
"modifier": {
"type": "modifyStrength",
"filter": "elf,ally,allyHome(fellowship,6)",
"amount": 1
}
},
{
"type": "activated",
"phase": "maneuver",
"condition": {
"type": "cardsInHandMoreThan",
"player": "shadowPlayer",
"count": 6
},
"cost": {
"type": "exert",
"filter": "choose(name(Galadriel))"
},
"effect": [
{
"type": "revealRandomCardsFromHand",
"forced": true,
"hand": "fp",
"count": 4,
"memorize": "revealedCards"
},
{
"type": "putCardsFromHandOnTopOfDeck",
"filter": "choose(memory(revealedCards))",
"player": "fp"
}
]
}
]
},
"1_254": {
"title": "Mordor Enraged",
"culture": "sauron",
"cost": 0,
"type": "condition",
"target": "archer,companion",
"effects": [
{
"type": "extraCost",
"cost": {
"type": "exert",
"filter": "choose(culture(sauron),orc)"
}
},
{
"type": "activatedTrigger",
"trigger": {
"type": "usesspecialability",
"filter": "side(free people)"
},
"condition": {
"type": "phase",
"phase": "archery"
},
"effect": {
"type": "exert",
"filter": "bearer"
}
}
]
},
"1_282": {
"title": "The Weight of a Legacy",
"culture": "sauron",
"cost": 0,
"type": "condition",
"strength": -1,
"target": "culture(gondor),companion,not(hasAttached(name(The Weight of a Legacy)))",
"effects": [
{
"type": "extraCost",
"cost": {
"type": "exert",
"filter": "choose(culture(sauron),orc)"
}
},
{
"type": "modifier",
"modifier": {
"type": "modifyStrength",
"condition": {
"type": "canSpot",
"count": 2,
"filter": "tale"
},
"filter": "bearer",
"amount": -2
}
}
]
}
}

View File

@@ -1,2 +1,99 @@
{
"2_6": {
"title": "*Fror",
"subtitle": "Gimli's Kinsman",
"culture": "dwarven",
"cost": 2,
"type": "companion",
"race": "dwarf",
"strength": 6,
"vitality": 3,
"resistance": 6,
"condition": {
"type": "canSpot",
"filter": "dwarf"
},
"effects": {
"type": "modifier",
"modifier": {
"type": "modifyStrength",
"filter": "self,inSkirmishAgainst(uruk-hai)",
"amount": 3
}
}
},
"2_7": {
"title": "*Gloin",
"subtitle": "Friend to Thorin",
"culture": "dwarven",
"cost": 2,
"type": "companion",
"race": "dwarf",
"strength": 6,
"vitality": 3,
"resistance": 6,
"effects": {
"type": "modifier",
"modifier": {
"type": "modifyStrength",
"filter": "self",
"amount": {
"type": "forEachYouCanSpot",
"filter": "culture(dwarven),tale",
"limit": 4
}
}
}
},
"2_55": {
"side": "shadow",
"cost": 1,
"culture": "Moria",
"title": "Dark Places",
"type": "condition",
"keyword": "Support Area",
"effects": [
{
"type": "modifier",
"modifier": {
"type": "modifyStrength",
"filter": "unique,culture(moria),minion",
"amount": 1
}
},
{
"type": "modifier",
"modifier": {
"type": "addKeyword",
"filter": "currentSite",
"keyword": "marsh"
}
},
{
"type": "activated",
"phase": "shadow",
"condition": {
"type": "canSpot",
"filter": "not(your),site"
},
"effect": [
{
"type": "chooseActiveCards",
"text": "Choose opponent's site",
"filter": "choose(not(your),site)",
"memorize": "chosenSite"
},
{
"type": "playSite",
"block": "fellowship",
"number": {
"type": "siteNumberInMemory",
"memory": "chosenSite"
},
"filter": "or(marsh,underground)"
}
]
}
]
}
}

View File

@@ -1,2 +1,93 @@
{
"3_54": {
"title": "Hollowing of Isengard",
"culture": "isengard",
"cost": 2,
"type": "condition",
"keyword": "support area",
"effects": [
{
"type": "activated",
"phase": "shadow",
"condition": {
"type": "canSpot",
"count": 2,
"filter": "culture(isengard),orc"
},
"cost": {
"type": "discardFromHand",
"forced": false,
"count": 2
},
"effect": {
"type": "addTwilight",
"amount": 1
}
},
{
"type": "activated",
"phase": "regroup",
"cost": [
{
"type": "removeTwilight",
"amount": 1
},
{
"type": "discard",
"filter": "choose(culture(isengard),orc)"
}
],
"effect": {
"type": "wound",
"player": "fp",
"filter": "choose(companion)"
}
}
]
},
"3_120": {
"title": "Wastes of Emyn Muil",
"cost": 9,
"type": "site",
"site": 9,
"block": "fellowship",
"effects": {
"type": "activated",
"phase": "skirmish",
"cost": {
"type": "exert",
"filter": "choose(your,culture(isengard),orc)"
},
"effect": {
"type": "choice",
"texts": [
"Make Free Peoples player wound a companion",
"Make Free Peoples player wound 2 companions"
],
"effects": [
{
"type": "wound",
"player": "fp",
"filter": "choose(companion)"
},
{
"type": "conditional",
"condition": {
"type": "canSpot",
"count": 6,
"filter": "companion"
},
"effect": [
{
"type": "wound",
"count": 2,
"player": "fp",
"filter": "choose(companion)"
}
]
}
]
}
}
}
}

View File

@@ -117,6 +117,18 @@ var PCCards = {
'65_64': 'https://i.lotrtcgpc.net/errata/xlist/65_064.jpg',
// Future Errata
'71_7': 'https://i.lotrtcgpc.net/errata/xlist/71_007.jpg',
'71_11': 'https://i.lotrtcgpc.net/errata/xlist/71_011.jpg',
'71_12': 'https://i.lotrtcgpc.net/errata/xlist/71_012.jpg',
'71_53': 'https://i.lotrtcgpc.net/errata/xlist/71_053.jpg',
'71_55': 'https://i.lotrtcgpc.net/errata/xlist/71_055.jpg',
'71_254': 'https://i.lotrtcgpc.net/errata/xlist/71_254.jpg',
'71_282': 'https://i.lotrtcgpc.net/errata/xlist/71_282.jpg',
'72_6': 'https://i.lotrtcgpc.net/errata/xlist/72_6.jpg',
'72_7': 'https://i.lotrtcgpc.net/errata/xlist/72_7.jpg',
'72_55': 'https://i.lotrtcgpc.net/errata/xlist/72_55.jpg',
'73_54': 'https://i.lotrtcgpc.net/errata/xlist/73_54.jpg',
'73_120': 'https://i.lotrtcgpc.net/errata/xlist/73_120.jpg',
/// Player's Council League Promos
// April 2021

View File

@@ -295,6 +295,8 @@ var Card = Class.extend({
return (cardNo >= 273 && cardNo <= 309);
if (setNo == 63)
return (cardNo == 188);
if (setNo == 73)
return (cardNo == 120);
return false;
},

View File

@@ -44,6 +44,7 @@ public class TriggerCheckerFactory {
triggerCheckers.put("transferred", new Transferred());
triggerCheckers.put("killed", new Killed());
triggerCheckers.put("reconciles", new Reconciles());
triggerCheckers.put("usesspecialability", new UsesSpecialAbility());
}
public TriggerChecker getTriggerChecker(JSONObject object, CardGenerationEnvironment environment) throws InvalidCardDefinitionException {

View File

@@ -0,0 +1,32 @@
package com.gempukku.lotro.cards.build.field.effect.trigger;
import com.gempukku.lotro.cards.build.ActionContext;
import com.gempukku.lotro.cards.build.CardGenerationEnvironment;
import com.gempukku.lotro.cards.build.FilterableSource;
import com.gempukku.lotro.cards.build.InvalidCardDefinitionException;
import com.gempukku.lotro.cards.build.field.FieldUtils;
import com.gempukku.lotro.common.Side;
import com.gempukku.lotro.logic.timing.TriggerConditions;
import org.json.simple.JSONObject;
public class UsesSpecialAbility implements TriggerCheckerProducer {
@Override
public TriggerChecker getTriggerChecker(JSONObject value, CardGenerationEnvironment environment) throws InvalidCardDefinitionException {
FieldUtils.validateAllowedFields(value, "filter");
String filter = FieldUtils.getString(value.get("filter"), "filter", "any");
final FilterableSource filterableSource = environment.getFilterFactory().generateFilter(filter, environment);
return new TriggerChecker() {
@Override
public boolean isBefore() {
return false;
}
@Override
public boolean accepts(ActionContext actionContext) {
return TriggerConditions.activated(actionContext.getGame(), actionContext.getEffectResult(), filterableSource.getFilterable(actionContext));
}
};
}
}

View File

@@ -439,7 +439,13 @@
"cancelRingBearerSkirmish":true,
"hall":true,
"playtest":true,
"set":[1, 2, 3]
"set":[1, 2, 3],
"errata":{"1_7":"71_7", "1_11":"71_11", "1_12":"71_12", "1_40":"51_40", "1_45":"51_45", "1_53":"71_53", "1_55":"71_55",
"1_80":"51_80", "1_108":"51_108", "1_138":"51_138", "1_139":"51_139", "1_195":"51_195", "1_234":"51_234", "1_248":"51_248",
"1_254":"71_254", "1_282":"71_282", "1_311":"51_311", "1_313":"51_313", "1_316":"51_316", "2_6":"72_6", "2_7":"72_7",
"2_32":"52_32", "2_55":"72_55", "2_75":"52_75", "2_101":"52_101", "2_108":"52_108", "2_121":"52_121", "3_17":"53_17",
"3_38":"53_38", "3_42":"53_42", "3_54":"73_54", "3_67":"53_67", "3_68":"53_68", "3_106":"53_106", "3_108":"53_108",
"3_113":"53_113", "3_120":"73_120"}
},
{
"name":"PLAYTEST - Movie block (PC)",
@@ -447,7 +453,14 @@
"sites":"KING",
"hall":true,
"playtest":true,
"set":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
"set":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
"errata":{"1_7":"71_7", "1_11":"71_11", "1_12":"71_12", "1_40":"51_40", "1_45":"51_45", "1_53":"71_53", "1_55":"71_55",
"1_80":"51_80", "1_108":"51_108", "1_138":"51_138", "1_139":"51_139", "1_195":"51_195", "1_234":"51_234", "1_248":"51_248",
"1_254":"71_254", "1_282":"71_282", "1_311":"51_311", "1_313":"51_313", "1_316":"51_316", "2_6":"72_6", "2_7":"72_7",
"2_32":"52_32", "2_55":"72_55", "2_75":"52_75", "2_101":"52_101", "2_108":"52_108", "2_121":"52_121", "3_17":"53_17",
"3_38":"53_38", "3_42":"53_42", "3_54":"73_54", "3_67":"53_67", "3_68":"53_68", "3_106":"53_106", "3_108":"53_108",
"3_113":"53_113", "3_120":"73_120", "4_73":"54_73", "4_192":"54_192", "4_276":"54_276", "4_304":"54_304", "7_49":"57_49",
"7_96":"57_96", "8_1":"58_1", "10_2":"60_2", "10_11":"60_11", "10_91":"60_91"}
},
{
"name":"PLAYTEST - Expanded (PC)",
@@ -455,6 +468,14 @@
"sites":"SHADOWS",
"hall":true,
"playtest":true,
"set":[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
"set":[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
"errata":{"1_7":"71_7", "1_11":"71_11", "1_12":"71_12", "1_40":"51_40", "1_45":"51_45", "1_53":"71_53", "1_55":"71_55",
"1_80":"51_80", "1_108":"51_108", "1_138":"51_138", "1_139":"51_139", "1_195":"51_195", "1_234":"51_234", "1_248":"51_248",
"1_254":"71_254", "1_282":"71_282", "1_311":"51_311", "1_313":"51_313", "1_316":"51_316", "2_6":"72_6", "2_7":"72_7",
"2_32":"52_32", "2_55":"72_55", "2_75":"52_75", "2_101":"52_101", "2_108":"52_108", "2_121":"52_121", "3_17":"53_17",
"3_38":"53_38", "3_42":"53_42", "3_54":"73_54", "3_67":"53_67", "3_68":"53_68", "3_106":"53_106", "3_108":"53_108",
"3_113":"53_113", "3_120":"73_120", "4_73":"54_73", "4_192":"54_192", "4_276":"54_276", "4_304":"54_304", "7_49":"57_49",
"7_96":"57_96", "8_1":"58_1", "10_2":"60_2", "10_11":"60_11", "10_91":"60_91", "11_31":"61_31", "11_100":"61_100",
"11_114":"61_114", "11_132":"61_132", "13_188":"63_188", "15_64":"65_64"}
}
]