Fixing couple of bugs
This commit is contained in:
@@ -202,6 +202,7 @@
|
||||
{
|
||||
"type": "discardFromHand",
|
||||
"hand": "shadowPlayer",
|
||||
"player": "shadowPlayer",
|
||||
"forced": true,
|
||||
"count": {
|
||||
"type": "forEachMatchingInMemory",
|
||||
|
||||
@@ -378,6 +378,15 @@
|
||||
"type": "appendCardIdsToWhileInZone",
|
||||
"memory": "playedNazgul"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "trigger",
|
||||
"trigger": {
|
||||
"type": "endOfTurn"
|
||||
},
|
||||
"effect": {
|
||||
"type": "resetWhileInZoneData"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -102,6 +102,7 @@ public class EffectAppenderFactory {
|
||||
effectAppenderProducers.put("makeselfringbearer", new MakeSelfRingBearer());
|
||||
effectAppenderProducers.put("choosearace", new ChooseARace());
|
||||
effectAppenderProducers.put("storewhileinzone", new StoreWhileInZone());
|
||||
effectAppenderProducers.put("resetwhileinzonedata", new ResetWhileInZoneData());
|
||||
effectAppenderProducers.put("appendcardidstowhileinzone", new AppendCardIdsToWhileInZone());
|
||||
effectAppenderProducers.put("corruptringbearer", new CorruptRingBearer());
|
||||
effectAppenderProducers.put("kill", new Kill());
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.gempukku.lotro.cards.build.field.effect.appender;
|
||||
|
||||
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.cards.build.field.effect.EffectAppender;
|
||||
import com.gempukku.lotro.cards.build.field.effect.EffectAppenderProducer;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.CostToEffectAction;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import com.gempukku.lotro.logic.timing.UnrespondableEffect;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
public class ResetWhileInZoneData implements EffectAppenderProducer {
|
||||
@Override
|
||||
public EffectAppender createEffectAppender(JSONObject effectObject, CardGenerationEnvironment environment) throws InvalidCardDefinitionException {
|
||||
FieldUtils.validateAllowedFields(effectObject);
|
||||
|
||||
return new DelayedAppender() {
|
||||
@Override
|
||||
protected Effect createEffect(boolean cost, CostToEffectAction action, ActionContext actionContext) {
|
||||
return new UnrespondableEffect() {
|
||||
@Override
|
||||
protected void doPlayEffect(LotroGame game) {
|
||||
actionContext.getSource().setWhileInZoneData(null);
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -12,15 +12,15 @@ public class IncrementPhaseLimitEffect extends UnrespondableEffect {
|
||||
private String prefix;
|
||||
|
||||
public IncrementPhaseLimitEffect(PhysicalCard card, int limit) {
|
||||
this(card, null, "", 1);
|
||||
this(card, null, "", limit);
|
||||
}
|
||||
|
||||
public IncrementPhaseLimitEffect(PhysicalCard card, Phase phase, int limit) {
|
||||
this(card, phase, "", 1);
|
||||
this(card, phase, "", limit);
|
||||
}
|
||||
|
||||
public IncrementPhaseLimitEffect(PhysicalCard card, String prefix, int limit) {
|
||||
this(card, null, "", 1);
|
||||
this(card, null, prefix, limit);
|
||||
}
|
||||
|
||||
private IncrementPhaseLimitEffect(PhysicalCard card, Phase phase, String prefix, int limit) {
|
||||
|
||||
Reference in New Issue
Block a user