From 782345cb5fbd4fb33c49ccebab10682ca0631418 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Wed, 16 Nov 2011 15:03:45 +0000 Subject: [PATCH] "Shelob" --- .../CantBeAssignedToSkirmishModifier.java | 6 +- .../lotro/cards/set10/gollum/Card10_023.java | 58 +++++++++++++++++++ 2 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gollum/Card10_023.java diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantBeAssignedToSkirmishModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantBeAssignedToSkirmishModifier.java index 14d8ffd25..eb7b08af6 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantBeAssignedToSkirmishModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantBeAssignedToSkirmishModifier.java @@ -1,7 +1,7 @@ package com.gempukku.lotro.cards.modifiers; +import com.gempukku.lotro.common.Filterable; import com.gempukku.lotro.common.Side; -import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.GameState; import com.gempukku.lotro.logic.modifiers.AbstractModifier; @@ -10,11 +10,11 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect; import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; public class CantBeAssignedToSkirmishModifier extends AbstractModifier { - public CantBeAssignedToSkirmishModifier(PhysicalCard source, Filter affectFilter) { + public CantBeAssignedToSkirmishModifier(PhysicalCard source, Filterable affectFilter) { super(source, "Can't be assigned to skirmish", affectFilter, ModifierEffect.ASSIGNMENT_MODIFIER); } - public CantBeAssignedToSkirmishModifier(PhysicalCard source, Condition condition, Filter affectFilter) { + public CantBeAssignedToSkirmishModifier(PhysicalCard source, Condition condition, Filterable affectFilter) { super(source, "Can't be assigned to skirmish", affectFilter, condition, ModifierEffect.ASSIGNMENT_MODIFIER); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gollum/Card10_023.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gollum/Card10_023.java new file mode 100644 index 000000000..0c2130e28 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gollum/Card10_023.java @@ -0,0 +1,58 @@ +package com.gempukku.lotro.cards.set10.gollum; + +import com.gempukku.lotro.cards.AbstractMinion; +import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.cards.effects.AddUntilEndOfTurnModifierEffect; +import com.gempukku.lotro.cards.modifiers.CantBeAssignedToSkirmishModifier; +import com.gempukku.lotro.common.CardType; +import com.gempukku.lotro.common.Culture; +import com.gempukku.lotro.common.Keyword; +import com.gempukku.lotro.common.Race; +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.OptionalTriggerAction; +import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; +import com.gempukku.lotro.logic.timing.EffectResult; + +import java.util.Collections; +import java.util.List; + +/** + * Set: Mount Doom + * Side: Shadow + * Culture: Gollum + * Twilight Cost: 6 + * Type: Minion • Spider + * Strength: 8 + * Vitality: 8 + * Site: 8 + * Game Text: Enduring. Fierce. When you play Shelob, if you can spot Gollum, you may spot a companion. That companion + * cannot be assigned to a skirmish until the end of the turn. + */ +public class Card10_023 extends AbstractMinion { + public Card10_023() { + super(6, 8, 8, 8, Race.SPIDER, Culture.GOLLUM, "Shelob", true); + addKeyword(Keyword.ENDURING); + addKeyword(Keyword.FIERCE); + } + + @Override + public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, final PhysicalCard self) { + if (PlayConditions.played(game, effectResult, self) + && PlayConditions.canSpot(game, Filters.gollum)) { + final OptionalTriggerAction action = new OptionalTriggerAction(self); + action.appendEffect( + new ChooseActiveCardEffect(self, playerId, "Choose a companion", CardType.COMPANION) { + @Override + protected void cardSelected(LotroGame game, PhysicalCard card) { + action.appendEffect( + new AddUntilEndOfTurnModifierEffect( + new CantBeAssignedToSkirmishModifier(self, card))); + } + }); + return Collections.singletonList(action); + } + return null; + } +}