diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractAttachableFPPossession.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractAttachableFPPossession.java index 9231a6e06..9cad71430 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractAttachableFPPossession.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractAttachableFPPossession.java @@ -24,8 +24,7 @@ public class AbstractAttachableFPPossession extends AbstractAttachable { protected void appendTransferPossessionAction(List actions, LotroGame game, PhysicalCard self, Filter validTargetFilter) { GameState gameState = game.getGameState(); if (gameState.getCurrentPhase() == Phase.FELLOWSHIP - && self.getZone() == Zone.ATTACHED - && (!isUnique() || !Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.name(getName())))) { + && self.getZone() == Zone.ATTACHED) { Filter vaildTransferFilter; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CancelStrengthBonusModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CancelStrengthBonusModifier.java index 0d4b47272..54b4157b5 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CancelStrengthBonusModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CancelStrengthBonusModifier.java @@ -4,7 +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.ModifiersLogic; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; public class CancelStrengthBonusModifier extends AbstractModifier { public CancelStrengthBonusModifier(PhysicalCard source, Filter affectFilter) { @@ -12,7 +12,7 @@ public class CancelStrengthBonusModifier extends AbstractModifier { } @Override - public boolean appliesStrengthModifier(GameState gameState, ModifiersLogic modifiersLogic, PhysicalCard modifierSource, boolean result) { + public boolean appliesStrengthModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard modifierSource, boolean result) { return false; } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/ProxyingModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/ProxyingModifier.java index f675b8d93..8d84302a8 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/ProxyingModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/ProxyingModifier.java @@ -68,6 +68,14 @@ public class ProxyingModifier implements Modifier { return result; } + @Override + public boolean appliesStrengthModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard modifierSource, boolean result) { + Modifier modifier = getProxiedModifier(gameState, modifiersQuerying); + if (modifier != null) + return modifier.appliesStrengthModifier(gameState, modifiersQuerying, modifierSource, result); + return result; + } + @Override public int getVitality(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard, int result) { Modifier modifier = getProxiedModifier(gameState, modifiersQuerying); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_035.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_035.java index 7a29d8198..de5949685 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_035.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_035.java @@ -51,7 +51,7 @@ public class Card1_035 extends AbstractLotroCardBlueprint { @Override public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) { List playableActions = physicalCard.getBlueprint().getPlayablePhaseActions(playerId, game, physicalCard); - return (playableActions.size() > 0); + return (playableActions != null && playableActions.size() > 0); } }), 0, 1) { @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_038.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_038.java index 57783c556..ce6476828 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_038.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_038.java @@ -37,9 +37,9 @@ public class Card1_038 extends AbstractLotroCardBlueprint { @Override public List getPlayablePhaseActions(String playerId, LotroGame game, PhysicalCard self) { if (PlayConditions.canPlayFPCardDuringPhase(game.getGameState(), Phase.ARCHERY, self) - && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.ELF), Filters.keyword(Keyword.ARCHERY), Filters.type(CardType.COMPANION))) { + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.ELF), Filters.keyword(Keyword.ARCHER), Filters.type(CardType.COMPANION))) { PlayEventAction action = new PlayEventAction(self); - action.addCost(new SpotEffect(Filters.and(Filters.keyword(Keyword.ELF), Filters.keyword(Keyword.ARCHERY), Filters.type(CardType.COMPANION)))); + action.addCost(new SpotEffect(Filters.and(Filters.keyword(Keyword.ELF), Filters.keyword(Keyword.ARCHER), Filters.type(CardType.COMPANION)))); action.addEffect(new AddUntilEndOfPhaseModifierEffect( new ArcheryTotalModifier(self, Side.FREE_PEOPLE, 1), Phase.ARCHERY)); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_047.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_047.java index 629269499..edd3dc9ba 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_047.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_047.java @@ -55,9 +55,8 @@ public class Card1_047 extends AbstractAttachableFPPossession { if (game.getGameState().getCurrentPhase() == Phase.SKIRMISH && self.getZone() == Zone.ATTACHED - && - (PlayConditions.canExert(game.getGameState(), game.getModifiersQuerying(), self.getAttachedTo()) - || game.getGameState().getHand(playerId).size() >= 2)) { + && (PlayConditions.canExert(game.getGameState(), game.getModifiersQuerying(), self.getAttachedTo()) + || game.getGameState().getHand(playerId).size() >= 2)) { final CostToEffectAction action = new CostToEffectAction(self, "Exert Arwen or discard 2 cards from hand to make her Strength +1"); List possibleCosts = new LinkedList(); @@ -88,6 +87,8 @@ public class Card1_047 extends AbstractAttachableFPPossession { new AddUntilEndOfPhaseModifierEffect( new StrengthModifier(self, Filters.sameCard(self.getAttachedTo()), 1), Phase.SKIRMISH)); + + actions.add(action); } return actions; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_056.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_056.java index ca71213af..9b03a717f 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_056.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_056.java @@ -55,6 +55,7 @@ public class Card1_056 extends AbstractAlly { action.addEffect(new WoundCharacterEffect(urukHai)); } }); + actions.add(action); } return actions; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_057.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_057.java index 1fd572b7f..272c710ba 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_057.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_057.java @@ -55,6 +55,7 @@ public class Card1_057 extends AbstractAlly { action.addEffect(new WoundCharacterEffect(urukHai)); } }); + actions.add(action); } return actions; diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/AbstractModifier.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/AbstractModifier.java index ca3371c0d..e32007cc7 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/AbstractModifier.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/AbstractModifier.java @@ -46,7 +46,7 @@ public abstract class AbstractModifier implements Modifier { } @Override - public boolean appliesStrengthModifier(GameState gameState, ModifiersLogic modifiersLogic, PhysicalCard modifierSource, boolean result) { + public boolean appliesStrengthModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard modifierSource, boolean result) { return result; } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/CompositeModifier.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/CompositeModifier.java index 4932d8154..b5827cca4 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/CompositeModifier.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/CompositeModifier.java @@ -67,6 +67,14 @@ public class CompositeModifier implements Modifier { return result; } + @Override + public boolean appliesStrengthModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard modifierSource, boolean result) { + for (Modifier modifier : _modifiers) + result = modifier.appliesStrengthModifier(gameState, modifiersQuerying, modifierSource, result); + + return result; + } + @Override public int getVitality(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard, int result) { for (Modifier modifier : _modifiers) diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/Modifier.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/Modifier.java index abeb81c20..91419fc01 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/Modifier.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/Modifier.java @@ -18,7 +18,7 @@ public interface Modifier { public int getStrength(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard, int result); - public boolean appliesStrengthModifier(GameState gameState, ModifiersLogic modifiersLogic, PhysicalCard modifierSource, boolean result); + public boolean appliesStrengthModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard modifierSource, boolean result); public int getVitality(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard, int result);