From f80ab95506c67d9fbc073de35f8d4d66ac12cc10 Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Tue, 23 Oct 2012 04:28:31 +0000 Subject: [PATCH] r17604 was not merged properly in r17621 --- .../java/forge/gui/match/QuestWinLose.java | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/src/main/java/forge/gui/match/QuestWinLose.java b/src/main/java/forge/gui/match/QuestWinLose.java index 4f68247e9cf..d5145be0a78 100644 --- a/src/main/java/forge/gui/match/QuestWinLose.java +++ b/src/main/java/forge/gui/match/QuestWinLose.java @@ -125,22 +125,27 @@ public class QuestWinLose extends ControlWinLose { QuestController qc = Singletons.getModel().getQuest(); LobbyPlayer questPlayer = Singletons.getControl().getLobby().getQuestPlayer(); if (isAnte) { - //do per-game actions - boolean isHumanWinner = match.isWonBy(questPlayer); - final List anteCards = new ArrayList(); - for( Player p : Singletons.getModel().getGame().getPlayers() ) { - if (p.getLobbyPlayer().equals(questPlayer) == isHumanWinner) continue; - for(Card c : p.getCardsIn(ZoneType.Ante)) - anteCards.add(CardDb.instance().getCard(c)); - } - - if (isHumanWinner) { - qc.getCards().addAllCards(anteCards); - this.anteWon(anteCards); - } else { - for(CardPrinted c : anteCards) - qc.getCards().loseCard(c); - this.anteLost(anteCards); + //do per-game actions + GameOutcome outcome = match.getLastGameOutcome(); + + // Ante returns to owners in a draw + if (!outcome.isDraw()) { + boolean isHumanWinner = outcome.getWinner().equals(questPlayer); + final List anteCards = new ArrayList(); + for( Player p : Singletons.getModel().getGame().getPlayers() ) { + if (p.getLobbyPlayer().equals(questPlayer) == isHumanWinner) continue; + for(Card c : p.getCardsIn(ZoneType.Ante)) + anteCards.add(CardDb.instance().getCard(c)); + } + + if (isHumanWinner) { + qc.getCards().addAllCards(anteCards); + this.anteWon(anteCards); + } else { + for(CardPrinted c : anteCards) + qc.getCards().loseCard(c); + this.anteLost(anteCards); + } } }