Added additional cards to JSON card definition

This commit is contained in:
marcin.sciesinski
2019-08-26 17:58:10 -07:00
parent 85b077b91c
commit 57c80ff09a
2 changed files with 13 additions and 3 deletions

View File

@@ -170,6 +170,7 @@
},
"effect": {
"type": "choice",
"player": "fp",
"texts": [
"Exert the Ring-bearer",
"Add a burden"

View File

@@ -2,9 +2,11 @@ package com.gempukku.lotro.cards.build.field.effect.appender;
import com.gempukku.lotro.cards.build.CardGenerationEnvironment;
import com.gempukku.lotro.cards.build.InvalidCardDefinitionException;
import com.gempukku.lotro.cards.build.PlayerSource;
import com.gempukku.lotro.cards.build.field.FieldUtils;
import com.gempukku.lotro.cards.build.field.effect.EffectAppender;
import com.gempukku.lotro.cards.build.field.effect.EffectAppenderProducer;
import com.gempukku.lotro.cards.build.field.effect.appender.resolver.PlayerResolver;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.CostToEffectAction;
@@ -20,8 +22,9 @@ import java.util.List;
public class Choice implements EffectAppenderProducer {
@Override
public EffectAppender createEffectAppender(JSONObject effectObject, CardGenerationEnvironment environment) throws InvalidCardDefinitionException {
FieldUtils.validateAllowedFields(effectObject, "effects", "texts");
FieldUtils.validateAllowedFields(effectObject, "player", "effects", "texts");
final String player = FieldUtils.getString(effectObject.get("player"), "player", "owner");
final JSONObject[] effectArray = FieldUtils.getObjectArray(effectObject.get("effects"), "effects");
final String[] textArray = FieldUtils.getStringArray(effectObject.get("texts"), "texts");
@@ -34,6 +37,8 @@ public class Choice implements EffectAppenderProducer {
environment.getEffectAppenderFactory().getEffectAppender(effect, environment));
}
final PlayerSource playerSource = PlayerResolver.resolvePlayer(player, environment);
return new EffectAppender() {
@Override
public void appendCost(CostToEffectAction action, String playerId, LotroGame game, PhysicalCard self, EffectResult effectResult, Effect effect) {
@@ -60,7 +65,9 @@ public class Choice implements EffectAppenderProducer {
});
}
action.appendCost(new ChoiceEffect(action, playerId, possibleEffects));
final String choicePlayerId = playerSource.getPlayer(playerId, game, self, effectResult, effect);
action.appendCost(new ChoiceEffect(action, choicePlayerId, possibleEffects));
}
@Override
@@ -88,7 +95,9 @@ public class Choice implements EffectAppenderProducer {
});
}
action.appendEffect(new ChoiceEffect(action, playerId, possibleEffects));
final String choicePlayerId = playerSource.getPlayer(playerId, game, self, effectResult, effect);
action.appendEffect(new ChoiceEffect(action, choicePlayerId, possibleEffects));
}
@Override