</head><body>
<div>
movement: <select id="movement_keys" name="movement_keys" >
-<option value="alphabetic" selected>w/a/s/d (square grid) or e,d,c,x,s,r (hex grid)</option>
+<option value="alphabetic" selected>w/a/s/d (square grid) or e,d,c,x,s,w (hex grid)</option>
<option value="arrow_or_numpad">arrow keys (square grid) or numpad (hex grid)</option>
</select>
rows: <input id="n_rows" type="number" step=2 min=10 value=24 />
this.websocket.onopen = function(event) {
window.setInterval(function() { server.send(['PING']) }, 30000);
tui.log_msg("@ server connected! :)");
- tui.init_login();
+ tui.switch_mode(mode_login);
};
this.websocket.onclose = function(event) {
tui.log_msg("@ server disconnected :(");
};
};
},
- init_login: function() {
- this.log_msg("@ please enter your username:");
- this.switch_mode(mode_login);
- },
switch_mode: function(mode, keep_pos=false) {
if (mode == mode_study && !keep_pos && game.player_id in game.things) {
explorer.position = game.things[game.player_id].position;
this.recalc_input_lines();
}
}
- if (mode == mode_portal && explorer.position in game.portals) {
+ if (mode == mode_login) {
+ if (this.login_name) {
+ server.send(['LOGIN', this.login_name]);
+ } else {
+ this.log_msg("? need login name");
+ }
+ } else if (mode == mode_portal && explorer.position in game.portals) {
let portal = game.portals[explorer.position]
- this.inputEl.value = portal;
- this.recalc_input_lines();
+ this.inputEl.value = portal;
+ this.recalc_input_lines();
} else if (mode == mode_teleport) {
tui.log_msg("@ May teleport to: " + tui.teleport_target);
tui.log_msg("@ Enter 'YES!' to entusiastically affirm.");
this.log_msg(" " + command_char_selector.value + "nick NAME - re-name yourself to NAME");
this.log_msg(" " + command_char_selector.value + "msg USER TEXT - send TEXT to USER");
this.log_msg(" " + command_char_selector.value + "help - show this help");
- this.log_msg(" " + command_char_selector.value + "p or " + command_char_selector.value + "play - switch to play mode");
+ this.log_msg(" " + command_char_selector.value + "P or " + command_char_selector.value + "play - switch to play mode");
this.log_msg(" " + command_char_selector.value + "? or " + command_char_selector.value + "study - switch to study mode");
this.log_msg("commands common to study and play mode:");
this.log_msg(" " + this.movement_keys_desc + " - move");
event.preventDefault();
}
if (tui.mode == mode_login && event.key == 'Enter') {
+ tui.login_name = tui.inputEl.value;
server.send(['LOGIN', tui.inputEl.value]);
- tui.switch_mode(mode_login);
+ tui.empty_input();
} else if (tui.mode == mode_portal && event.key == 'Enter') {
explorer.set_portal(tui.inputEl.value);
tui.switch_mode(mode_study, true);
let [tokens, token_starts] = parser.tokenize(tui.inputEl.value);
if (tokens.length > 0 && tokens[0].length > 0) {
if (tui.inputEl.value[0][0] == command_char_selector.value) {
- if (tokens[0].slice(1) == 'play' || tokens[0].slice(1) == 'p') {
+ if (tokens[0].slice(1) == 'play' || tokens[0].slice(1) == 'P') {
tui.switch_mode(mode_play);
} else if (tokens[0].slice(1) == 'study' || tokens[0].slice(1) == '?') {
tui.switch_mode(mode_study);