From 31d1a4f8b2b88ecf3b0f5fc9dd9d900941721ffc Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Tue, 25 Oct 2011 13:28:35 +0000 Subject: [PATCH] Adding initiative to the mix. Removing Side.Site and Side.RING, wherever they were used, replaced with CardType.SITE, CardType.THE_ONE_RING. --- .../gempukku/lotro/cards/AbstractSite.java | 3 +-- .../lotro/cards/actions/PlayEventAction.java | 1 + .../cards/actions/PlayPermanentAction.java | 1 + .../gempukku/lotro/cards/set1/Card1_001.java | 3 +-- .../gempukku/lotro/cards/set1/Card1_002.java | 3 +-- .../gempukku/lotro/cards/set4/Card4_001.java | 3 +-- .../lotro/cards/set6/dwarven/Card6_011.java | 1 + .../java/com/gempukku/lotro/common/Side.java | 2 +- .../java/com/gempukku/lotro/common/Zone.java | 2 +- .../gempukku/lotro/game/state/GameState.java | 27 ++++++++++++++++--- .../lotro/logic/effects/PlayCardEffect.java | 3 ++- .../lotro/logic/effects/PlayEventEffect.java | 3 +++ .../lotro/logic/modifiers/ModifiersLogic.java | 10 +++++++ .../logic/modifiers/ModifiersQuerying.java | 2 ++ .../lotro/logic/timing/EffectResult.java | 3 ++- .../lotro/logic/timing/TurnProcedure.java | 27 ++++++++++++++++++- .../results/InitiativeChangeResult.java | 17 ++++++++++++ 17 files changed, 94 insertions(+), 17 deletions(-) create mode 100644 gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/results/InitiativeChangeResult.java diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractSite.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractSite.java index ff4bb77fe..e83694ea6 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractSite.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractSite.java @@ -2,7 +2,6 @@ package com.gempukku.lotro.cards; import com.gempukku.lotro.common.Block; import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Side; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.timing.Action; @@ -14,7 +13,7 @@ public abstract class AbstractSite extends AbstractLotroCardBlueprint { private Direction _siteDirection; public AbstractSite(String name, Block block, int siteNumber, int twilight, Direction siteDirection) { - super(Side.SITE, CardType.SITE, null, name); + super(null, CardType.SITE, null, name); _block = block; _siteNumber = siteNumber; _twilight = twilight; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/actions/PlayEventAction.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/actions/PlayEventAction.java index 1a85a9940..d47155282 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/actions/PlayEventAction.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/actions/PlayEventAction.java @@ -83,6 +83,7 @@ public class PlayEventAction extends AbstractCostToEffectAction { if (!_cardRemoved) { _cardRemoved = true; game.getGameState().removeCardsFromZone(_eventPlayed.getOwner(), Collections.singleton(_eventPlayed)); + game.getGameState().addCardToZone(game, _eventPlayed, Zone.VOID); } if (!isCostFailed()) { diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/actions/PlayPermanentAction.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/actions/PlayPermanentAction.java index c9b3f0b75..d44a33a81 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/actions/PlayPermanentAction.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/actions/PlayPermanentAction.java @@ -69,6 +69,7 @@ public class PlayPermanentAction extends AbstractCostToEffectAction { if (!_cardRemoved) { _cardRemoved = true; game.getGameState().removeCardsFromZone(_permanentPlayed.getOwner(), Collections.singleton(_permanentPlayed)); + game.getGameState().addCardToZone(game, _permanentPlayed, Zone.VOID); } if (!isCostFailed()) { 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 06115e435..ff42b3be4 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 @@ -11,7 +11,6 @@ import com.gempukku.lotro.cards.modifiers.VitalityModifier; import com.gempukku.lotro.common.CardType; import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; -import com.gempukku.lotro.common.Side; import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; @@ -40,7 +39,7 @@ import java.util.List; */ public class Card1_001 extends AbstractAttachable { public Card1_001() { - super(Side.RING, CardType.THE_ONE_RING, 0, null, null, "The One Ring", true); + super(null, CardType.THE_ONE_RING, 0, null, null, "The One Ring", true); } @Override 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 7b65abe68..1d219bee5 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 @@ -10,7 +10,6 @@ import com.gempukku.lotro.cards.modifiers.StrengthModifier; import com.gempukku.lotro.common.CardType; import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; -import com.gempukku.lotro.common.Side; import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; @@ -39,7 +38,7 @@ import java.util.List; */ public class Card1_002 extends AbstractAttachable { public Card1_002() { - super(Side.RING, CardType.THE_ONE_RING, 0, null, null, "The One Ring", true); + super(null, CardType.THE_ONE_RING, 0, null, null, "The One Ring", true); } @Override 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 cc1a526da..31299fbe3 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 @@ -11,7 +11,6 @@ import com.gempukku.lotro.cards.modifiers.VitalityModifier; import com.gempukku.lotro.common.CardType; import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; -import com.gempukku.lotro.common.Side; import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; @@ -38,7 +37,7 @@ import java.util.List; */ public class Card4_001 extends AbstractAttachable { public Card4_001() { - super(Side.RING, CardType.THE_ONE_RING, 0, null, null, "The One Ring", true); + super(null, CardType.THE_ONE_RING, 0, null, null, "The One Ring", true); } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/dwarven/Card6_011.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/dwarven/Card6_011.java index 4f9aa6a2f..e0ec3fc7d 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/dwarven/Card6_011.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/dwarven/Card6_011.java @@ -63,6 +63,7 @@ public class Card6_011 extends AbstractEvent { @Override protected void validDecisionMade(int index, String result) { action.skipDiscardPart(); + game.getGameState().removeCardsFromZone(playerId, Collections.singleton(self)); if (index == 0) game.getGameState().putCardOnTopOfDeck(self); else diff --git a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Side.java b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Side.java index db42ede51..7d031dd15 100644 --- a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Side.java +++ b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Side.java @@ -1,5 +1,5 @@ package com.gempukku.lotro.common; public enum Side implements Filterable { - FREE_PEOPLE, SHADOW, RING, SITE + FREE_PEOPLE, SHADOW } diff --git a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Zone.java b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Zone.java index b4c16a2a3..6659f830c 100644 --- a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Zone.java +++ b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Zone.java @@ -3,7 +3,7 @@ package com.gempukku.lotro.common; public enum Zone implements Filterable { FREE_CHARACTERS("play", true), SUPPORT("play", true), SHADOW_CHARACTERS("play", true), ADVENTURE_PATH("play", true), - HAND("hand", false), DECK("deck", false), ATTACHED("play", true), STACKED("stacked", false), + HAND("hand", false), VOID("void", false), DECK("deck", false), ATTACHED("play", true), STACKED("stacked", false), DISCARD("discard", false), DEAD("dead pile", false); private String _humanReadable; diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java index e4c77f92c..f125c3a84 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java @@ -29,6 +29,8 @@ public class GameState { private Map> _deadPiles = new HashMap>(); private Map> _stacked = new HashMap>(); + private Map> _voids = new HashMap>(); + private List _inPlay = new LinkedList(); private Map _allCards = new HashMap(); @@ -42,6 +44,8 @@ public class GameState { private boolean _wearingRing; private boolean _consecutiveAction; + private Side _initiativeSide; + private Map _playerPosition = new HashMap(); private Map> _cardTokens = new HashMap>(); @@ -67,6 +71,7 @@ public class GameState { _adventureDecks.put(stringListEntry.getKey(), new LinkedList()); _decks.put(stringListEntry.getKey(), new LinkedList()); _hands.put(stringListEntry.getKey(), new LinkedList()); + _voids.put(stringListEntry.getKey(), new LinkedList()); _discards.put(stringListEntry.getKey(), new LinkedList()); _deadPiles.put(stringListEntry.getKey(), new LinkedList()); _stacked.put(stringListEntry.getKey(), new LinkedList()); @@ -97,6 +102,14 @@ public class GameState { return new String(chars); } + public void setInitiativeSide(Side initiativeSide) { + _initiativeSide = initiativeSide; + } + + public Side getInitiativeSide() { + return _initiativeSide; + } + public void gameFinished() { File gameReplayFolder = new File("i:\\gemp-lotr\\replay"); gameReplayFolder.mkdirs(); @@ -345,6 +358,8 @@ public class GameState { return _deadPiles.get(playerId); else if (zone == Zone.HAND) return _hands.get(playerId); + else if (zone == Zone.VOID) + return _voids.get(playerId); else if (zone == Zone.STACKED) return _stacked.get(playerId); else @@ -527,7 +542,7 @@ public class GameState { return true; for (PhysicalCardImpl physicalCard : _inPlay) { if (physicalCard.getOwner().equals(player) - && physicalCard.getBlueprint().getSide() != Side.SITE && isCardInPlayActive(physicalCard)) + && physicalCard.getBlueprint().getCardType() != CardType.SITE && isCardInPlayActive(physicalCard)) if (physicalCardVisitor.visitPhysicalCard(physicalCard)) return true; } @@ -561,6 +576,10 @@ public class GameState { return Collections.unmodifiableList(_hands.get(playerId)); } + public List getVoid(String playerId) { + return Collections.unmodifiableList(_voids.get(playerId)); + } + public List getDeck(String playerId) { return Collections.unmodifiableList(_decks.get(playerId)); } @@ -731,7 +750,7 @@ public class GameState { Side side = card.getBlueprint().getSide(); // Either it's not attached or attached to active card // AND is a site or fp/ring of current player or shadow of any other player - return side == Side.SITE + return card.getBlueprint().getCardType() == CardType.SITE || ( card.getAttachedTo() == null && ((card.getOwner().equals(_currentPlayerId) && (side == Side.FREE_PEOPLE)) @@ -743,7 +762,7 @@ public class GameState { public void startAffectingCardsForCurrentPlayer(LotroGame game) { // Active non-sites are affecting for (PhysicalCardImpl physicalCard : _inPlay) { - if (isCardInPlayActive(physicalCard) && physicalCard.getBlueprint().getSide() != Side.SITE) + if (isCardInPlayActive(physicalCard) && physicalCard.getBlueprint().getCardType() != CardType.SITE) startAffecting(game, physicalCard); } @@ -759,7 +778,7 @@ public class GameState { public void stopAffectingCardsForCurrentPlayer() { for (PhysicalCardImpl physicalCard : _inPlay) { - if (isCardInPlayActive(physicalCard) && physicalCard.getBlueprint().getSide() != Side.SITE) + if (isCardInPlayActive(physicalCard) && physicalCard.getBlueprint().getCardType() != CardType.SITE) stopAffecting(physicalCard); } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/PlayCardEffect.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/PlayCardEffect.java index c43b72080..439399842 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/PlayCardEffect.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/PlayCardEffect.java @@ -13,7 +13,7 @@ public class PlayCardEffect extends AbstractEffect { private PhysicalCard _attachedToCard; public PlayCardEffect(PhysicalCard cardPlayed) { - _cardPlayed = cardPlayed; + this(cardPlayed, null); } public PlayCardEffect(PhysicalCard cardPlayed, PhysicalCard attachedToCard) { @@ -46,6 +46,7 @@ public class PlayCardEffect extends AbstractEffect { @Override protected FullEffectResult playEffectReturningResult(LotroGame game) { + game.getGameState().removeCardsFromZone(_cardPlayed.getOwner(), Collections.singleton(_cardPlayed)); return new FullEffectResult(Collections.singleton(new PlayCardResult(_cardPlayed, _attachedToCard)), true, true); } } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/PlayEventEffect.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/PlayEventEffect.java index b7c701726..5a6b979fc 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/PlayEventEffect.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/PlayEventEffect.java @@ -7,11 +7,13 @@ import com.gempukku.lotro.logic.timing.results.PlayEventResult; import java.util.Collections; public class PlayEventEffect extends PlayCardEffect { + private PhysicalCard _cardPlayed; private boolean _requiresRanger; private PlayEventResult _playEventResult; public PlayEventEffect(PhysicalCard cardPlayed, boolean requiresRanger) { super(cardPlayed); + _cardPlayed = cardPlayed; _requiresRanger = requiresRanger; _playEventResult = new PlayEventResult(getPlayedCard(), _requiresRanger); } @@ -22,6 +24,7 @@ public class PlayEventEffect extends PlayCardEffect { @Override protected FullEffectResult playEffectReturningResult(LotroGame game) { + game.getGameState().removeCardsFromZone(_cardPlayed.getOwner(), Collections.singleton(_cardPlayed)); return new FullEffectResult(Collections.singleton(_playEventResult), true, true); } } 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 dbcb074f4..d9544a233 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 @@ -527,6 +527,16 @@ public class ModifiersLogic implements ModifiersEnvironment, ModifiersQuerying { return true; } + @Override + public boolean hasInitiative(GameState gameState, Side side) { + int freePeopleInitiativeHandSize = gameState.getHand(gameState.getCurrentPlayerId()).size() + + gameState.getVoid(gameState.getCurrentPlayerId()).size(); + if (side == Side.SHADOW) + return freePeopleInitiativeHandSize < 4; + else + return freePeopleInitiativeHandSize >= 4; + } + @Override public int getSpotCount(GameState gameState, Filter filter, int inPlayCount) { int result = inPlayCount; diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersQuerying.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersQuerying.java index 903d94298..424adab4e 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersQuerying.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersQuerying.java @@ -88,6 +88,8 @@ public interface ModifiersQuerying { public boolean canDiscardCardsFromTopOfDeck(GameState gameState, String playerId, PhysicalCard source); + public boolean hasInitiative(GameState gameState, Side side); + public int getSpotCount(GameState gameState, Filter filter, int inPlayCount); public boolean hasFlagActive(ModifierFlag modifierFlag); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/EffectResult.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/EffectResult.java index bc99865e4..e0b9c19e6 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/EffectResult.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/EffectResult.java @@ -19,7 +19,8 @@ public abstract class EffectResult { PUT_ON_THE_ONE_RING, REMOVE_BURDEN, ADD_BURDEN, WHEN_MOVE_FROM, WHEN_FELLOWSHIP_MOVES, WHEN_MOVE_TO, - REVEAL_CARDS_FROM_HAND + REVEAL_CARDS_FROM_HAND, + INITIATIVE_CHANGE } private Type _type; diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/TurnProcedure.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/TurnProcedure.java index 53e726443..f52559f57 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/TurnProcedure.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/TurnProcedure.java @@ -1,5 +1,6 @@ package com.gempukku.lotro.logic.timing; +import com.gempukku.lotro.common.Side; import com.gempukku.lotro.communication.UserFeedback; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; @@ -11,6 +12,7 @@ import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException; import com.gempukku.lotro.logic.timing.actions.SystemAction; import com.gempukku.lotro.logic.timing.processes.GameProcess; import com.gempukku.lotro.logic.timing.processes.pregame.BiddingGameProcess; +import com.gempukku.lotro.logic.timing.results.InitiativeChangeResult; import java.util.*; @@ -39,6 +41,16 @@ public class TurnProcedure { return _gameStats; } + private EffectResult getOptionalInitiativeChangeResult() { + Side oldSide = _game.getGameState().getInitiativeSide(); + if (!_game.getModifiersQuerying().hasInitiative(_game.getGameState(), oldSide)) { + Side newSide = (oldSide == Side.SHADOW) ? Side.FREE_PEOPLE : Side.SHADOW; + _game.getGameState().setInitiativeSide(newSide); + return new InitiativeChangeResult(newSide); + } + return null; + } + public void carryOutPendingActionsUntilDecisionNeeded() { while (!_userFeedback.hasPendingDecisions() && _game.getWinnerPlayerId() == null) { if (_actionStack.isEmpty()) { @@ -100,7 +112,20 @@ public class TurnProcedure { return new StackActionEffect(action); } if (!_effectPlayed) { - _effectResults = _effect.playEffect(_game); + final Collection effectResults = _effect.playEffect(_game); + List results = new LinkedList(); + if (effectResults != null) + results.addAll(effectResults); + + // check for changing initiative, ugly but it's a sort of state based effect and not a trigger, just + // results in maybe generating a trigger along with others that might happen at the same time (discard + // cards, play cards, draw cards, etc) + EffectResult initiativeEffectResult = getOptionalInitiativeChangeResult(); + if (initiativeEffectResult != null) + results.add(initiativeEffectResult); + + _effectResults = results; + if (_gameStats.updateGameStats(_game)) _game.getGameState().sendGameStats(_gameStats); _effectPlayed = true; diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/results/InitiativeChangeResult.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/results/InitiativeChangeResult.java new file mode 100644 index 000000000..66110f46b --- /dev/null +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/results/InitiativeChangeResult.java @@ -0,0 +1,17 @@ +package com.gempukku.lotro.logic.timing.results; + +import com.gempukku.lotro.common.Side; +import com.gempukku.lotro.logic.timing.EffectResult; + +public class InitiativeChangeResult extends EffectResult { + private Side _side; + + public InitiativeChangeResult(Side side) { + super(Type.INITIATIVE_CHANGE); + _side = side; + } + + public Side getSide() { + return _side; + } +}