Added in the Sauron VSet1 cards, courtesy of LStephens. Added event handling and trigger for taking off the Ring.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
|
||||
"151_44": {
|
||||
"title": "Fell To It's Power",
|
||||
"title": "Fell To Its Power",
|
||||
"culture": "sauron",
|
||||
"cost": 1,
|
||||
"type": "event",
|
||||
@@ -9,15 +9,22 @@
|
||||
"effects": {
|
||||
"type": "event",
|
||||
"cost": {
|
||||
"type": "exert",
|
||||
"filter": "choose(elf)",
|
||||
"type": "discard",
|
||||
"filter": "choose(culture(sauron),orc)"
|
||||
},
|
||||
"effect": [
|
||||
{
|
||||
"type": "modifyStrength",
|
||||
"filter": "choose(name(Gimli))",
|
||||
"until": "start(regroup)",
|
||||
"amount": 2
|
||||
"type": "preventable",
|
||||
"text": "Would you like to discard a Free Peoples condition to prevent adding a burden?",
|
||||
"player": "fp",
|
||||
"cost": {
|
||||
"type": "discard",
|
||||
"filter": "choose(side(free people),condition)"
|
||||
},
|
||||
"effect": {
|
||||
"type": "addBurdens",
|
||||
"amount": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -32,23 +39,18 @@
|
||||
"keyword": ["support area"],
|
||||
"effects": [
|
||||
{
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "addKeyword",
|
||||
"filter": "dwarf",
|
||||
"keyword": "damage+1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "trigger",
|
||||
"optional": true,
|
||||
"type": "activatedTrigger",
|
||||
"trigger": {
|
||||
"type": "winsSkirmish",
|
||||
"filter": "dwarf"
|
||||
"type": "abouttodiscard",
|
||||
"filter": "culture(sauron),condition"
|
||||
},
|
||||
"cost": {
|
||||
"type": "removeburdens",
|
||||
"amount": 1
|
||||
},
|
||||
"effect": {
|
||||
"type": "wound",
|
||||
"filter": "choose(orc)"
|
||||
"type": "preventdiscard",
|
||||
"filter": "choose(culture(sauron),condition)"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -65,21 +67,30 @@
|
||||
{
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "addKeyword",
|
||||
"filter": "dwarf",
|
||||
"keyword": "damage+1"
|
||||
"type": "modifysitenumber",
|
||||
"filter": "culture(sauron),minion",
|
||||
"amount": {
|
||||
"type": "forEachBurden",
|
||||
"multiplier": -1
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "modifystrength",
|
||||
"filter": "culture(sauron),minion,siteNumber(0-1)",
|
||||
"amount": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "trigger",
|
||||
"optional": true,
|
||||
"trigger": {
|
||||
"type": "winsSkirmish",
|
||||
"filter": "dwarf"
|
||||
},
|
||||
"type": "takesoffring"
|
||||
},
|
||||
"effect": {
|
||||
"type": "wound",
|
||||
"filter": "choose(orc)"
|
||||
"type": "discard",
|
||||
"filter": "self"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -92,24 +103,48 @@
|
||||
"cost": 1,
|
||||
"type": "event",
|
||||
"keyword": ["regroup"],
|
||||
"effects": {
|
||||
"type": "event",
|
||||
"cost": {
|
||||
"type": "exert",
|
||||
"filter": "choose(elf)",
|
||||
},
|
||||
"effect": [
|
||||
{
|
||||
"type": "modifyStrength",
|
||||
"filter": "choose(name(Gimli))",
|
||||
"until": "start(regroup)",
|
||||
"amount": 2
|
||||
"condition": {
|
||||
"type": "canSpotburdens",
|
||||
"amount": 5
|
||||
},
|
||||
"effects": [
|
||||
{
|
||||
"type": "extraCost",
|
||||
"cost": {
|
||||
"type": "discard",
|
||||
"filter": "choose(culture(sauron),orc)",
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "event",
|
||||
"effect": {
|
||||
"type": "choice",
|
||||
"player": "shadowPlayer",
|
||||
"texts": [
|
||||
"Make the move limit -1",
|
||||
"Make the free peoples player choose to move again"
|
||||
],
|
||||
"effects": [
|
||||
{
|
||||
"type": "addModifier",
|
||||
"modifier": {
|
||||
"type": "modifyMoveLimit",
|
||||
"amount": -1
|
||||
},
|
||||
"until": "endOfTurn"
|
||||
},
|
||||
{
|
||||
"type": "addModifier",
|
||||
"modifier": {
|
||||
"type": "hasToMoveIfAble"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
"151_48": {
|
||||
"title": "Orc Ambush Troop",
|
||||
"culture": "sauron",
|
||||
@@ -120,31 +155,38 @@
|
||||
"strength": 8,
|
||||
"vitality": 2,
|
||||
"site": 6,
|
||||
"keyword": [
|
||||
"tracker"
|
||||
],
|
||||
"effects": [
|
||||
{
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "addKeyword",
|
||||
"filter": "dwarf",
|
||||
"keyword": "damage+1"
|
||||
"filter": "self",
|
||||
"keyword": "archer",
|
||||
"condition": {
|
||||
"type": "canSpot",
|
||||
"filter": "companion,exhausted"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "trigger",
|
||||
"optional": true,
|
||||
"trigger": {
|
||||
"type": "winsSkirmish",
|
||||
"filter": "dwarf"
|
||||
},
|
||||
"effect": {
|
||||
"type": "wound",
|
||||
"filter": "choose(orc)"
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "modifystrength",
|
||||
"filter": "self",
|
||||
"amount": 3,
|
||||
"condition": {
|
||||
"type": "canSpot",
|
||||
"filter": "companion,exhausted",
|
||||
"count": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
"151_49": {
|
||||
"title": "*A Shadow of the Past",
|
||||
"culture": "sauron",
|
||||
@@ -156,20 +198,35 @@
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "addKeyword",
|
||||
"filter": "dwarf",
|
||||
"keyword": "damage+1"
|
||||
"filter": "culture(sauron),orc",
|
||||
"keyword": "fierce",
|
||||
"condition": {
|
||||
"type": "canSpotburdens",
|
||||
"amount": 4
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "addKeyword",
|
||||
"filter": "culture(sauron),orc",
|
||||
"keyword": "damage+1",
|
||||
"condition": {
|
||||
"type": "canSpotburdens",
|
||||
"amount": 6
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "trigger",
|
||||
"optional": true,
|
||||
"trigger": {
|
||||
"type": "winsSkirmish",
|
||||
"filter": "dwarf"
|
||||
"type": "startOfPhase",
|
||||
"phase": "regroup"
|
||||
},
|
||||
"effect": {
|
||||
"type": "wound",
|
||||
"filter": "choose(orc)"
|
||||
"type": "discard",
|
||||
"filter": "self"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
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.InvalidCardDefinitionException;
|
||||
import com.gempukku.lotro.cards.build.field.FieldUtils;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
public class TakesOffRing implements TriggerCheckerProducer {
|
||||
@Override
|
||||
public TriggerChecker getTriggerChecker(JSONObject value, CardGenerationEnvironment environment) throws InvalidCardDefinitionException {
|
||||
FieldUtils.validateAllowedFields(value, "filter");
|
||||
|
||||
return new TriggerChecker() {
|
||||
@Override
|
||||
public boolean accepts(ActionContext actionContext) {
|
||||
return actionContext.getEffectResult().getType() == EffectResult.Type.TAKE_OFF_THE_ONE_RING;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBefore() {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -45,6 +45,7 @@ public class TriggerCheckerFactory {
|
||||
triggerCheckers.put("revealcardfromtopofdrawdeck", new RevealCardFromTopOfDrawDeck());
|
||||
triggerCheckers.put("startofphase", new StartOfPhase());
|
||||
triggerCheckers.put("startofturn", new StartOfTurn());
|
||||
triggerCheckers.put("takesoffring", new TakesOffRing());
|
||||
triggerCheckers.put("takeswound", new TakesWound());
|
||||
triggerCheckers.put("transferred", new Transferred());
|
||||
triggerCheckers.put("usesspecialability", new UsesSpecialAbility());
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.gempukku.lotro.logic.effects;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.timing.AbstractEffect;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import com.gempukku.lotro.logic.timing.results.PutOnTheOneRingResult;
|
||||
import com.gempukku.lotro.logic.timing.results.TakeOffTheOneRingResult;
|
||||
|
||||
public class TakeOffTheOneRingEffect extends AbstractEffect {
|
||||
@Override
|
||||
@@ -26,6 +28,7 @@ public class TakeOffTheOneRingEffect extends AbstractEffect {
|
||||
if (canTakeOffRing) {
|
||||
game.getGameState().sendMessage("Ring-bearer takes off The One Ring");
|
||||
game.getGameState().setWearingRing(false);
|
||||
game.getActionsEnvironment().emitEffectResult(new TakeOffTheOneRingResult());
|
||||
}
|
||||
return new FullEffectResult(canTakeOffRing);
|
||||
}
|
||||
|
||||
@@ -57,7 +57,9 @@ public abstract class EffectResult {
|
||||
|
||||
REPLACE_SITE, TAKE_CONTROL_OF_SITE,
|
||||
|
||||
FINISHED_PLAYING_FELLOWSHIP
|
||||
FINISHED_PLAYING_FELLOWSHIP,
|
||||
|
||||
TAKE_OFF_THE_ONE_RING
|
||||
}
|
||||
|
||||
private Type _type;
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.gempukku.lotro.logic.timing.results;
|
||||
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
|
||||
public class TakeOffTheOneRingResult extends EffectResult {
|
||||
public TakeOffTheOneRingResult() {
|
||||
super(Type.TAKE_OFF_THE_ONE_RING);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user