From 9c90d66d6db2d1e923debe4286b8e7b74cde47cc Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 19 Apr 2013 23:07:08 +0200 Subject: [PATCH] Fixed issue #197 effects of players lasted beyond their lost in a free for all game. --- Mage/src/mage/game/GameImpl.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Mage/src/mage/game/GameImpl.java b/Mage/src/mage/game/GameImpl.java index 023b8c90165..0140c794642 100644 --- a/Mage/src/mage/game/GameImpl.java +++ b/Mage/src/mage/game/GameImpl.java @@ -87,6 +87,7 @@ import org.apache.log4j.Logger; import java.io.IOException; import java.io.Serializable; import java.util.*; +import java.util.Map.Entry; public abstract class GameImpl> implements Game, Serializable { @@ -1515,6 +1516,7 @@ public abstract class GameImpl> implements Game, Serializa it.remove(); } } + this.getState().getContinuousEffects().removeInactiveEffects(this); for (Iterator it = getStack().iterator(); it.hasNext();) { StackObject object = it.next(); if (object.getControllerId().equals(playerId)) { @@ -1527,6 +1529,16 @@ public abstract class GameImpl> implements Game, Serializa perm.moveToExile(null, "", null, this); } } + + Iterator it = gameCards.entrySet().iterator(); + while(it.hasNext()) { + Entry entry = (Entry) it.next(); + Card card = entry.getValue(); + if (card.getOwnerId().equals(playerId)) { + it.remove(); + } + } + } @Override