},
'control_pw_type': {
'short': 'change tiles control password',
- 'long': 'This mode is the first of two steps to change the password for a tile control character. First enter the tile control character for which you want to change the password!'
+ 'long': 'This mode is the first of two steps to change the password for a tile control character. First enter the tile control character for which you want to change the password.'
},
'control_pw_pw': {
'short': 'change tiles control password',
mode_study: new Mode('study', false, true),
mode_write: new Mode('write', false, false, false, true),
mode_edit: new Mode('edit'),
- mode_control_pw_type: new Mode('control_pw_type',
- false, false, false, true),
+ mode_control_pw_type: new Mode('control_pw_type', true),
mode_portal: new Mode('portal', true, true),
mode_password: new Mode('password', true),
mode_admin_enter: new Mode('admin_enter', true),
mode_admin: new Mode('admin'),
mode_control_pw_pw: new Mode('control_pw_pw', true),
- mode_control_tile_type: new Mode('control_tile_type',
- false, false, false, true),
+ mode_control_tile_type: new Mode('control_tile_type', true),
mode_control_tile_draw: new Mode('control_tile_draw'),
init: function() {
this.mode_play.available_modes = ["chat", "study", "edit", "admin_enter"]
},
switch_mode: function(mode_name) {
this.inputEl.focus();
- this.map_mode = 'all';
+ this.map_mode = 'terrain + things';
this.tile_draw = false;
if (mode_name == 'admin_enter' && this.is_admin) {
mode_name = 'admin';
} else if (this.mode.name == 'admin') {
document.getElementById("switch_to_control_pw_type").disabled = false;
document.getElementById("switch_to_control_tile_type").disabled = false;
- } else if (this.mode.name == 'control_tile_draw') {
- document.getElementById("toggle_tile_draw").disabled = false;
} else if (this.mode.name == 'study') {
document.getElementById("toggle_map_mode").disabled = false;
} else if (this.mode.is_single_char_entry) {
this.show_help = true;
} else if (this.mode.name == 'admin_enter') {
this.log_msg('@ enter admin password:')
+ } else if (this.mode.name == 'control_pw_type') {
+ this.log_msg('@ enter tile control character for which you want to change the password:')
+ } else if (this.mode.name == 'control_tile_type') {
+ this.log_msg('@ enter tile control character which you want to draw:')
} else if (this.mode.name == 'control_pw_pw') {
this.log_msg('@ enter tile control password for "' + this.tile_control_char + '":');
- } else if (this.mode.name == 'control_pw_pw') {
- this.log_msg('@ enter tile control password for "' + this.tile_control_char + '":');
+ } else if (this.mode.name == 'control_tile_draw') {
+ document.getElementById("toggle_tile_draw").disabled = false;
+ this.log_msg('@ can draw tile control character "' + this.tile_control_char + '", turn drawing on/off with [' + this.keys.toggle_tile_draw + '], finish with [' + this.keys.switch_to_admin_enter + '].')
}
this.full_refresh();
},
}
};
map_lines_split.push(line);
- if (this.map_mode == 'annotations') {
+ if (this.map_mode == 'terrain + annotations') {
for (const coordinate of explorer.info_hints) {
map_lines_split[coordinate[0]][coordinate[1]] = 'A ';
}
- } else if (this.map_mode == 'all') {
+ } else if (this.map_mode == 'terrain + things') {
for (const p in game.portals) {
let coordinate = p.split(',')
let original = map_lines_split[coordinate[0]][coordinate[1]];
}
},
toggle_map_mode: function() {
- if (tui.map_mode == 'terrain') {
- tui.map_mode = 'annotations';
- } else if (tui.map_mode == 'annotations') {
- tui.map_mode = 'all';
+ if (tui.map_mode == 'terrain only') {
+ tui.map_mode = 'terrain + annotations';
+ } else if (tui.map_mode == 'terrain + annotations') {
+ tui.map_mode = 'terrain + things';
} else {
- tui.map_mode = 'terrain';
+ tui.map_mode = 'terrain only';
}
},
full_refresh: function() {
server.send(["GET_ANNOTATION", unparser.to_yx(explorer.position)]);
},
get_info: function() {
+ let info = "MAP VIEW: " + tui.map_mode + "\n";
let position_i = this.position[0] * game.map_size[1] + this.position[1];
if (game.fov[position_i] != '.') {
- return 'outside field of view';
+ return info + 'outside field of view';
};
- let info = "";
let terrain_char = game.map[position_i]
let terrain_desc = '?'
if (game.terrains[terrain_char]) {
} else if (tui.mode.name == 'write' && tui.inputEl.value.length > 0) {
server.send(["TASK:WRITE", tui.inputEl.value[0], tui.password]);
tui.switch_mode('edit');
- } else if (tui.mode.name == 'control_pw_type' && tui.inputEl.value.length > 0) {
- tui.tile_control_char = tui.inputEl.value[0];
- tui.switch_mode('control_pw_pw');
- } else if (tui.mode.name == 'control_tile_type' && tui.inputEl.value.length > 0) {
- tui.tile_control_char = tui.inputEl.value[0];
- tui.switch_mode('control_tile_draw');
}
tui.full_refresh();
}, false);
} else if (tui.mode.name == 'admin_enter' && event.key == 'Enter') {
server.send(['BECOME_ADMIN', tui.inputEl.value]);
tui.switch_mode('play');
+ } else if (tui.mode.name == 'control_pw_type' && event.key == 'Enter') {
+ if (tui.inputEl.value.length != 1) {
+ tui.log_msg('@ entered non-single-char, therefore aborted');
+ tui.switch_mode('admin');
+ } else {
+ tui.tile_control_char = tui.inputEl.value[0];
+ tui.switch_mode('control_pw_pw');
+ }
+ } else if (tui.mode.name == 'control_tile_type' && event.key == 'Enter') {
+ if (tui.inputEl.value.length != 1) {
+ tui.log_msg('@ entered non-single-char, therefore aborted');
+ tui.switch_mode('admin');
+ } else {
+ tui.tile_control_char = tui.inputEl.value[0];
+ tui.switch_mode('control_tile_draw');
+ }
} else if (tui.mode.name == 'chat' && event.key == 'Enter') {
let tokens = parser.tokenize(tui.inputEl.value);
if (tokens.length > 0 && tokens[0].length > 0) {