diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/Card1_001.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/Card1_001.java index c1f6dd3f3..23a933ac6 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/Card1_001.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/Card1_001.java @@ -1,7 +1,6 @@ package com.gempukku.lotro.cards.set1; import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.filters.Filters; @@ -11,7 +10,10 @@ import com.gempukku.lotro.logic.actions.ActivateCardAction; import com.gempukku.lotro.logic.actions.RequiredTriggerAction; import com.gempukku.lotro.logic.cardtype.AbstractAttachable; import com.gempukku.lotro.logic.effects.*; -import com.gempukku.lotro.logic.modifiers.*; +import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.modifiers.ModifierFlag; +import com.gempukku.lotro.logic.modifiers.StrengthModifier; +import com.gempukku.lotro.logic.modifiers.VitalityModifier; import com.gempukku.lotro.logic.timing.Action; import com.gempukku.lotro.logic.timing.Effect; import com.gempukku.lotro.logic.timing.EffectResult; @@ -44,7 +46,6 @@ public class Card1_001 extends AbstractAttachable { List modifiers = new LinkedList(); modifiers.add(new StrengthModifier(self, Filters.hasAttached(self), 1)); modifiers.add(new VitalityModifier(self, Filters.hasAttached(self), 1)); - modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND)); return modifiers; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/Card1_002.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/Card1_002.java index 6a7b482db..916be7d67 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/Card1_002.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/Card1_002.java @@ -1,7 +1,6 @@ package com.gempukku.lotro.cards.set1; import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.filters.Filters; @@ -11,7 +10,6 @@ import com.gempukku.lotro.logic.actions.ActivateCardAction; import com.gempukku.lotro.logic.actions.RequiredTriggerAction; import com.gempukku.lotro.logic.cardtype.AbstractAttachable; import com.gempukku.lotro.logic.effects.*; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.modifiers.ModifierFlag; import com.gempukku.lotro.logic.modifiers.StrengthModifier; @@ -46,7 +44,6 @@ public class Card1_002 extends AbstractAttachable { public List getInPlayModifiers(LotroGame game, PhysicalCard self) { List modifiers = new LinkedList(); modifiers.add(new StrengthModifier(self, Filters.hasAttached(self), 1)); - modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND)); return modifiers; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set11/Card11_001.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set11/Card11_001.java index 64fe362aa..cfde161bb 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set11/Card11_001.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set11/Card11_001.java @@ -1,7 +1,6 @@ package com.gempukku.lotro.cards.set11; import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.filters.Filters; @@ -11,7 +10,6 @@ import com.gempukku.lotro.logic.actions.ActivateCardAction; import com.gempukku.lotro.logic.actions.RequiredTriggerAction; import com.gempukku.lotro.logic.cardtype.AbstractAttachable; import com.gempukku.lotro.logic.effects.*; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.modifiers.ModifierFlag; import com.gempukku.lotro.logic.modifiers.ResistanceModifier; @@ -46,7 +44,6 @@ public class Card11_001 extends AbstractAttachable { public List getInPlayModifiers(LotroGame game, PhysicalCard self) { List modifiers = new LinkedList(); modifiers.add(new ResistanceModifier(self, Filters.hasAttached(self), 2)); - modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND)); return modifiers; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/Card15_001.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/Card15_001.java index 9a25e614c..fed49557e 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/Card15_001.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/Card15_001.java @@ -39,7 +39,6 @@ public class Card15_001 extends AbstractAttachable { public List getInPlayModifiers(LotroGame game, PhysicalCard self) { List modifiers = new LinkedList(); modifiers.add(new VitalityModifier(self, Filters.hasAttached(self), 2)); - modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND)); modifiers.add( new KeywordModifier(self, Filters.hasAttached(self), new Condition() { diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set19/Card19_001.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set19/Card19_001.java index 0cb03832a..2ec5d2cf6 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set19/Card19_001.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set19/Card19_001.java @@ -1,7 +1,6 @@ package com.gempukku.lotro.cards.set19; import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.filters.Filters; @@ -11,14 +10,11 @@ import com.gempukku.lotro.logic.actions.ActivateCardAction; import com.gempukku.lotro.logic.actions.RequiredTriggerAction; import com.gempukku.lotro.logic.cardtype.AbstractAttachable; import com.gempukku.lotro.logic.effects.*; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.modifiers.ModifierFlag; import com.gempukku.lotro.logic.modifiers.StrengthModifier; import com.gempukku.lotro.logic.timing.*; import java.util.Collections; -import java.util.LinkedList; import java.util.List; /** @@ -37,13 +33,6 @@ public class Card19_001 extends AbstractAttachable { return Filters.none; } - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - List modifiers = new LinkedList(); - modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND)); - return modifiers; - } - @Override protected List getExtraPhaseActions(String playerId, LotroGame game, final PhysicalCard self) { if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/Card20_001.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/Card20_001.java index 73418a782..bc527651b 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/Card20_001.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/Card20_001.java @@ -1,7 +1,6 @@ package com.gempukku.lotro.cards.set20; import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.filters.Filters; @@ -38,7 +37,6 @@ public class Card20_001 extends AbstractAttachable { @Override public List getInPlayModifiers(LotroGame game, PhysicalCard self) { List modifiers = new LinkedList(); - modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND)); modifiers.add(new StrengthModifier(self, Filters.hasAttached(self), 1)); modifiers.add(new VitalityModifier(self, Filters.hasAttached(self), 1)); modifiers.add(new ResistanceModifier(self, Filters.hasAttached(self), 1)); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/Card20_002.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/Card20_002.java index 13987b690..208ac1eec 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/Card20_002.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/Card20_002.java @@ -1,7 +1,6 @@ package com.gempukku.lotro.cards.set20; import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.filters.Filters; @@ -11,7 +10,6 @@ import com.gempukku.lotro.logic.actions.ActivateCardAction; import com.gempukku.lotro.logic.actions.RequiredTriggerAction; import com.gempukku.lotro.logic.cardtype.AbstractAttachable; import com.gempukku.lotro.logic.effects.*; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.modifiers.ModifierFlag; import com.gempukku.lotro.logic.modifiers.StrengthModifier; @@ -46,7 +44,6 @@ public class Card20_002 extends AbstractAttachable { public List getInPlayModifiers(LotroGame game, PhysicalCard self) { List modifiers = new LinkedList(); modifiers.add(new StrengthModifier(self, Filters.hasAttached(self), 1)); - modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND)); return modifiers; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/Card4_001.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/Card4_001.java index 0c72b20e5..af5eed367 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/Card4_001.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/Card4_001.java @@ -1,7 +1,6 @@ package com.gempukku.lotro.cards.set4; import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.filters.Filters; @@ -40,7 +39,6 @@ public class Card4_001 extends AbstractAttachable { List modifiers = new LinkedList(); modifiers.add( new VitalityModifier(self, Filters.hasAttached(self), 2)); - modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND)); modifiers.add( new StrengthModifier(self, Filters.hasAttached(self), new Condition() { diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/Card40_001.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/Card40_001.java index 0c4ebebda..fd4494e33 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/Card40_001.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/Card40_001.java @@ -1,7 +1,6 @@ package com.gempukku.lotro.cards.set40; import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.filters.Filters; @@ -48,7 +47,6 @@ public class Card40_001 extends AbstractAttachable { modifiers.add(new StrengthModifier(self, Filters.hasAttached(self), 1)); modifiers.add(new VitalityModifier(self, Filters.hasAttached(self), 1)); modifiers.add(new ResistanceModifier(self, Filters.hasAttached(self), 1)); - modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND)); return modifiers; } @@ -73,24 +71,6 @@ public class Card40_001 extends AbstractAttachable { return null; } - @Override - public List getOptionalInPlayBeforeActions(final String playerId, LotroGame game, Effect effect, final PhysicalCard self) { - if (TriggerConditions.isGettingWounded(effect, game, Filters.hasAttached(self)) - && !game.getModifiersQuerying().hasFlagActive(game, ModifierFlag.RING_TEXT_INACTIVE)) { - WoundCharactersEffect woundEffect = (WoundCharactersEffect) effect; - List actions = new LinkedList(); - - ActivateCardAction action = new ActivateCardAction(self); - action.appendEffect(new NegateWoundEffect(woundEffect, self.getAttachedTo())); - action.appendEffect(new AddBurdenEffect(self.getOwner(), self, 2)); - action.appendEffect(new PutOnTheOneRingEffect()); - - actions.add(action); - return actions; - } - return null; - } - @Override public List getRequiredBeforeTriggers(LotroGame game, Effect effect, PhysicalCard self) { if (TriggerConditions.isGettingWounded(effect, game, Filters.hasAttached(self)) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/Card40_002.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/Card40_002.java index fe73afc64..396145e1b 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/Card40_002.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/Card40_002.java @@ -1,7 +1,6 @@ package com.gempukku.lotro.cards.set40; import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.filters.Filters; @@ -11,7 +10,6 @@ import com.gempukku.lotro.logic.actions.ActivateCardAction; import com.gempukku.lotro.logic.actions.RequiredTriggerAction; import com.gempukku.lotro.logic.cardtype.AbstractAttachable; import com.gempukku.lotro.logic.effects.*; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.modifiers.ModifierFlag; import com.gempukku.lotro.logic.modifiers.StrengthModifier; @@ -49,7 +47,6 @@ public class Card40_002 extends AbstractAttachable { public List getInPlayModifiers(LotroGame game, PhysicalCard self) { List modifiers = new LinkedList(); modifiers.add(new StrengthModifier(self, Filters.hasAttached(self), 1)); - modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND)); return modifiers; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/gandalf/Card40_064.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/gandalf/Card40_064.java index 1ea42bb5d..dc1e3b061 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/gandalf/Card40_064.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/gandalf/Card40_064.java @@ -1,11 +1,5 @@ package com.gempukku.lotro.cards.set40.gandalf; -import com.gempukku.lotro.logic.cardtype.AbstractEvent; -import com.gempukku.lotro.logic.timing.TriggerConditions; -import com.gempukku.lotro.logic.actions.PlayEventAction; -import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseActionProxyEffect; -import com.gempukku.lotro.logic.effects.OptionalEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect; import com.gempukku.lotro.common.Culture; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.common.Side; @@ -14,8 +8,14 @@ import com.gempukku.lotro.game.AbstractActionProxy; 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.actions.PlayEventAction; +import com.gempukku.lotro.logic.cardtype.AbstractEvent; +import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseActionProxyEffect; import com.gempukku.lotro.logic.effects.DrawCardsEffect; +import com.gempukku.lotro.logic.effects.OptionalEffect; +import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect; import com.gempukku.lotro.logic.timing.EffectResult; +import com.gempukku.lotro.logic.timing.TriggerConditions; import java.util.Collections; import java.util.List; @@ -51,6 +51,7 @@ public class Card40_064 extends AbstractEvent{ if (TriggerConditions.winsSkirmish(game, effectResult, selectedCharacter) && playerId.equals(selectedCharacter.getOwner())) { OptionalTriggerAction action = new OptionalTriggerAction(self); + action.setVirtualCardAction(true); action.appendEffect( new OptionalEffect(action, playerId, new DrawCardsEffect(action, playerId, 2))); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/gandalf/Card40_071.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/gandalf/Card40_071.java index 8f8e0f0b5..19736b43d 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/gandalf/Card40_071.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/gandalf/Card40_071.java @@ -1,16 +1,16 @@ package com.gempukku.lotro.cards.set40.gandalf; -import com.gempukku.lotro.logic.cardtype.AbstractAttachableFPPossession; -import com.gempukku.lotro.logic.timing.PlayConditions; -import com.gempukku.lotro.logic.effects.CheckPhaseLimitEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect; 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.cardtype.AbstractAttachableFPPossession; +import com.gempukku.lotro.logic.effects.CheckPhaseLimitEffect; import com.gempukku.lotro.logic.effects.DrawCardsEffect; +import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect; import com.gempukku.lotro.logic.timing.Action; +import com.gempukku.lotro.logic.timing.PlayConditions; import java.util.Collections; import java.util.List; @@ -23,7 +23,8 @@ import java.util.List; * Twilight Cost: 1 * Type: Possession - Pipe * Card Number: 1U71 - * Game Text: Maneuver: Discard a pipeweed possession and spot X pipes to draw X cards (limit once per phase). + * Game Text: Bearer must be Gandalf; + * Maneuver: Discard a pipeweed possession and spot X pipes to draw X cards (limit once per phase). */ public class Card40_071 extends AbstractAttachableFPPossession{ public Card40_071() { @@ -32,7 +33,7 @@ public class Card40_071 extends AbstractAttachableFPPossession{ @Override public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) { - return Filters.or(CardType.COMPANION, CardType.ALLY); + return Filters.gandalf; } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/gandalf/Card40_077.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/gandalf/Card40_077.java index 234b30672..357332a44 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/gandalf/Card40_077.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/gandalf/Card40_077.java @@ -1,18 +1,18 @@ package com.gempukku.lotro.cards.set40.gandalf; -import com.gempukku.lotro.logic.cardtype.AbstractAttachable; -import com.gempukku.lotro.logic.timing.PlayConditions; -import com.gempukku.lotro.logic.actions.AttachPermanentAction; -import com.gempukku.lotro.logic.effects.RemoveBurdenEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; import com.gempukku.lotro.common.*; import com.gempukku.lotro.filters.Filter; 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.AttachPermanentAction; +import com.gempukku.lotro.logic.cardtype.AbstractAttachable; import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect; +import com.gempukku.lotro.logic.effects.RemoveBurdenEffect; +import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; import com.gempukku.lotro.logic.timing.Action; +import com.gempukku.lotro.logic.timing.PlayConditions; import java.util.Collections; import java.util.List; @@ -69,4 +69,14 @@ public class Card40_077 extends AbstractAttachable{ } return null; } + + @Override + public int getStrength() { + return 1; + } + + @Override + public int getResistance() { + return 1; + } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/gondor/Card40_101.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/gondor/Card40_101.java index ff5fe831e..4c17a5f5e 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/gondor/Card40_101.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/gondor/Card40_101.java @@ -29,7 +29,7 @@ import java.util.List; */ public class Card40_101 extends AbstractCompanion { public Card40_101() { - super(3, 7, 3, 6, Culture.GONDOR, Race.MAN, null, "Boromor", + super(3, 7, 3, 6, Culture.GONDOR, Race.MAN, null, "Boromir", "Champion of Minas Tirith", true); addKeyword(Keyword.RANGER); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/isengard/Card40_123.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/isengard/Card40_123.java index e632b52be..291172cc7 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/isengard/Card40_123.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/isengard/Card40_123.java @@ -1,14 +1,14 @@ package com.gempukku.lotro.cards.set40.isengard; -import com.gempukku.lotro.logic.cardtype.AbstractEvent; -import com.gempukku.lotro.logic.actions.PlayEventAction; -import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect; -import com.gempukku.lotro.logic.modifiers.evaluator.ConditionEvaluator; 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.PlayEventAction; +import com.gempukku.lotro.logic.cardtype.AbstractEvent; +import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect; import com.gempukku.lotro.logic.modifiers.SpotCondition; +import com.gempukku.lotro.logic.modifiers.evaluator.ConditionEvaluator; /** * Title: Find the Halfling! @@ -23,7 +23,7 @@ import com.gempukku.lotro.logic.modifiers.SpotCondition; */ public class Card40_123 extends AbstractEvent { public Card40_123() { - super(Side.FREE_PEOPLE, 0, Culture.ISENGARD, "Find the Halfling!", Phase.SKIRMISH); + super(Side.SHADOW, 0, Culture.ISENGARD, "Find the Halfling!", Phase.SKIRMISH); } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/isengard/Card40_138.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/isengard/Card40_138.java index ef814104a..b312f2b5e 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/isengard/Card40_138.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/isengard/Card40_138.java @@ -1,9 +1,5 @@ package com.gempukku.lotro.cards.set40.isengard; -import com.gempukku.lotro.logic.cardtype.AbstractEvent; -import com.gempukku.lotro.logic.timing.PlayConditions; -import com.gempukku.lotro.logic.actions.PlayEventAction; -import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDeckEffect; import com.gempukku.lotro.common.Culture; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.common.Side; @@ -11,8 +7,18 @@ import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.GameUtils; +import com.gempukku.lotro.logic.actions.PlayEventAction; +import com.gempukku.lotro.logic.cardtype.AbstractEvent; import com.gempukku.lotro.logic.effects.AddThreatsEffect; +import com.gempukku.lotro.logic.effects.ChoiceEffect; +import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDeckEffect; +import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDiscardEffect; import com.gempukku.lotro.logic.modifiers.evaluator.Evaluator; +import com.gempukku.lotro.logic.timing.Effect; +import com.gempukku.lotro.logic.timing.PlayConditions; + +import java.util.ArrayList; +import java.util.List; /** * Title: Seeking My Counsel @@ -32,14 +38,21 @@ public class Card40_138 extends AbstractEvent { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int withTwilightRemoved, int twilightModifier, boolean ignoreRoamingPenalty, boolean ignoreCheckingDeadPile) { return super.checkPlayRequirements(playerId, game, self, withTwilightRemoved, twilightModifier, ignoreRoamingPenalty, ignoreCheckingDeadPile) - && PlayConditions.canPlayFromDeck(playerId, game, Filters.saruman); + && (PlayConditions.canPlayFromDeck(playerId, game, Filters.saruman) + || PlayConditions.canPlayFromDiscard(playerId, game, Filters.saruman)); } @Override public PlayEventAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier, boolean ignoreRoamingPenalty) { PlayEventAction action = new PlayEventAction(self); - action.appendCost( + List possibleCosts = new ArrayList(2); + possibleCosts.add( new ChooseAndPlayCardFromDeckEffect(playerId, Filters.saruman)); + possibleCosts.add( + new ChooseAndPlayCardFromDiscardEffect(playerId, game, Filters.saruman)); + action.appendCost( + new ChoiceEffect( + action, playerId, possibleCosts)); action.appendEffect( new AddThreatsEffect(playerId, self, new Evaluator() { diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/moria/Card40_162.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/moria/Card40_162.java index ab70c035d..9f1ae99bf 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/moria/Card40_162.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/moria/Card40_162.java @@ -1,16 +1,18 @@ package com.gempukku.lotro.cards.set40.moria; -import com.gempukku.lotro.logic.cardtype.AbstractMinion; -import com.gempukku.lotro.logic.timing.TriggerConditions; -import com.gempukku.lotro.logic.effects.AddUntilStartOfPhaseModifierEffect; -import com.gempukku.lotro.common.*; +import com.gempukku.lotro.common.CardType; +import com.gempukku.lotro.common.Culture; +import com.gempukku.lotro.common.Phase; +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.cardtype.AbstractMinion; +import com.gempukku.lotro.logic.effects.AddUntilStartOfPhaseModifierEffect; import com.gempukku.lotro.logic.modifiers.StrengthModifier; import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.results.PlayCardResult; +import com.gempukku.lotro.logic.timing.TriggerConditions; import java.util.Collections; import java.util.List; @@ -36,11 +38,10 @@ public class Card40_162 extends AbstractMinion { @Override public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { if (TriggerConditions.playedFromStacked(game, effectResult, Filters.and(Culture.MORIA, CardType.CONDITION), Culture.MORIA, CardType.MINION)) { - PlayCardResult playResult = (PlayCardResult) effectResult; OptionalTriggerAction action = new OptionalTriggerAction(self); action.appendEffect( new AddUntilStartOfPhaseModifierEffect( - new StrengthModifier(self, playResult.getPlayedCard(), 1), Phase.REGROUP)); + new StrengthModifier(self, self, 1), Phase.REGROUP)); return Collections.singletonList(action); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/sauron/Card40_218.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/sauron/Card40_218.java index 51314a097..076ea2329 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/sauron/Card40_218.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/sauron/Card40_218.java @@ -1,17 +1,20 @@ package com.gempukku.lotro.cards.set40.sauron; -import com.gempukku.lotro.logic.cardtype.AbstractPermanent; -import com.gempukku.lotro.logic.timing.PlayConditions; -import com.gempukku.lotro.logic.timing.TriggerConditions; -import com.gempukku.lotro.logic.effects.ChoiceEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDeckEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDiscardEffect; -import com.gempukku.lotro.common.*; +import com.gempukku.lotro.common.CardType; +import com.gempukku.lotro.common.Culture; +import com.gempukku.lotro.common.Phase; +import com.gempukku.lotro.common.Side; 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.cardtype.AbstractPermanent; +import com.gempukku.lotro.logic.effects.ChoiceEffect; +import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDeckEffect; +import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDiscardEffect; import com.gempukku.lotro.logic.timing.Effect; import com.gempukku.lotro.logic.timing.EffectResult; +import com.gempukku.lotro.logic.timing.PlayConditions; +import com.gempukku.lotro.logic.timing.TriggerConditions; import java.util.ArrayList; import java.util.Collections; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/shire/Card40_265.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/shire/Card40_265.java index d43281cb6..b6827bd4b 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/shire/Card40_265.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/shire/Card40_265.java @@ -1,15 +1,15 @@ package com.gempukku.lotro.cards.set40.shire; -import com.gempukku.lotro.logic.cardtype.AbstractAlly; -import com.gempukku.lotro.logic.timing.PlayConditions; -import com.gempukku.lotro.logic.effects.CancelSkirmishEffect; -import com.gempukku.lotro.logic.effects.SelfExertEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect; import com.gempukku.lotro.common.*; 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.cardtype.AbstractAlly; +import com.gempukku.lotro.logic.effects.CancelSkirmishEffect; +import com.gempukku.lotro.logic.effects.SelfExertEffect; +import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect; import com.gempukku.lotro.logic.timing.Action; +import com.gempukku.lotro.logic.timing.PlayConditions; import java.util.Collections; import java.util.List; @@ -25,8 +25,8 @@ import java.util.List; * Vitality: 2 * Card Number: 1R265 * Game Text: To play, spot 2 Hobbit companions. - * Skirmish: At sites 1-5, exert Robin Smallburrow to cancel a skirmish involving a Hobbit. - * Skirmish: At sites 6-9, exert Robin Smallburrow to make a Hobbit strength +3. + * Skirmish: At sites 1-4, exert Robin Smallburrow to cancel a skirmish involving a Hobbit. + * Skirmish: At sites 5-9, exert Robin Smallburrow to make a Hobbit strength +3. */ public class Card40_265 extends AbstractAlly { public Card40_265() { @@ -47,7 +47,7 @@ public class Card40_265 extends AbstractAlly { && PlayConditions.canSelfExert(self, game)) { ActivateCardAction action = new ActivateCardAction(self); action.appendCost(new SelfExertEffect(action, self)); - if (game.getGameState().getCurrentSiteNumber() <= 5) { + if (game.getGameState().getCurrentSiteNumber() <= 4) { action.appendEffect( new CancelSkirmishEffect(Race.HOBBIT)); } else { diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/shire/Card40_268.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/shire/Card40_268.java index e2cc62634..68d11cd4d 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/shire/Card40_268.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set40/shire/Card40_268.java @@ -50,9 +50,14 @@ public class Card40_268 extends AbstractCompanion { } @Override - public List getOptionalAfterTriggersFromHand(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { + public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { + if (TriggerConditions.forEachKilled(game, effectResult, Filters.frodo, Filters.ringBearer)) { + OptionalTriggerAction action = new OptionalTriggerAction(self); + action.appendEffect(new MakeRingBearerEffect(self)); + return Collections.singletonList(action); + } if (TriggerConditions.startOfTurn(game, effectResult) - && PlayConditions.canSelfExert(self, game)) { + && PlayConditions.canSelfExert(self, game)) { OptionalTriggerAction action = new OptionalTriggerAction(self); action.appendCost( new SelfExertEffect(action, self)); @@ -60,16 +65,6 @@ public class Card40_268 extends AbstractCompanion { new RemoveBurdenEffect(playerId, self)); return Collections.singletonList(action); } - return null; - } - - @Override - public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.forEachKilled(game, effectResult, Filters.frodo, Filters.ringBearer)) { - OptionalTriggerAction action = new OptionalTriggerAction(self); - action.appendEffect(new MakeRingBearerEffect(self)); - return Collections.singletonList(action); - } return null; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/Card7_002.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/Card7_002.java index f287ec639..d1a2633aa 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/Card7_002.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/Card7_002.java @@ -1,7 +1,6 @@ package com.gempukku.lotro.cards.set7; import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.filters.Filters; @@ -11,7 +10,6 @@ import com.gempukku.lotro.logic.actions.ActivateCardAction; import com.gempukku.lotro.logic.actions.RequiredTriggerAction; import com.gempukku.lotro.logic.cardtype.AbstractAttachable; import com.gempukku.lotro.logic.effects.*; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.modifiers.ModifierFlag; import com.gempukku.lotro.logic.modifiers.StrengthModifier; @@ -43,7 +41,6 @@ public class Card7_002 extends AbstractAttachable { List modifiers = new LinkedList(); modifiers.add( new StrengthModifier(self, Filters.hasAttached(self), 2)); - modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND)); return modifiers; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set9/Card9_001.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set9/Card9_001.java index 64e095250..721cd85e1 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set9/Card9_001.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set9/Card9_001.java @@ -1,7 +1,6 @@ package com.gempukku.lotro.cards.set9; import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.common.PossessionClass; import com.gempukku.lotro.filters.Filter; @@ -14,7 +13,10 @@ import com.gempukku.lotro.logic.cardtype.AbstractAttachable; import com.gempukku.lotro.logic.effects.*; import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDeckEffect; -import com.gempukku.lotro.logic.modifiers.*; +import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.modifiers.ModifierFlag; +import com.gempukku.lotro.logic.modifiers.StrengthModifier; +import com.gempukku.lotro.logic.modifiers.VitalityModifier; import com.gempukku.lotro.logic.timing.*; import java.util.Collections; @@ -67,7 +69,6 @@ public class Card9_001 extends AbstractAttachable { List modifiers = new LinkedList(); modifiers.add(new StrengthModifier(self, Filters.hasAttached(self), 1)); modifiers.add(new VitalityModifier(self, Filters.hasAttached(self), 1)); - modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND)); return modifiers; } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/RuleSet.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/RuleSet.java index b51498b3c..572e21690 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/RuleSet.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/RuleSet.java @@ -33,7 +33,7 @@ public class RuleSet { new KilledCardRule(_actionsEnvironment).applyRule(); - new FrodoAndSamRule(_modifiersLogic).applyRule(); + new RingRelatedRule(_modifiersLogic).applyRule(); new RingBearerRule(_modifiersLogic).applyRule(); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/FrodoAndSamRule.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/RingRelatedRule.java similarity index 76% rename from gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/FrodoAndSamRule.java rename to gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/RingRelatedRule.java index 31dadb12e..8545729c2 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/FrodoAndSamRule.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/RingRelatedRule.java @@ -1,22 +1,24 @@ -package com.gempukku.lotro.logic.timing.rules; - -import com.gempukku.lotro.common.Keyword; -import com.gempukku.lotro.filters.Filters; -import com.gempukku.lotro.logic.modifiers.CantPlayCardsModifier; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.modifiers.ModifiersLogic; - -public class FrodoAndSamRule { - private ModifiersLogic _modifiersLogic; - - public FrodoAndSamRule(ModifiersLogic modifiersLogic) { - _modifiersLogic = modifiersLogic; - } - - public void applyRule() { - _modifiersLogic.addAlwaysOnModifier( - new KeywordModifier(null, Filters.or(Filters.frodo, Filters.sam), Keyword.RING_BOUND)); - _modifiersLogic.addAlwaysOnModifier( - new CantPlayCardsModifier(null, Filters.frodo, Keyword.CAN_START_WITH_RING)); - } -} +package com.gempukku.lotro.logic.timing.rules; + +import com.gempukku.lotro.common.Keyword; +import com.gempukku.lotro.filters.Filters; +import com.gempukku.lotro.logic.modifiers.CantPlayCardsModifier; +import com.gempukku.lotro.logic.modifiers.KeywordModifier; +import com.gempukku.lotro.logic.modifiers.ModifiersLogic; + +public class RingRelatedRule { + private ModifiersLogic _modifiersLogic; + + public RingRelatedRule(ModifiersLogic modifiersLogic) { + _modifiersLogic = modifiersLogic; + } + + public void applyRule() { + _modifiersLogic.addAlwaysOnModifier( + new KeywordModifier(null, Filters.or(Filters.frodo, Filters.sam), Keyword.RING_BOUND)); + _modifiersLogic.addAlwaysOnModifier( + new CantPlayCardsModifier(null, Filters.frodo, Keyword.CAN_START_WITH_RING)); + _modifiersLogic.addAlwaysOnModifier( + new KeywordModifier(null, Filters.ringBearer, Keyword.RING_BOUND)); + } +}