diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set18/site/Card18_135.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set18/site/Card18_135.java new file mode 100644 index 000000000..644cabd8b --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set18/site/Card18_135.java @@ -0,0 +1,26 @@ +package com.gempukku.lotro.cards.set18.site; + +import com.gempukku.lotro.cards.AbstractNewSite; +import com.gempukku.lotro.common.Keyword; +import com.gempukku.lotro.game.PhysicalCard; +import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.modifiers.ModifierFlag; +import com.gempukku.lotro.logic.modifiers.SpecialFlagModifier; + +/** + * Set: Treachery & Deceit + * Twilight Cost: 2 + * Type: Site + * Game Text: Mountain. Each card that is about to be placed into the discard pile is removed from the game instead. + */ +public class Card18_135 extends AbstractNewSite { + public Card18_135() { + super("Foot of Mount Doom", 2, Direction.LEFT); + addKeyword(Keyword.MOUNTAIN); + } + + @Override + public Modifier getAlwaysOnModifier(PhysicalCard self) { + return new SpecialFlagModifier(self, ModifierFlag.REMOVE_CARDS_GOING_TO_DISCARD); + } +} diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java index f2eaa8054..069f2cddf 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java @@ -5,6 +5,7 @@ import com.gempukku.lotro.communication.GameStateListener; import com.gempukku.lotro.game.*; import com.gempukku.lotro.logic.PlayerOrder; import com.gempukku.lotro.logic.decisions.AwaitingDecision; +import com.gempukku.lotro.logic.modifiers.ModifierFlag; import com.gempukku.lotro.logic.timing.GameStats; import java.util.*; @@ -409,6 +410,9 @@ public class GameState { } private void addCardToZone(LotroGame game, PhysicalCard card, Zone zone, boolean end) { + if (zone == Zone.DISCARD && game.getModifiersQuerying().hasFlagActive(game.getGameState(), ModifierFlag.REMOVE_CARDS_GOING_TO_DISCARD)) + zone = Zone.REMOVED; + if (zone.isInPlay()) assignNewCardId(card); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifierFlag.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifierFlag.java index bb4285eb2..527ca74b9 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifierFlag.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifierFlag.java @@ -11,5 +11,6 @@ public enum ModifierFlag { CANT_PREVENT_WOUNDS, CANT_TOUCH_CULTURE_TOKENS, TRANSFERS_FOR_FREE, - SHADOW_PLAYER_REPLACED_CURRENT_SITE + SHADOW_PLAYER_REPLACED_CURRENT_SITE, + REMOVE_CARDS_GOING_TO_DISCARD }