Finished Set V1 Isengard. Minor typos in other cards.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"19_38": {
|
||||
"89_38": {
|
||||
"title": "*Úlairë Nertëa",
|
||||
"subtitle": "Dark Horseman",
|
||||
"culture": "wraith",
|
||||
|
||||
@@ -6,66 +6,86 @@
|
||||
"cost": 2,
|
||||
"type": "minion",
|
||||
"race": "crow",
|
||||
"keyword": ["damage+1"],
|
||||
"strength": 4,
|
||||
"vitality": 2,
|
||||
"site": 4,
|
||||
"effects": [
|
||||
{
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "addKeyword",
|
||||
"filter": "dwarf",
|
||||
"keyword": "damage+1"
|
||||
"type": "inhandtrigger",
|
||||
"trigger": {
|
||||
"type": "activated",
|
||||
"filter": "companion"
|
||||
},
|
||||
"condition": {
|
||||
"type": "canSpot",
|
||||
"filter": "culture(isengard)",
|
||||
},
|
||||
"effect": {
|
||||
"type": "play",
|
||||
"filter": "self",
|
||||
"cost": -1
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "trigger",
|
||||
"optional": true,
|
||||
"trigger": {
|
||||
"type": "winsSkirmish",
|
||||
"filter": "dwarf"
|
||||
},
|
||||
"effect": {
|
||||
"type": "wound",
|
||||
"filter": "choose(orc)"
|
||||
}
|
||||
}
|
||||
"type": "activated",
|
||||
"phase": "shadow",
|
||||
"condition": {
|
||||
"type": "canSpot",
|
||||
"filter": "another,minion,culture(isengard)",
|
||||
},
|
||||
"cost": {
|
||||
"type": "exert",
|
||||
"filter": "self"
|
||||
},
|
||||
"effect": {
|
||||
"type": "drawcards",
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
"151_26": {
|
||||
"title": "Crows of Isengard",
|
||||
"culture": "isengard",
|
||||
"cost": 3,
|
||||
"type": "minion",
|
||||
"race": "crow",
|
||||
"keyword": ["damage+1"],
|
||||
"strength": 5,
|
||||
"vitality": 3,
|
||||
"site": 4,
|
||||
"effects": [
|
||||
{
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "addKeyword",
|
||||
"filter": "dwarf",
|
||||
"keyword": "damage+1"
|
||||
"type": "trigger",
|
||||
"trigger": {
|
||||
"type": "played",
|
||||
"filter": "self"
|
||||
},
|
||||
"cost": {
|
||||
"type": "exert",
|
||||
"filter": "self"
|
||||
},
|
||||
"effect": {
|
||||
"type": "drawcards",
|
||||
"count": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "inhandtrigger",
|
||||
"trigger": {
|
||||
"type": "played",
|
||||
"filter": "event,side(free people)"
|
||||
},
|
||||
"condition": {
|
||||
"type": "canSpot",
|
||||
"filter": "culture(isengard)",
|
||||
},
|
||||
"effect": {
|
||||
"type": "play",
|
||||
"filter": "self",
|
||||
"cost": -1
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "trigger",
|
||||
"optional": true,
|
||||
"trigger": {
|
||||
"type": "winsSkirmish",
|
||||
"filter": "dwarf"
|
||||
},
|
||||
"effect": {
|
||||
"type": "wound",
|
||||
"filter": "choose(orc)"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -78,48 +98,70 @@
|
||||
"keyword": ["support area"],
|
||||
"effects": [
|
||||
{
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "addKeyword",
|
||||
"filter": "dwarf",
|
||||
"keyword": "damage+1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "trigger",
|
||||
"optional": true,
|
||||
"trigger": {
|
||||
"type": "winsSkirmish",
|
||||
"filter": "dwarf"
|
||||
},
|
||||
"effect": {
|
||||
"type": "wound",
|
||||
"filter": "choose(orc)"
|
||||
}
|
||||
}
|
||||
"type": "trigger",
|
||||
"trigger": {
|
||||
"type": "movesFrom",
|
||||
"filter": "hasAttached(weather,condition)"
|
||||
},
|
||||
"effect": {
|
||||
"type": "addTwilight",
|
||||
"amount": 3
|
||||
},
|
||||
},
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
"151_28": {
|
||||
"title": "Just A Whisp Of Cloud",
|
||||
"title": "Just A Wisp Of Cloud",
|
||||
"culture": "isengard",
|
||||
"cost": 0,
|
||||
"type": "event",
|
||||
"keyword": ["regroup"],
|
||||
"keyword": ["regroup","spell","weather"],
|
||||
"effects": {
|
||||
"type": "event",
|
||||
"cost": {
|
||||
"type": "exert",
|
||||
"filter": "choose(elf)",
|
||||
},
|
||||
"type": "chooseHowManyToSpot",
|
||||
"filter": "Crow",
|
||||
"memorize": "crowCount"
|
||||
},
|
||||
"effect": [
|
||||
{
|
||||
"type": "modifyStrength",
|
||||
"filter": "choose(name(Gimli))",
|
||||
"until": "start(regroup)",
|
||||
"amount": 2
|
||||
}
|
||||
"type": "chooseActiveCards",
|
||||
"filter": "choose(Crow)",
|
||||
"text": "Choose {crowCount} Crows to discard",
|
||||
"count": {
|
||||
"type": "fromMemory",
|
||||
"memory": "crowCount"
|
||||
},
|
||||
"memorize": "chosenCrows"
|
||||
},
|
||||
{
|
||||
"type": "choice",
|
||||
"player": "fp",
|
||||
"texts": [
|
||||
"Exert {crowCount} companions",
|
||||
"Make the move limit -1"
|
||||
],
|
||||
"effects": [
|
||||
{
|
||||
"type": "exert",
|
||||
"filter": "choose(companion)",
|
||||
"count": {
|
||||
"type": "fromMemory",
|
||||
"memory": "crowCount"
|
||||
},
|
||||
},
|
||||
{
|
||||
"type": "addModifier",
|
||||
"modifier": {
|
||||
"type": "modifyMoveLimit",
|
||||
"amount": -1
|
||||
},
|
||||
"until": "endOfTurn"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
@@ -131,35 +173,48 @@
|
||||
"cost": 5,
|
||||
"type": "minion",
|
||||
"race": "crow",
|
||||
"keyword": ["damage+1"],
|
||||
"strength": 7,
|
||||
"vitality": 4,
|
||||
"site": 4,
|
||||
"effects": [
|
||||
{
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "addKeyword",
|
||||
"filter": "dwarf",
|
||||
"keyword": "damage+1"
|
||||
"type": "inhandtrigger",
|
||||
"trigger": {
|
||||
"type": "played",
|
||||
"filter": "character,side(free people)",
|
||||
"memorize": "playedChar"
|
||||
},
|
||||
"condition": {
|
||||
"type": "canSpot",
|
||||
"filter": "culture(isengard)",
|
||||
},
|
||||
"effect": {
|
||||
"type": "play",
|
||||
"filter": "self",
|
||||
"cost": {
|
||||
"type": "multiply",
|
||||
"multiplier": -1,
|
||||
"source": {
|
||||
"type": "twilightCostInMemory",
|
||||
"memory": "playedChar"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "trigger",
|
||||
"optional": true,
|
||||
"trigger": {
|
||||
"type": "winsSkirmish",
|
||||
"filter": "dwarf"
|
||||
},
|
||||
"effect": {
|
||||
"type": "wound",
|
||||
"filter": "choose(orc)"
|
||||
}
|
||||
}
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "modifyStrength",
|
||||
"filter": "self",
|
||||
"amount": {
|
||||
"type": "forEachCultureOver",
|
||||
"filter": "side(free people)"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
"151_30": {
|
||||
"title": "*Saruman",
|
||||
"subtitle": "Fell Voice On The Air",
|
||||
@@ -167,31 +222,63 @@
|
||||
"cost": 4,
|
||||
"type": "minion",
|
||||
"race": "wizard",
|
||||
"keyword": ["damage+1"],
|
||||
"strength": 8,
|
||||
"vitality": 4,
|
||||
"site": 4,
|
||||
"effects": [
|
||||
{
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "cantTakeWounds",
|
||||
"filter": "self",
|
||||
"condition": [
|
||||
{
|
||||
"type": "phase",
|
||||
"phase": "archery"
|
||||
},
|
||||
{
|
||||
"type": "sarumanfirstsentenceactive"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "cantbeassignedtoskirmish",
|
||||
"filter": "self",
|
||||
"condition": {
|
||||
"type": "sarumanfirstsentenceactive"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "addKeyword",
|
||||
"filter": "dwarf",
|
||||
"keyword": "damage+1"
|
||||
"type": "modifystrength",
|
||||
"filter": "culture(isengard),minion",
|
||||
"amount": 2,
|
||||
"condition": {
|
||||
"type": "canSpot",
|
||||
"filter": "weather,condition,attachedTo(site)"
|
||||
},
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "trigger",
|
||||
"optional": true,
|
||||
"trigger": {
|
||||
"type": "winsSkirmish",
|
||||
"filter": "dwarf"
|
||||
},
|
||||
"effect": {
|
||||
"type": "wound",
|
||||
"filter": "choose(orc)"
|
||||
}
|
||||
}
|
||||
"type": "activatedtrigger",
|
||||
"trigger": {
|
||||
"type": "movesFrom",
|
||||
"filter": "site,hasAttached(weather,condition)"
|
||||
},
|
||||
"cost": {
|
||||
"type": "discard",
|
||||
"filter": "self"
|
||||
},
|
||||
"effect": {
|
||||
"type": "exert",
|
||||
"filter": "all(companion)"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
@@ -689,7 +689,7 @@
|
||||
"type": "twilightCostInMemory",
|
||||
"memory": "revealedCard"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "discard",
|
||||
"player": "fp",
|
||||
|
||||
@@ -19,10 +19,11 @@ import org.json.simple.JSONObject;
|
||||
public class ChooseHowManyToSpot implements EffectAppenderProducer {
|
||||
@Override
|
||||
public EffectAppender createEffectAppender(JSONObject effectObject, CardGenerationEnvironment environment) throws InvalidCardDefinitionException {
|
||||
FieldUtils.validateAllowedFields(effectObject, "filter", "memorize");
|
||||
FieldUtils.validateAllowedFields(effectObject, "filter", "memorize", "text");
|
||||
|
||||
final String filter = FieldUtils.getString(effectObject.get("filter"), "filter");
|
||||
final String memorize = FieldUtils.getString(effectObject.get("memorize"), "memorize");
|
||||
final String text = FieldUtils.getString(effectObject.get("text"), "text", "Choose how many to spot");
|
||||
|
||||
if (memorize == null)
|
||||
throw new InvalidCardDefinitionException("ChooseHowManyToSpot requires a field to memorize the value");
|
||||
@@ -35,7 +36,7 @@ public class ChooseHowManyToSpot implements EffectAppenderProducer {
|
||||
final Filterable filterable = filterableSource.getFilterable(actionContext);
|
||||
final int count = Filters.countSpottable(actionContext.getGame(), filterable);
|
||||
return new PlayoutDecisionEffect(actionContext.getPerformingPlayer(),
|
||||
new IntegerAwaitingDecision(1, "Choose how many to spot", 0, count, count) {
|
||||
new IntegerAwaitingDecision(1, text, 0, count, count) {
|
||||
@Override
|
||||
public void decisionMade(String result) throws DecisionResultInvalidException {
|
||||
final int spotCount = getValidatedResult(result);
|
||||
|
||||
Reference in New Issue
Block a user