diff --git a/Mage.Sets/src/mage/sets/legions/ScionOfDarkness.java b/Mage.Sets/src/mage/sets/legions/ScionOfDarkness.java index 91f1bd9ab4..cdebe83f78 100644 --- a/Mage.Sets/src/mage/sets/legions/ScionOfDarkness.java +++ b/Mage.Sets/src/mage/sets/legions/ScionOfDarkness.java @@ -113,7 +113,7 @@ class ScionOfDarknessEffect extends OneShotEffect { if (you.chooseTarget(Outcome.PutCreatureInPlay, target, source, game)) { Card card = game.getCard(target.getFirstTarget()); if (card != null) { - card.putOntoBattlefield(game, Zone.GRAVEYARD, id, you.getId()); + card.putOntoBattlefield(game, Zone.GRAVEYARD, source.getSourceId(), you.getId()); return true; } } diff --git a/Mage/src/mage/game/GameImpl.java b/Mage/src/mage/game/GameImpl.java index 13aeaaef68..1dc4de69a1 100644 --- a/Mage/src/mage/game/GameImpl.java +++ b/Mage/src/mage/game/GameImpl.java @@ -558,10 +558,11 @@ public abstract class GameImpl> implements Game, Serializa //20091005 - 500.7 while (getState().getTurnMods().extraTurn(player.getId())) { + state.setExtraTurn(true); playTurn(player); state.setTurnNum(state.getTurnNum() + 1); } - + state.setExtraTurn(false); player = players.getNext(this); } } diff --git a/Mage/src/mage/game/GameState.java b/Mage/src/mage/game/GameState.java index 94046ad21a..f7edf74cf8 100644 --- a/Mage/src/mage/game/GameState.java +++ b/Mage/src/mage/game/GameState.java @@ -97,6 +97,7 @@ public class GameState implements Serializable, Copyable { private Map lookedAt = new HashMap(); private Battlefield battlefield; private int turnNum = 1; + private boolean extraTurn = false; private boolean gameOver; private boolean paused; private ContinuousEffects effects; @@ -142,6 +143,7 @@ public class GameState implements Serializable, Copyable { this.lookedAt.putAll(state.lookedAt); this.battlefield = state.battlefield.copy(); this.turnNum = state.turnNum; + this.extraTurn = state.extraTurn; this.gameOver = state.gameOver; this.effects = state.effects.copy(); for (TriggeredAbility trigger: state.triggered) { @@ -349,6 +351,14 @@ public class GameState implements Serializable, Copyable { this.turnNum = turnNum; } + public boolean isExtraTurn() { + return extraTurn; + } + + public void setExtraTurn(boolean extraTurn) { + this.extraTurn = extraTurn; + } + public boolean isGameOver() { return this.gameOver; } @@ -612,6 +622,7 @@ public class GameState implements Serializable, Copyable { revealed.clear(); lookedAt.clear(); turnNum = 0; + extraTurn = false; gameOver = false; specialActions.clear(); otherAbilities.clear();