diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/includes/changeLog.html b/gemp-lotr/gemp-lotr-async/src/main/web/includes/changeLog.html index 32b6db8e3..36552dfd9 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/includes/changeLog.html +++ b/gemp-lotr/gemp-lotr-async/src/main/web/includes/changeLog.html @@ -21,6 +21,7 @@ - Added "Radagast, The Brown" - Added "Ancestral Feuds" - Fixed "Caught in a Sack" 'null' popup. +- Added "Bolg, Servant of Sauron" 17 Dec. 2015 - "Armor of Khazad" no longer allows to return itself from discard and can now be transferred. diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/sauron/Card31_037.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/sauron/Card31_037.java new file mode 100644 index 000000000..efe81ba00 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/sauron/Card31_037.java @@ -0,0 +1,74 @@ +package com.gempukku.lotro.cards.set31.sauron; + +import com.gempukku.lotro.cards.AbstractMinion; +import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.cards.TriggerConditions; +import com.gempukku.lotro.cards.effects.AddUntilStartOfPhaseModifierEffect; +import com.gempukku.lotro.cards.effects.OptionalEffect; +import com.gempukku.lotro.cards.effects.SpotEffect; +import com.gempukku.lotro.cards.effects.choose.ChooseAndPlayCardFromDiscardEffect; +import com.gempukku.lotro.common.*; +import com.gempukku.lotro.filters.Filters; +import com.gempukku.lotro.game.PhysicalCard; +import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.actions.ActivateCardAction; +import com.gempukku.lotro.logic.actions.OptionalTriggerAction; +import com.gempukku.lotro.logic.actions.RequiredTriggerAction; +import com.gempukku.lotro.logic.modifiers.KeywordModifier; +import com.gempukku.lotro.logic.timing.Action; +import com.gempukku.lotro.logic.timing.EffectResult; + +import javax.swing.text.html.Option; +import java.util.Collections; +import java.util.List; + +/** + * •Bolg, Servant of Sauron [Sauron] + * Minion • Orc + * Twilight Cost 4 + * Strength 9 + * Vitality 3 + * Site 5 + * 'Damage +1. + * When you play Bolg, you may play an Orc from your discard pile for each [Dwarven] companion over 3. + * Maneuver: Spot an [Elven] archer to make Bolg fierce until the regroup phase.' + */ +public class Card31_037 extends AbstractMinion { + public Card31_037() { + super(4, 9, 3, 5, Race.ORC, Culture.SAURON, "Bolg", "Servant of Sauron", true); + addKeyword(Keyword.DAMAGE, 1); + } + + @Override + public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { + if (TriggerConditions.played(game, effectResult, self) + && PlayConditions.canSpot(game, 4, Culture.DWARVEN, CardType.COMPANION)) { + int playCount = Filters.countSpottable(game.getGameState(), game.getModifiersQuerying(), Culture.DWARVEN, CardType.COMPANION) - 3; + + RequiredTriggerAction action = new RequiredTriggerAction(self); + for (int i = 0; i < playCount; i++) { + action.appendEffect( + new OptionalEffect(action, self.getOwner(), + new ChooseAndPlayCardFromDiscardEffect(self.getOwner(), game, Race.ORC))); + } + return Collections.singletonList(action); + } + + return null; + } + + @Override + protected List getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) { + if (PlayConditions.canSpot(game, Culture.ELVEN, Keyword.ARCHER)) { + ActivateCardAction action = new ActivateCardAction(self); + action.appendCost( + new SpotEffect(1, Culture.ELVEN, Keyword.ARCHER)); + action.appendEffect( + new AddUntilStartOfPhaseModifierEffect( + new KeywordModifier(self, self, Keyword.FIERCE), Phase.REGROUP)); + + return Collections.singletonList(action); + } + return null; + } +}