From b3e07b1bc1f65ade2954cc5e65c185c4e479920c Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Wed, 26 Nov 2003 18:04:37 +0000 Subject: [PATCH] This needs to go back in. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2883 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- src/java/com/threerings/puzzle/server/PuzzleManager.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/java/com/threerings/puzzle/server/PuzzleManager.java b/src/java/com/threerings/puzzle/server/PuzzleManager.java index 84808dd13..d4f99295e 100644 --- a/src/java/com/threerings/puzzle/server/PuzzleManager.java +++ b/src/java/com/threerings/puzzle/server/PuzzleManager.java @@ -1,5 +1,5 @@ // -// $Id: PuzzleManager.java,v 1.3 2003/11/26 17:46:06 mdb Exp $ +// $Id: PuzzleManager.java,v 1.4 2003/11/26 18:04:37 mdb Exp $ package com.threerings.puzzle.server; @@ -573,7 +573,11 @@ public abstract class PuzzleManager extends GameManager int pidx = IntListUtil.indexOf(_playerOids, bodyOid); if (pidx != -1) { - if (_puzobj.state == PuzzleObject.AWAITING_PLAYERS && + if (_puzobj.isInPlay() && _puzobj.isActivePlayer(pidx)) { + // end the player's game if they bail on an in-progress puzzle + endPlayerGame(pidx); + + } else if (_puzobj.state == PuzzleObject.AWAITING_PLAYERS && isPartyGame()) { // handle a player leaving a party game that hasn't yet begun if (removePlayer(getPlayerName(pidx))) {