diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractCompanion.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractCompanion.java index 9e66b87a6..d83ee6b40 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractCompanion.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractCompanion.java @@ -77,9 +77,4 @@ public abstract class AbstractCompanion extends AbstractPermanent { public int getResistance() { return 6; } - - @Override - public int getCompanionStartingFellowshipModifier() { - return 0; - } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractLotroCardBlueprint.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractLotroCardBlueprint.java index 92239b255..8580a049d 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractLotroCardBlueprint.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractLotroCardBlueprint.java @@ -3,10 +3,12 @@ package com.gempukku.lotro.cards; import com.gempukku.lotro.common.*; import com.gempukku.lotro.game.LotroCardBlueprint; 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.actions.RequiredTriggerAction; import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; import com.gempukku.lotro.logic.timing.Action; import com.gempukku.lotro.logic.timing.Effect; import com.gempukku.lotro.logic.timing.EffectResult; @@ -120,11 +122,6 @@ public abstract class AbstractLotroCardBlueprint implements LotroCardBlueprint { throw new UnsupportedOperationException("This method should not be called on this card"); } - @Override - public int getCompanionStartingFellowshipModifier() { - throw new UnsupportedOperationException("This method should not be called on this card"); - } - @Override public Block getSiteBlock() { throw new UnsupportedOperationException("This method should not be called on this card"); @@ -135,6 +132,11 @@ public abstract class AbstractLotroCardBlueprint implements LotroCardBlueprint { throw new UnsupportedOperationException("This method should not be called on this card"); } + @Override + public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) { + return 0; + } + @Override public PossessionClass getPossessionClass() { return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/spotting/SimpleLotroCardBlueprint.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/spotting/SimpleLotroCardBlueprint.java index 66cd4ba9d..ecd88bb53 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/spotting/SimpleLotroCardBlueprint.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/spotting/SimpleLotroCardBlueprint.java @@ -3,10 +3,12 @@ package com.gempukku.lotro.cards.modifiers.spotting; import com.gempukku.lotro.common.*; import com.gempukku.lotro.game.LotroCardBlueprint; 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.actions.RequiredTriggerAction; import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; import com.gempukku.lotro.logic.timing.Action; import com.gempukku.lotro.logic.timing.Effect; import com.gempukku.lotro.logic.timing.EffectResult; @@ -110,7 +112,7 @@ public class SimpleLotroCardBlueprint implements LotroCardBlueprint { } @Override - public int getCompanionStartingFellowshipModifier() { + public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) { return 0; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/moria/Card1_165.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/moria/Card1_165.java index 203e2db93..c7f03f8da 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/moria/Card1_165.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/moria/Card1_165.java @@ -1,13 +1,14 @@ package com.gempukku.lotro.cards.set1.moria; import com.gempukku.lotro.cards.AbstractMinion; -import com.gempukku.lotro.cards.actions.PlayPermanentAction; 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.GameState; import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; /** * Set: The Fellowship of the Ring @@ -30,18 +31,15 @@ public class Card1_165 extends AbstractMinion { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - PhysicalCard currentSite = game.getGameState().getCurrentSite(); - if (game.getModifiersQuerying().hasKeyword(game.getGameState(), currentSite, Keyword.UNDERGROUND)) - twilightModifier -= 3; return super.checkPlayRequirements(playerId, game, self, twilightModifier) && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.MORIA), Filters.race(Race.ORC)); } @Override - public PlayPermanentAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - PhysicalCard currentSite = game.getGameState().getCurrentSite(); - if (game.getModifiersQuerying().hasKeyword(game.getGameState(), currentSite, Keyword.UNDERGROUND)) - twilightModifier -= 3; - return super.getPlayCardAction(playerId, game, self, twilightModifier); + public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) { + PhysicalCard currentSite = gameState.getCurrentSite(); + if (modifiersQuerying.hasKeyword(gameState, currentSite, Keyword.UNDERGROUND)) + return -3; + return 0; } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/gondor/Card4_130.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/gondor/Card4_130.java index 61eb699b1..8ebffdfa5 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/gondor/Card4_130.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/gondor/Card4_130.java @@ -2,14 +2,13 @@ package com.gempukku.lotro.cards.set4.gondor; import com.gempukku.lotro.cards.AbstractCompanion; import com.gempukku.lotro.cards.modifiers.StrengthModifier; -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.common.*; 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.modifiers.Modifier; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; import java.util.Collections; import java.util.List; @@ -34,8 +33,10 @@ public class Card4_130 extends AbstractCompanion { } @Override - public int getCompanionStartingFellowshipModifier() { - return -1; + public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) { + if (gameState.getCurrentPhase() == Phase.GAME_SETUP) + return -1; + return 0; } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_203.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_203.java index 724f89495..05ccc7f38 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_203.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_203.java @@ -1,13 +1,13 @@ package com.gempukku.lotro.cards.set4.isengard; import com.gempukku.lotro.cards.AbstractMinion; -import com.gempukku.lotro.cards.actions.PlayPermanentAction; 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.game.state.GameState; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; /** * Set: The Two Towers @@ -27,14 +27,7 @@ public class Card4_203 extends AbstractMinion { } @Override - public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - twilightModifier -= Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Filters.siteControlled(playerId)); - return super.checkPlayRequirements(playerId, game, self, twilightModifier); - } - - @Override - public PlayPermanentAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - twilightModifier -= Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Filters.siteControlled(playerId)); - return super.getPlayCardAction(playerId, game, self, twilightModifier); + public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) { + return -Filters.countActive(gameState, modifiersQuerying, Filters.siteControlled(self.getOwner())); } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_204.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_204.java index 9bbab8c6a..5875889f2 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_204.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_204.java @@ -1,13 +1,13 @@ package com.gempukku.lotro.cards.set4.isengard; import com.gempukku.lotro.cards.AbstractMinion; -import com.gempukku.lotro.cards.actions.PlayPermanentAction; 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.game.state.GameState; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; /** * Set: The Two Towers @@ -27,14 +27,7 @@ public class Card4_204 extends AbstractMinion { } @Override - public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - twilightModifier -= Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Filters.siteControlled(playerId)); - return super.checkPlayRequirements(playerId, game, self, twilightModifier); - } - - @Override - public PlayPermanentAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - twilightModifier -= Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Filters.siteControlled(playerId)); - return super.getPlayCardAction(playerId, game, self, twilightModifier); + public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) { + return -Filters.countActive(gameState, modifiersQuerying, Filters.siteControlled(self.getOwner())); } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_205.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_205.java index 8ab50d60a..c2a3e0182 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_205.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_205.java @@ -1,13 +1,13 @@ package com.gempukku.lotro.cards.set4.isengard; import com.gempukku.lotro.cards.AbstractMinion; -import com.gempukku.lotro.cards.actions.PlayPermanentAction; 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.game.state.GameState; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; /** * Set: The Two Towers @@ -27,14 +27,7 @@ public class Card4_205 extends AbstractMinion { } @Override - public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - twilightModifier -= Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Filters.siteControlled(playerId)); - return super.checkPlayRequirements(playerId, game, self, twilightModifier); - } - - @Override - public PlayPermanentAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - twilightModifier -= Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Filters.siteControlled(playerId)); - return super.getPlayCardAction(playerId, game, self, twilightModifier); + public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) { + return -Filters.countActive(gameState, modifiersQuerying, Filters.siteControlled(self.getOwner())); } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/rohan/Card4_265.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/rohan/Card4_265.java index e39dd6b85..f74f795d6 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/rohan/Card4_265.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/rohan/Card4_265.java @@ -4,11 +4,14 @@ import com.gempukku.lotro.cards.AbstractCompanion; import com.gempukku.lotro.cards.modifiers.StrengthModifier; 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.GameState; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; import java.util.Collections; import java.util.List; @@ -31,8 +34,10 @@ public class Card4_265 extends AbstractCompanion { } @Override - public int getCompanionStartingFellowshipModifier() { - return -1; + public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) { + if (gameState.getCurrentPhase() == Phase.GAME_SETUP) + return -1; + return 0; } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/rohan/Card4_266.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/rohan/Card4_266.java index fab387d3e..9a720c7c0 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/rohan/Card4_266.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/rohan/Card4_266.java @@ -1,17 +1,17 @@ package com.gempukku.lotro.cards.set4.rohan; import com.gempukku.lotro.cards.AbstractCompanion; -import com.gempukku.lotro.cards.PlayConditions; -import com.gempukku.lotro.cards.actions.PlayPermanentAction; import com.gempukku.lotro.common.CardType; import com.gempukku.lotro.common.Culture; 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.ChooseAndHealCharactersEffect; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; import com.gempukku.lotro.logic.timing.EffectResult; import java.util.Collections; @@ -36,15 +36,10 @@ public class Card4_266 extends AbstractCompanion { } @Override - public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - twilightModifier -= (PlayConditions.canSpot(game, Filters.culture(Culture.ROHAN), Filters.race(Race.MAN))) ? 1 : 0; - return super.checkPlayRequirements(playerId, game, self, twilightModifier); - } - - @Override - public PlayPermanentAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - twilightModifier -= (PlayConditions.canSpot(game, Filters.culture(Culture.ROHAN), Filters.race(Race.MAN))) ? 1 : 0; - return super.getPlayCardAction(playerId, game, self, twilightModifier); + public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) { + if (Filters.canSpot(gameState, modifiersQuerying, Filters.culture(Culture.ROHAN), Filters.race(Race.MAN))) + return -1; + return 0; } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/rohan/Card4_267.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/rohan/Card4_267.java index 5fcc0d9a7..46d8f4ab8 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/rohan/Card4_267.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/rohan/Card4_267.java @@ -1,8 +1,6 @@ package com.gempukku.lotro.cards.set4.rohan; import com.gempukku.lotro.cards.AbstractCompanion; -import com.gempukku.lotro.cards.PlayConditions; -import com.gempukku.lotro.cards.actions.PlayPermanentAction; import com.gempukku.lotro.cards.modifiers.StrengthModifier; import com.gempukku.lotro.common.Culture; import com.gempukku.lotro.common.Race; @@ -38,15 +36,10 @@ public class Card4_267 extends AbstractCompanion { } @Override - public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - twilightModifier -= (PlayConditions.canSpot(game, Filters.culture(Culture.ROHAN), Filters.race(Race.MAN))) ? 1 : 0; - return super.checkPlayRequirements(playerId, game, self, twilightModifier); - } - - @Override - public PlayPermanentAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - twilightModifier -= (PlayConditions.canSpot(game, Filters.culture(Culture.ROHAN), Filters.race(Race.MAN))) ? 1 : 0; - return super.getPlayCardAction(playerId, game, self, twilightModifier); + public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) { + if (Filters.canSpot(gameState, modifiersQuerying, Filters.culture(Culture.ROHAN), Filters.race(Race.MAN))) + return -1; + return 0; } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dunland/Card5_004.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dunland/Card5_004.java index 8d166c29c..7e4ec018b 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dunland/Card5_004.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dunland/Card5_004.java @@ -2,18 +2,19 @@ package com.gempukku.lotro.cards.set5.dunland; import com.gempukku.lotro.cards.AbstractMinion; import com.gempukku.lotro.cards.PlayConditions; -import com.gempukku.lotro.cards.actions.PlayPermanentAction; import com.gempukku.lotro.cards.effects.choose.ChooseAndDiscardCardsFromHandEffect; 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.GameState; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.actions.RequiredTriggerAction; import com.gempukku.lotro.logic.decisions.MultipleChoiceAwaitingDecision; import com.gempukku.lotro.logic.effects.DiscardCardsFromPlayEffect; import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; import com.gempukku.lotro.logic.timing.EffectResult; import java.util.Collections; @@ -37,21 +38,12 @@ public class Card5_004 extends AbstractMinion { } @Override - public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - if (game.getGameState().getCurrentPhase() == Phase.SKIRMISH) - twilightModifier -= 2; - return super.checkPlayRequirements(playerId, game, self, twilightModifier) - && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.MORIA), Filters.race(Race.ORC)); + public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) { + if (gameState.getCurrentPhase() == Phase.SKIRMISH) + return -2; + return 0; } - @Override - public PlayPermanentAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - if (game.getGameState().getCurrentPhase() == Phase.SKIRMISH) - twilightModifier -= 2; - return super.getPlayCardAction(playerId, game, self, twilightModifier); - } - - @Override public List getRequiredAfterTriggers(final LotroGame game, EffectResult effectResult, final PhysicalCard self) { if (PlayConditions.played(game, effectResult, Filters.sameCard(self)) diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroCardBlueprint.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroCardBlueprint.java index 466f1887d..79e44345a 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroCardBlueprint.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroCardBlueprint.java @@ -1,10 +1,12 @@ package com.gempukku.lotro.game; import com.gempukku.lotro.common.*; +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.actions.RequiredTriggerAction; import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; import com.gempukku.lotro.logic.timing.Action; import com.gempukku.lotro.logic.timing.Effect; import com.gempukku.lotro.logic.timing.EffectResult; @@ -32,7 +34,7 @@ public interface LotroCardBlueprint { public int getTwilightCost(); - public int getCompanionStartingFellowshipModifier(); + public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self); public int getStrength(); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java index fdbd06714..d60bc4e05 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java @@ -270,6 +270,7 @@ public class ModifiersLogic implements ModifiersEnvironment, ModifiersQuerying { @Override public int getTwilightCost(GameState gameState, PhysicalCard physicalCard) { int result = physicalCard.getBlueprint().getTwilightCost(); + result += physicalCard.getBlueprint().getTwilightCostModifier(gameState, this, physicalCard); for (Modifier modifier : getModifiers(ModifierEffect.TWILIGHT_COST_MODIFIER)) { if (affectsCardWithSkipSet(gameState, physicalCard, modifier)) result = modifier.getTwilightCost(gameState, this, physicalCard, result); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/PlayerPlaysStartingFellowshipGameProcess.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/PlayerPlaysStartingFellowshipGameProcess.java index 20694c46d..c282d6b96 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/PlayerPlaysStartingFellowshipGameProcess.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/PlayerPlaysStartingFellowshipGameProcess.java @@ -45,7 +45,7 @@ public class PlayerPlaysStartingFellowshipGameProcess implements GameProcess { new Filter() { @Override public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) { - int twilightCost = modifiersQuerying.getTwilightCost(gameState, physicalCard) + physicalCard.getBlueprint().getCompanionStartingFellowshipModifier(); + int twilightCost = modifiersQuerying.getTwilightCost(gameState, physicalCard); return gameState.getTwilightPool() + twilightCost <= 4 && physicalCard.getBlueprint().checkPlayRequirements(playerId, _game, physicalCard, 0); }