/
codebase/
codebase/area/
codebase/doc/
codebase/etc/
codebase/src/net/sourceforge/pain/data/trigger/
codebase/src/net/sourceforge/pain/logic/
codebase/src/net/sourceforge/pain/logic/affect/
codebase/src/net/sourceforge/pain/logic/event/
codebase/src/net/sourceforge/pain/logic/event/deploy/
codebase/src/net/sourceforge/pain/logic/event/guitool/
codebase/src/net/sourceforge/pain/logic/event/guitool/event/
codebase/src/net/sourceforge/pain/logic/fn/util/
codebase/src/net/sourceforge/pain/logic/trigger/
codebase/src/net/sourceforge/pain/logic/trigger/impl/
codebase/src/net/sourceforge/pain/network/console/
codebase/src/net/sourceforge/pain/network/console/telnet/
codebase/src/net/sourceforge/pain/network/guitool/
codebase/src/net/sourceforge/pain/plugin/
codebase/src/net/sourceforge/pain/plugin/command/
codebase/src/net/sourceforge/pain/plugin/reset/
codebase/src/net/sourceforge/pain/plugin/shutdown/
codebase/src/net/sourceforge/pain/plugin/social/
codebase/src/net/sourceforge/pain/util/
db/doc/javadoc/resources/
db/src/net/sourceforge/pain/util/
gui/
gui/lib/
gui/src/net/sourceforge/pain/tools/guitool/dbbrowse/
gui/src/net/sourceforge/pain/tools/guitool/dialog/
gui/src/net/sourceforge/pain/tools/guitool/menu/
gui/src/net/sourceforge/pain/tools/guitool/resources/
gui/src/net/sourceforge/pain/tools/guitool/resources/images/
gui/src/net/sourceforge/pain/tools/guitool/resources/images/explorer/
tests/
tests/src/
tests/src/net/sourceforge/pain/db/data/
package net.sourceforge.pain.logic.fn;

import net.sourceforge.pain.data.type.*;
import net.sourceforge.pain.network.console.*;


public final class PromptFn {

    public static void printPrompt(Console console) {
        Player p = console.getPlayer();
        Creature creature = (Creature) p.getRole(Creature.class);
        Mobile mobile = (Mobile) p.getRole(Mobile.class);
        MessageOutFn.out(console, "\n");
        Room exits = (Room) p.getLocation().getRole(Room.class);
        StringBuffer promptBuf = new StringBuffer();
        if (creature != null) {
            promptBuf.append(creature.getHitPoints() + "/" + creature.getMaxLifePoints() + "hp ");
        }
        if (mobile != null) {
            promptBuf.append(mobile.getMoves() + "/" + mobile.getMaxMoves() + "mv ");
        }
        if (creature != null || mobile != null) {
            promptBuf.append(": {c");
        } else {
            promptBuf.append("{c");
        }
        boolean exitsFound = false;
        if (exits != null) {
            if (exits.getExit(Room.DIR_NORTH) != null) {
                promptBuf.append("N");
                exitsFound = true;
            }
            if (exits.getExit(Room.DIR_EAST) != null) {
                promptBuf.append("E");
                exitsFound = true;
            }

            if (exits.getExit(Room.DIR_SOUTH) != null) {
                promptBuf.append("S");
                exitsFound = true;
            }

            if (exits.getExit(Room.DIR_WEST) != null) {
                promptBuf.append("W");
                exitsFound = true;
            }

            if (exits.getExit(Room.DIR_UP) != null) {
                promptBuf.append("U");
                exitsFound = true;
            }

            if (exits.getExit(Room.DIR_DOWN) != null) {
                promptBuf.append("D");
                exitsFound = true;
            }
        }
        if (!exitsFound) {
            promptBuf.append("*");
        }
        promptBuf.append(" {x# ");
        MessageOutFn.out(console, promptBuf.toString());
    }

}