diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_224.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_224.java index ebba63684..78c4441fe 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_224.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_224.java @@ -5,7 +5,6 @@ import com.gempukku.lotro.cards.TriggerConditions; import com.gempukku.lotro.cards.actions.PlayEventAction; import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseModifierEffect; import com.gempukku.lotro.cards.effects.choose.ChooseAndAssignMinionToCompanionEffect; -import com.gempukku.lotro.cards.modifiers.SpecialFlagModifier; import com.gempukku.lotro.common.Culture; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.common.Race; @@ -16,6 +15,7 @@ import com.gempukku.lotro.game.state.Assignment; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; import com.gempukku.lotro.logic.modifiers.ModifierFlag; +import com.gempukku.lotro.logic.modifiers.SpecialFlagModifier; import com.gempukku.lotro.logic.timing.EffectResult; import com.gempukku.lotro.logic.timing.UnrespondableEffect; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/site/Card10_119.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/site/Card10_119.java index e2c824fc7..8364a52a8 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/site/Card10_119.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/site/Card10_119.java @@ -3,13 +3,13 @@ package com.gempukku.lotro.cards.set10.site; import com.gempukku.lotro.cards.AbstractSite; import com.gempukku.lotro.cards.modifiers.CantHealModifier; import com.gempukku.lotro.cards.modifiers.CantRemoveBurdensModifier; -import com.gempukku.lotro.cards.modifiers.SpecialFlagModifier; import com.gempukku.lotro.common.Block; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.modifiers.ModifierFlag; +import com.gempukku.lotro.logic.modifiers.SpecialFlagModifier; import java.util.LinkedList; import java.util.List; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set11/site/Card11_233.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set11/site/Card11_233.java index 081afc20f..7ac077fd3 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set11/site/Card11_233.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set11/site/Card11_233.java @@ -1,11 +1,11 @@ package com.gempukku.lotro.cards.set11.site; import com.gempukku.lotro.cards.AbstractNewSite; -import com.gempukku.lotro.cards.modifiers.SpecialFlagModifier; import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.modifiers.ModifierFlag; +import com.gempukku.lotro.logic.modifiers.SpecialFlagModifier; /** * Set: Shadows diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set13/elven/Card13_021.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set13/elven/Card13_021.java new file mode 100644 index 000000000..836634b41 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set13/elven/Card13_021.java @@ -0,0 +1,42 @@ +package com.gempukku.lotro.cards.set13.elven; + +import com.gempukku.lotro.cards.AbstractEvent; +import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.cards.actions.PlayEventAction; +import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseModifierEffect; +import com.gempukku.lotro.cards.modifiers.ArcheryTotalModifier; +import com.gempukku.lotro.common.*; +import com.gempukku.lotro.game.PhysicalCard; +import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.modifiers.ModifierFlag; + +/** + * Set: Bloodlines + * Side: Free + * Culture: Elven + * Twilight Cost: 2 + * Type: Event • Archery + * Game Text: Spot 2 Elf archers to make the fellowship archery total +1 (or +2 if a Shadow player has replaced the + * fellowship’s current site this turn). + */ +public class Card13_021 extends AbstractEvent { + public Card13_021() { + super(Side.FREE_PEOPLE, 2, Culture.ELVEN, "Many Miles", Phase.ARCHERY); + } + + @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.canSpot(game, 2, Race.ELF, Keyword.ARCHER); + } + + @Override + public PlayEventAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier, boolean ignoreRoamingPenalty) { + PlayEventAction action = new PlayEventAction(self); + int total = game.getModifiersQuerying().hasFlagActive(game.getGameState(), ModifierFlag.SHADOW_PLAYER_REPLACED_CURRENT_SITE) ? 2 : 1; + action.appendEffect( + new AddUntilEndOfPhaseModifierEffect( + new ArcheryTotalModifier(self, Side.FREE_PEOPLE, total), Phase.ARCHERY)); + return action; + } +} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/site/Card3_118.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/site/Card3_118.java index fb798374a..f20c6bffe 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/site/Card3_118.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/site/Card3_118.java @@ -1,7 +1,6 @@ package com.gempukku.lotro.cards.set3.site; import com.gempukku.lotro.cards.AbstractSite; -import com.gempukku.lotro.cards.modifiers.SpecialFlagModifier; import com.gempukku.lotro.cards.modifiers.conditions.LocationCondition; import com.gempukku.lotro.common.Block; import com.gempukku.lotro.common.Keyword; @@ -9,6 +8,7 @@ import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.modifiers.ModifierFlag; +import com.gempukku.lotro.logic.modifiers.SpecialFlagModifier; import java.util.Collections; import java.util.List; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/dunland/Card4_030.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/dunland/Card4_030.java index 1b76623cc..8634e4eeb 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/dunland/Card4_030.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/dunland/Card4_030.java @@ -4,7 +4,6 @@ import com.gempukku.lotro.cards.AbstractAttachable; import com.gempukku.lotro.cards.PlayConditions; import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseModifierEffect; import com.gempukku.lotro.cards.effects.SelfDiscardEffect; -import com.gempukku.lotro.cards.modifiers.SpecialFlagModifier; import com.gempukku.lotro.common.*; import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.filters.Filters; @@ -12,6 +11,7 @@ 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.modifiers.ModifierFlag; +import com.gempukku.lotro.logic.modifiers.SpecialFlagModifier; import com.gempukku.lotro.logic.timing.Action; import java.util.Collections; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_174.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_174.java index e2115715c..a80ff8ae9 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_174.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_174.java @@ -3,17 +3,13 @@ package com.gempukku.lotro.cards.set4.isengard; import com.gempukku.lotro.cards.AbstractAttachable; import com.gempukku.lotro.cards.PlayConditions; import com.gempukku.lotro.cards.effects.AddUntilStartOfPhaseModifierEffect; -import com.gempukku.lotro.cards.modifiers.SpecialFlagModifier; 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.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.modifiers.*; import com.gempukku.lotro.logic.timing.Action; import java.util.Collections; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/site/Card5_118.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/site/Card5_118.java index aff618633..68bd3a220 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/site/Card5_118.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/site/Card5_118.java @@ -4,7 +4,6 @@ import com.gempukku.lotro.cards.AbstractSite; import com.gempukku.lotro.cards.PlayConditions; import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseModifierEffect; import com.gempukku.lotro.cards.effects.RemoveTwilightEffect; -import com.gempukku.lotro.cards.modifiers.SpecialFlagModifier; import com.gempukku.lotro.common.Block; import com.gempukku.lotro.common.CardType; import com.gempukku.lotro.common.Phase; @@ -13,6 +12,7 @@ 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.modifiers.ModifierFlag; +import com.gempukku.lotro.logic.modifiers.SpecialFlagModifier; import com.gempukku.lotro.logic.timing.Action; import java.util.Collections; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/site/Card5_120.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/site/Card5_120.java index 594699175..818d52902 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/site/Card5_120.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/site/Card5_120.java @@ -1,13 +1,13 @@ package com.gempukku.lotro.cards.set5.site; import com.gempukku.lotro.cards.AbstractSite; -import com.gempukku.lotro.cards.modifiers.SpecialFlagModifier; import com.gempukku.lotro.common.Block; import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.modifiers.ModifierFlag; +import com.gempukku.lotro.logic.modifiers.SpecialFlagModifier; import java.util.Collections; import java.util.List; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/rohan/Card7_249.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/rohan/Card7_249.java index d2d1dd8b6..f45f3ac91 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/rohan/Card7_249.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/rohan/Card7_249.java @@ -4,17 +4,13 @@ import com.gempukku.lotro.cards.AbstractPermanent; import com.gempukku.lotro.cards.TriggerConditions; import com.gempukku.lotro.cards.effects.AddTokenEffect; import com.gempukku.lotro.cards.effects.SelfDiscardEffect; -import com.gempukku.lotro.cards.modifiers.SpecialFlagModifier; 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.actions.RequiredTriggerAction; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.ModifierFlag; -import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; -import com.gempukku.lotro.logic.modifiers.StrengthModifier; +import com.gempukku.lotro.logic.modifiers.*; import com.gempukku.lotro.logic.modifiers.evaluator.Evaluator; import com.gempukku.lotro.logic.timing.EffectResult; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/wraith/Card7_221.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/wraith/Card7_221.java index e4f81acf7..afb03d909 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/wraith/Card7_221.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/wraith/Card7_221.java @@ -4,7 +4,6 @@ import com.gempukku.lotro.cards.AbstractMinion; import com.gempukku.lotro.cards.PlayConditions; import com.gempukku.lotro.cards.TriggerConditions; import com.gempukku.lotro.cards.effects.choose.ChooseAndPutCardFromDiscardIntoHandEffect; -import com.gempukku.lotro.cards.modifiers.SpecialFlagModifier; import com.gempukku.lotro.common.Culture; import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Race; @@ -14,6 +13,7 @@ import com.gempukku.lotro.logic.actions.OptionalTriggerAction; import com.gempukku.lotro.logic.effects.RemoveThreatsEffect; import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.modifiers.ModifierFlag; +import com.gempukku.lotro.logic.modifiers.SpecialFlagModifier; import com.gempukku.lotro.logic.timing.EffectResult; import java.util.Collections; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set8/site/Card8_120.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set8/site/Card8_120.java index f8944f678..e709fd5ee 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set8/site/Card8_120.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set8/site/Card8_120.java @@ -3,7 +3,6 @@ package com.gempukku.lotro.cards.set8.site; import com.gempukku.lotro.cards.AbstractSite; import com.gempukku.lotro.cards.PlayConditions; import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseModifierEffect; -import com.gempukku.lotro.cards.modifiers.SpecialFlagModifier; import com.gempukku.lotro.common.Block; import com.gempukku.lotro.common.CardType; import com.gempukku.lotro.common.Keyword; @@ -13,6 +12,7 @@ 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.modifiers.ModifierFlag; +import com.gempukku.lotro.logic.modifiers.SpecialFlagModifier; import com.gempukku.lotro.logic.timing.Action; import java.util.Collections; diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/PlaySiteEffect.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/PlaySiteEffect.java index 9a637e5e8..84f36478f 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/PlaySiteEffect.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/PlaySiteEffect.java @@ -10,7 +10,9 @@ import com.gempukku.lotro.game.state.GameState; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.GameUtils; import com.gempukku.lotro.logic.actions.SubAction; +import com.gempukku.lotro.logic.modifiers.ModifierFlag; import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; +import com.gempukku.lotro.logic.modifiers.SpecialFlagModifier; import com.gempukku.lotro.logic.timing.AbstractEffect; import com.gempukku.lotro.logic.timing.Action; import com.gempukku.lotro.logic.timing.Effect; @@ -114,6 +116,10 @@ public class PlaySiteEffect extends AbstractEffect { gameState.removeCardsFromZone(_playerId, Collections.singleton(oldSite)); oldSite.setSiteNumber(null); gameState.addCardToZone(game, oldSite, Zone.DECK); + if (gameState.getCurrentSiteNumber() == siteNumber + && !_playerId.equals(gameState.getCurrentPlayerId())) + game.getModifiersEnvironment().addUntilEndOfTurnModifier( + new SpecialFlagModifier(null, ModifierFlag.SHADOW_PLAYER_REPLACED_CURRENT_SITE)); } gameState.removeCardsFromZone(_playerId, Collections.singleton(newSite)); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifierFlag.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifierFlag.java index 6502304d3..7dc3bbb79 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifierFlag.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifierFlag.java @@ -9,5 +9,6 @@ public enum ModifierFlag { RING_BEARER_CANT_TAKE_THREAT_WOUNDS, SKIRMISH_ORDER_BY_FIRST_SHADOW_PLAYER, CANT_PREVENT_WOUNDS, - TRANSFERS_FOR_FREE + TRANSFERS_FOR_FREE, + SHADOW_PLAYER_REPLACED_CURRENT_SITE } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/SpecialFlagModifier.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/SpecialFlagModifier.java similarity index 89% rename from gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/SpecialFlagModifier.java rename to gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/SpecialFlagModifier.java index f38921d9b..2096c9bd5 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/SpecialFlagModifier.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/SpecialFlagModifier.java @@ -1,8 +1,7 @@ -package com.gempukku.lotro.cards.modifiers; +package com.gempukku.lotro.logic.modifiers; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.GameState; -import com.gempukku.lotro.logic.modifiers.*; public class SpecialFlagModifier extends AbstractModifier { private ModifierFlag _modifierFlag;