function fail(msg, return_mode) {
tui.log_msg('? ' + msg);
terminal.blink_screen();
- this.switch_mode(return_mode);
+ tui.switch_mode(return_mode);
}
if (this.mode && this.mode.name == 'control_tile_draw') {
tui.log_msg('@ finished tile protection drawing.')
}
+ this.draw_face = false;
this.tile_draw = false;
if (mode_name == 'command_thing' && (!game.player.carrying
|| !game.player.carrying.commandable)) {
},
draw_face_popup: function() {
const t = game.things[this.draw_face];
- if (!t) {
+ if (!t || !t.face) {
this.draw_face = false;
return;
}
+ const start_x = tui.window_width - 10;
+ let t_char = ' ';
+ if (t.thing_char) {
+ t_char = t.thing_char;
+ }
function draw_body_part(body_part, end_y) {
- const start_x = tui.window_width - 10;
- terminal.write(end_y - 4, start_x, '+--------+');
+ terminal.write(end_y - 4, start_x, ' _[ @' + t_char + ' ]_ ');
terminal.write(end_y - 3, start_x, '| |');
terminal.write(end_y - 2, start_x, '| ' + body_part.slice(0, 6) + ' |');
terminal.write(end_y - 1, start_x, '| ' + body_part.slice(6, 12) + ' |');
terminal.write(end_y, start_x, '| ' + body_part.slice(12, 18) + ' |');
}
if (t.face) {
- draw_body_part(t.face, terminal.rows - 1);
+ draw_body_part(t.face, terminal.rows - 2);
}
if (t.hat) {
- draw_body_part(t.hat, terminal.rows - 4);
+ draw_body_part(t.hat, terminal.rows - 5);
}
+ terminal.write(terminal.rows - 1, start_x, '| |');
},
draw_mode_line: function() {
let help = 'hit [' + this.keys.help + '] for help';
};
tui.inputEl.addEventListener('keydown', (event) => {
tui.show_help = false;
- tui.draw_face = false;
if (event.key == 'Enter') {
event.preventDefault();
}