protected void reset(boolean firstReset) {
        TrekLog.logMessage("Reset hud for player: " + player.shipName);
        String msg1 = getHudValueString("MyHudLine22");
        String msg2 = getHudValueString("MyHudLine23");
        String msg3 = getHudValueString("MyHudLine24");

        // Preserve the messages, if any.
        hudobjects = new Hashtable();

        setHudValue("MyHudLine4", "Warp Energy:         ");
        setHudValue("MyHudLine5", "Impulse Energy:      ");
        setHudValue("MyHudLine6", "Power Unused:        ");
        setHudValue("MyHudLine7", "Warp:                ");
        setHudValue("MyHudLine8", "Shields:           % ");
        setHudValue("MyPhasers", "Ph:      ");
        setHudValue("MyDamage", "Damage:     ");
        setHudValue("MyTorpedoes", "Tp:      ");
        setHudValue("MyDamageControl", "DmgCtl:     ");
        setHudValue("MyHudLine11", "Life Support:      % ");
        setHudValue("MyHudLine12", "Anti-Matter:         ");
        setHudValue("MyHudX", "X:        ");
        setHudValue("MyHudY", "Y:        ");
        setHudValue("MyHudZ", "Z:        ");
        setHudValue("MyHudZ2", "HD:       ");

        // redraw any zone indicators
        if (!firstReset) {
            if (player.ship.nebulaTarget != null) {
                nebulaIndicator(true);
            }
            if (player.ship.pulsarTarget != null) {
                pulsarIndicator(true);
            }
            if (player.ship.quasarTarget != null) {
                quasarIndicator(true);
            }
            if (player.ship.asteroidTarget != null) {
                asteroidIndicator(true);
            }
        }

        if (firstReset)
            sendTopMessage(TrekAnsi.locate(1, 1, player) + "Welcome aboard " + player.ship.name + "; a " + player.ship.fullClassName + " class " + player.ship.shipType + ".");

        drawHudLine(22, msg1.replace('\007', '\000'));
        drawHudLine(23, msg2.replace('\007', '\000'));
        drawHudLine(24, msg3.replace('\007', '\000'));

        showingHelpScreen = false;
        tick = 0;
    }