diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/site/Card20_431.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/site/Card20_431.java index adf6b5ba4..f1b4c3b86 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/site/Card20_431.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/site/Card20_431.java @@ -2,7 +2,6 @@ package com.gempukku.lotro.cards.set20.site; import com.gempukku.lotro.cards.AbstractSite; import com.gempukku.lotro.cards.PlayConditions; -import com.gempukku.lotro.cards.effects.AddUntilEndOfTurnModifierEffect; import com.gempukku.lotro.cards.modifiers.MoveLimitModifier; import com.gempukku.lotro.common.Block; import com.gempukku.lotro.common.CardType; @@ -12,9 +11,7 @@ import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.actions.RequiredTriggerAction; import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.UnrespondableEffect; -import java.util.Collections; import java.util.List; /** @@ -33,18 +30,9 @@ public class Card20_431 extends AbstractSite { @Override public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, final PhysicalCard self) { if (self.getWhileInZoneData() == null && PlayConditions.canSpot(game, CardType.COMPANION, Filters.mounted)) { - RequiredTriggerAction action = new RequiredTriggerAction(self); - action.appendEffect( - new UnrespondableEffect() { - @Override - protected void doPlayEffect(LotroGame game) { - self.setWhileInZoneData(new Object()); - } - }); - action.appendEffect( - new AddUntilEndOfTurnModifierEffect( - new MoveLimitModifier(self, 1))); - return Collections.singletonList(action); + self.setWhileInZoneData(new Object()); + game.getModifiersEnvironment().addUntilEndOfTurnModifier( + new MoveLimitModifier(self, 1)); } return null; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/site/Card20_435.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/site/Card20_435.java new file mode 100644 index 000000000..dee082021 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/site/Card20_435.java @@ -0,0 +1,40 @@ +package com.gempukku.lotro.cards.set20.site; + +import com.gempukku.lotro.cards.AbstractSite; +import com.gempukku.lotro.cards.modifiers.CantReplaceSiteModifier; +import com.gempukku.lotro.common.Block; +import com.gempukku.lotro.common.CardType; +import com.gempukku.lotro.common.Keyword; +import com.gempukku.lotro.common.Zone; +import com.gempukku.lotro.filters.Filters; +import com.gempukku.lotro.game.PhysicalCard; +import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.GameUtils; +import com.gempukku.lotro.logic.actions.RequiredTriggerAction; +import com.gempukku.lotro.logic.timing.EffectResult; + +import java.util.List; + +/** + * Eastern Emyn Muil + * 4 4 + * Mountain. + * Until the end of the game, sites in this region may not be replaced. + */ +public class Card20_435 extends AbstractSite { + public Card20_435() { + super("Eastern Emyn Muil", Block.SECOND_ED, 4, 4, null); + addKeyword(Keyword.MOUNTAIN); + } + + @Override + public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { + if (self.getWhileInZoneData() == null) { + int region = GameUtils.getRegion(self.getSiteNumber()); + self.setWhileInZoneData(new Object()); + game.getModifiersEnvironment().addAlwaysOnModifier( + new CantReplaceSiteModifier(self, null, Filters.and(CardType.SITE, Zone.ADVENTURE_PATH, Filters.region(region)))); + } + return null; + } +}