From 9627cd4ed20993d732a0c69b7982c05d17ff4b57 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Wed, 19 Oct 2011 15:20:00 +0000 Subject: [PATCH] "Sam" --- .../OverwhelmedByMultiplierModifier.java | 7 +- .../lotro/cards/set5/shire/Card5_111.java | 2 +- .../lotro/cards/set5/shire/Card5_115.java | 73 +++++++++++++++++++ 3 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_115.java diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/OverwhelmedByMultiplierModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/OverwhelmedByMultiplierModifier.java index df23962c2..17fed980c 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/OverwhelmedByMultiplierModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/OverwhelmedByMultiplierModifier.java @@ -4,6 +4,7 @@ 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.Condition; import com.gempukku.lotro.logic.modifiers.ModifierEffect; import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; @@ -11,7 +12,11 @@ public class OverwhelmedByMultiplierModifier extends AbstractModifier { private int _multiplier; public OverwhelmedByMultiplierModifier(PhysicalCard source, Filter affectFilter, int multiplier) { - super(source, "Cannot be overwhelmed unless his strength is *" + multiplier, affectFilter, new ModifierEffect[]{ModifierEffect.OVERWHELM_MODIFIER}); + this(source, affectFilter, null, multiplier); + } + + public OverwhelmedByMultiplierModifier(PhysicalCard source, Filter affectFilter, Condition condition, int multiplier) { + super(source, "Cannot be overwhelmed unless his strength is *" + multiplier, affectFilter, condition, new ModifierEffect[]{ModifierEffect.OVERWHELM_MODIFIER}); _multiplier = multiplier; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_111.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_111.java index 0942c9503..c505a1e04 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_111.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_111.java @@ -28,7 +28,7 @@ import java.util.List; */ public class Card5_111 extends AbstractCompanion { public Card5_111() { - super(0, 3, 4, Culture.SHIRE, Race.HOBBIT, Signet.ARAGORN, "Frodo"); + super(0, 3, 4, Culture.SHIRE, Race.HOBBIT, Signet.ARAGORN, "Frodo", true); addKeyword(Keyword.RING_BEARER); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_115.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_115.java new file mode 100644 index 000000000..9c5afebfb --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_115.java @@ -0,0 +1,73 @@ +package com.gempukku.lotro.cards.set5.shire; + +import com.gempukku.lotro.cards.AbstractCompanion; +import com.gempukku.lotro.cards.effects.MakeRingBearerEffect; +import com.gempukku.lotro.cards.modifiers.OverwhelmedByMultiplierModifier; +import com.gempukku.lotro.common.Culture; +import com.gempukku.lotro.common.Keyword; +import com.gempukku.lotro.common.Race; +import com.gempukku.lotro.common.Signet; +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.OptionalTriggerAction; +import com.gempukku.lotro.logic.effects.KillEffect; +import com.gempukku.lotro.logic.modifiers.Condition; +import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; +import com.gempukku.lotro.logic.timing.Effect; +import com.gempukku.lotro.logic.timing.EffectResult; + +import java.util.Collections; +import java.util.List; + +/** + * Set: Battle of Helm's Deep + * Side: Free + * Culture: Shire + * Twilight Cost: 2 + * Type: Companion • Hobbit + * Strength: 3 + * Vitality: 4 + * Resistance: 6 + * Signet: Aragorn + * Game Text: Ring-bound. While you can spot Frodo and Smeagol, Sam may not be overwhelmed unless is strength + * is tripled. Response: If Frodo is killed, make Sam the Ring-bearer (resistance 5). + */ +public class Card5_115 extends AbstractCompanion { + public Card5_115() { + super(2, 3, 4, Culture.SHIRE, Race.HOBBIT, Signet.ARAGORN, "Sam", true); + addKeyword(Keyword.RING_BOUND); + } + + @Override + public int getResistance() { + return 5; + } + + @Override + public List getAlwaysOnModifiers(LotroGame game, PhysicalCard self) { + return Collections.singletonList( + new OverwhelmedByMultiplierModifier(self, Filters.sameCard(self), + new Condition() { + @Override + public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) { + return Filters.canSpot(gameState, modifiersQuerying, Filters.name("Frodo")) + && Filters.canSpot(gameState, modifiersQuerying, Filters.name("Smeagol")); + } + }, 3)); + } + + @Override + public List getOptionalBeforeTriggers(String playerId, LotroGame game, Effect effect, PhysicalCard self) { + if (effect.getType() == EffectResult.Type.KILL) { + if (Filters.filter(((KillEffect) effect).getCharactersToBeKilled(), game.getGameState(), game.getModifiersQuerying(), Filters.name("Frodo")).size() > 0) { + OptionalTriggerAction action = new OptionalTriggerAction(self); + action.appendEffect(new MakeRingBearerEffect(self)); + return Collections.singletonList(action); + } + } + return null; + } +}