Add Towers block errata

This commit is contained in:
Troy Biesterfeld
2021-04-24 11:21:21 -05:00
parent 7750e5937e
commit e427a10649
4 changed files with 159 additions and 1 deletions

View File

@@ -0,0 +1,151 @@
{
"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": "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"
}
}
]
}
}
}

View File

@@ -92,6 +92,10 @@ public class ValueResolver {
};
} else if (type.equalsIgnoreCase("siteNumber")) {
return actionContext -> (game, cardAffected) -> game.getGameState().getCurrentSiteNumber();
} else if (type.equalsIgnoreCase("nextSiteNumber")) {
return actionContext -> (game, cardAffected) -> game.getGameState().getCurrentSiteNumber() + 1;
} else if (type.equalsIgnoreCase("siteNumberAfterNext")) {
return actionContext -> (game, cardAffected) -> game.getGameState().getCurrentSiteNumber() + 2;
} else if (type.equalsIgnoreCase("siteNumberInMemory")) {
FieldUtils.validateAllowedFields(object, "memory");
final String memory = FieldUtils.getString(object.get("memory"), "memory");

View File

@@ -50,8 +50,10 @@ public class FilterFactory {
final CharacterLostSkirmishResult lostSkirmish = (CharacterLostSkirmishResult) actionContext.getEffectResult();
return lostSkirmish.getLoser();
});
simpleFilters.put("ring bound",
(actionContext) -> Filters.ringBoundCompanion);
simpleFilters.put("unbound",
(actionContext) -> Filters.not(Keyword.RING_BOUND));
(actionContext) -> Filters.unboundCompanion);
simpleFilters.put("attachedtoinsameregion",
actionContext -> {
final PhysicalCard attachedTo = actionContext.getSource().getAttachedTo();

View File

@@ -1060,6 +1060,7 @@ public class Filters {
};
}
public static final Filter ringBoundCompanion = Filters.and(CardType.COMPANION, Keyword.RING_BOUND);
public static final Filter unboundCompanion = Filters.and(CardType.COMPANION, Filters.not(Keyword.RING_BOUND));
public static final Filter roamingMinion = Filters.and(CardType.MINION, Keyword.ROAMING);
public static final Filter mounted = Filters.or(Filters.hasAttached(PossessionClass.MOUNT), Keyword.MOUNTED);