From 96b6bd0a99a06b47031f6de40f7ccd2374f794ff Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Mon, 22 Aug 2011 23:23:23 +0000 Subject: [PATCH] fix: Player could not concede having Platinum Angel on battlefield --- src/main/java/forge/GuiDisplay4.java | 3 +-- src/main/java/forge/Player.java | 9 +++++++-- src/main/java/forge/SetInfoUtil.java | 4 +--- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/forge/GuiDisplay4.java b/src/main/java/forge/GuiDisplay4.java index 624f352f0a3..a6c646136dd 100644 --- a/src/main/java/forge/GuiDisplay4.java +++ b/src/main/java/forge/GuiDisplay4.java @@ -75,7 +75,6 @@ import com.thoughtworks.xstream.XStreamException; import forge.card.cardFactory.CardFactoryUtil; import forge.error.ErrorViewer; -import forge.game.GameLossReason; import forge.gui.ForgeAction; import forge.gui.GuiUtils; import forge.gui.game.CardDetailPanel; @@ -1325,7 +1324,7 @@ public class GuiDisplay4 extends JFrame implements CardContainer, Display, NewCo * Exit the Application */ private void concede() { - AllZone.getHumanPlayer().loseConditionMet(GameLossReason.Conceded, null ); + AllZone.getHumanPlayer().concede(); AllZone.getGameAction().checkStateEffects(); } diff --git a/src/main/java/forge/Player.java b/src/main/java/forge/Player.java index 508e6d97481..c702238938a 100644 --- a/src/main/java/forge/Player.java +++ b/src/main/java/forge/Player.java @@ -1479,8 +1479,11 @@ public abstract class Player extends MyObservable { loseConditionSpell = spellName; return true; } - - + + public void concede() { // No cantLose checks - just lose + lossState = GameLossReason.Conceded; + loseConditionSpell = null; + } /** *

cantLose.

@@ -1488,6 +1491,8 @@ public abstract class Player extends MyObservable { * @return a boolean. */ public boolean cantLose() { + if (lossState == GameLossReason.Conceded) { return false; } + CardList list = AllZoneUtil.getPlayerCardsInPlay(this); list = list.getKeyword("You can't lose the game."); diff --git a/src/main/java/forge/SetInfoUtil.java b/src/main/java/forge/SetInfoUtil.java index f3b2a320b8f..5c0b8c296b2 100644 --- a/src/main/java/forge/SetInfoUtil.java +++ b/src/main/java/forge/SetInfoUtil.java @@ -203,9 +203,7 @@ public class SetInfoUtil { int mostRecent = -1; - for (int i = 0; i < alSI.size(); i++) { - SetInfo s = alSI.get(i); - + for (SetInfo s : alSI) { for (int j = 0; j < setData.size(); j++) { if (setData.get(j).get("Code3").equals(s.Code)) { if (j > mostRecent) {