diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/moria/Card2_051.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/moria/Card2_051.java new file mode 100644 index 000000000..265bd69ba --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/moria/Card2_051.java @@ -0,0 +1,71 @@ +package com.gempukku.lotro.cards.set2.moria; + +import com.gempukku.lotro.cards.AbstractMinion; +import com.gempukku.lotro.common.*; +import com.gempukku.lotro.filters.Filters; +import com.gempukku.lotro.game.PhysicalCard; +import com.gempukku.lotro.game.state.GameState; +import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.actions.RequiredTriggerAction; +import com.gempukku.lotro.logic.effects.DiscardCardsFromPlayEffect; +import com.gempukku.lotro.logic.modifiers.AbstractModifier; +import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.modifiers.ModifierEffect; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; +import com.gempukku.lotro.logic.timing.EffectResult; + +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + +/** + * Set: Mines of Moria + * Side: Shadow + * Culture: Moria + * Twilight Cost: 12 + * Type: Minion • Balrog + * Strength: 17 + * Vitality: 5 + * Site: 4 + * Game Text: Damage +1. Fierce. While you can spot The Balrog, discard all other minions. Skip the archery phase. + * Discard The Balrog if not underground. + */ +public class Card2_051 extends AbstractMinion { + public Card2_051() { + super(12, 17, 5, 4, Race.BALROG, Culture.MORIA, "The Balrog", true); + addKeyword(Keyword.DAMAGE); + addKeyword(Keyword.FIERCE); + } + + @Override + public List getAlwaysOnModifiers(PhysicalCard self) { + return Collections.singletonList( + new AbstractModifier(self, "Skip archery phase", null, new ModifierEffect[]{ModifierEffect.ACTION_MODIFIER}) { + @Override + public boolean shouldSkipPhase(GameState gameState, ModifiersQuerying modifiersQuerying, Phase phase, String playerId, boolean result) { + if (phase == Phase.ARCHERY) + return true; + return result; + } + } + ); + } + + @Override + public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { + List actions = new LinkedList(); + if (Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.type(CardType.MINION), Filters.not(Filters.sameCard(self)))) { + RequiredTriggerAction action = new RequiredTriggerAction(self); + action.appendEffect( + new DiscardCardsFromPlayEffect(self, Filters.and(Filters.type(CardType.MINION), Filters.not(Filters.sameCard(self))))); + actions.add(action); + } + if (!game.getModifiersQuerying().hasKeyword(game.getGameState(), game.getGameState().getCurrentSite(), Keyword.UNDERGROUND)) { + RequiredTriggerAction action = new RequiredTriggerAction(self); + action.appendEffect( + new DiscardCardsFromPlayEffect(self, self)); + actions.add(action); + } + return actions; + } +} diff --git a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Race.java b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Race.java index bca5091b3..dd34dc3b0 100644 --- a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Race.java +++ b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Race.java @@ -1,6 +1,7 @@ package com.gempukku.lotro.common; public enum Race { + BALROG("Balrog"), ELF("Elf"), HOBBIT("Hobbit"), DWARF("Dwarf"), MAN("Man"), WIZARD("Wizard"), URUK_HAI("Uruk-Hai"), NAZGUL("Nazgul"), ORC("Orc"), TROLL("Troll");