From 5182999c33206724d2fda990255e594229ff59a7 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Mon, 5 Sep 2011 23:12:05 +0000 Subject: [PATCH] "Pippin" --- .../CantDiscardFromPlayModifier.java | 24 +++++++++++++ .../lotro/cards/set1/shire/Card1_306.java | 35 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantDiscardFromPlayModifier.java create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_306.java diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantDiscardFromPlayModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantDiscardFromPlayModifier.java new file mode 100644 index 000000000..58ca83215 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantDiscardFromPlayModifier.java @@ -0,0 +1,24 @@ +package com.gempukku.lotro.cards.modifiers; + +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; +import com.gempukku.lotro.logic.modifiers.ModifierEffect; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; + +public class CantDiscardFromPlayModifier extends AbstractModifier { + private Filter _sourceFilter; + + public CantDiscardFromPlayModifier(PhysicalCard source, String text, Filter affectFilter, Filter sourceFilter) { + super(source, text, affectFilter, new ModifierEffect[]{ModifierEffect.DISCARD_FROM_PLAY_MODIFIER}); + _sourceFilter = sourceFilter; + } + + @Override + public boolean canBeDiscardedFromPlay(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard card, PhysicalCard source, boolean result) { + if (_sourceFilter.accepts(gameState, modifiersQuerying, source)) + return false; + return result; + } +} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_306.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_306.java new file mode 100644 index 000000000..700c38503 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_306.java @@ -0,0 +1,35 @@ +package com.gempukku.lotro.cards.set1.shire; + +import com.gempukku.lotro.cards.AbstractCompanion; +import com.gempukku.lotro.cards.modifiers.CantDiscardFromPlayModifier; +import com.gempukku.lotro.common.Culture; +import com.gempukku.lotro.common.Keyword; +import com.gempukku.lotro.common.Signet; +import com.gempukku.lotro.filters.Filters; +import com.gempukku.lotro.game.PhysicalCard; +import com.gempukku.lotro.logic.modifiers.Modifier; + +/** + * Set: The Fellowship of the Ring + * Side: Free + * Culture: Shire + * Twilight Cost: 1 + * Type: Companion • Hobbit + * Strength: 3 + * Vitality: 4 + * Resistance: 6 + * Signet: Frodo + * Game Text: Your opponent may not discard your [SHIRE] tales from play. + */ +public class Card1_306 extends AbstractCompanion { + public Card1_306() { + super(1, 3, 4, Culture.SHIRE, "Pippin", true); + addKeyword(Keyword.HOBBIT); + setSignet(Signet.FRODO); + } + + @Override + public Modifier getAlwaysOnEffect(PhysicalCard self) { + return new CantDiscardFromPlayModifier(self, "Can't be discarded by opponent", Filters.and(Filters.culture(Culture.SHIRE), Filters.keyword(Keyword.TALE)), Filters.not(Filters.owner(self.getOwner()))); + } +}