log.append( "\n" ); log.append( roundReport.toString() );
    private void prepareForPhase(int phase) {        switch (phase) {            case Game.PHASE_LOUNGE :                mapSettings.setBoardsAvailableVector(scanForBoards(mapSettings.getBoardWidth(), mapSettings.getBoardHeight()));                mapSettings.setNullBoards(DEFAULT_BOARD);                send(createMapSettingsPacket());                break;            case Game.PHASE_INITIATIVE :                // remove the last traces of last round                game.resetActions();                game.resetRoundReport();                roundReport = game.getRoundReport(); //HACK                resetEntityRound();                resetEntityPhase(phase);                checkForObservers();                // roll 'em                resetActivePlayersDone();                rollInitiative();                                if ( !game.shouldDeployThisRound() )                  incrementAndSendGameRound();                                  //setIneligible(phase);                determineTurnOrder(phase);                writeInitiativeReport();                send(createReportPacket());                autoSave();                break;            case Game.PHASE_DEPLOY_MINEFIELDS :                checkForObservers();                resetActivePlayersDone();                setIneligible(phase);		        Enumeration e = game.getPlayers();		        Vector turns = new Vector();		        while (e.hasMoreElements()) {		        	Player p = (Player) e.nextElement();		        	if (p.hasMinefields()) {		        		GameTurn gt = new GameTurn(p.getId());		        		turns.addElement(gt);		        	}		        }		        game.setTurnVector(turns);		        game.resetTurnIndex();		        // send turns to all players		        send(createTurnVectorPacket());                break;            case Game.PHASE_DEPLOYMENT :            case Game.PHASE_MOVEMENT :            case Game.PHASE_FIRING :            case Game.PHASE_PHYSICAL :                resetEntityPhase(phase);                checkForObservers();                setIneligible(phase);                determineTurnOrder(phase);                resetActivePlayersDone();                //send(createEntitiesPacket());                entityAllUpdate();                game.resetPhaseReport();                phaseReport = game.getPhaseReport(); //HACK                break;            case Game.PHASE_END :                game.resetPhaseReport();                phaseReport = game.getPhaseReport(); //HACK                resolveHeat();                phaseReport.append("\n\nEnd Phase\n------------------------\n");                checkForSuffocation();                resolveFire();                resolveAmmoDumps();                resolveCrewDamage();                resolveCrewWakeUp();                resetEntityPhase(phase);                checkForObservers();                if (phaseReport.length() > 0) {                    roundReport.append(phaseReport.toString());                }                log.append( "\n" );                log.append( roundReport.toString() );            case Game.PHASE_MOVEMENT_REPORT :            case Game.PHASE_FIRING_REPORT :                resetActivePlayersDone();                send(createReportPacket());                break;            case Game.PHASE_VICTORY :                prepareVictoryReport();                send(createFullEntitiesPacket());                send(createReportPacket());                send(createEndOfGamePacket());                break;        }    }