if (this.mode.has_input_prompt) {
help = 'enter /help for help';
}
- terminal.write(0, this.window_width, 'MODE: ' + this.mode.short_desc + ' – ' + help);
+ terminal.write(1, this.window_width, 'MODE: ' + this.mode.short_desc + ' – ' + help);
},
draw_stats_line: function(n) {
- terminal.write(1, this.window_width,
+ terminal.write(0, this.window_width,
'ENERGY: ' + game.energy +
' BLADDER: ' + game.bladder_pressure);
},
for (let t_id in game.things) {
let t = game.things[t_id];
if (t.position[0] == this.position[0] && t.position[1] == this.position[1]) {
- info_to_cache += "THING: " + this.get_thing_info(t);
- let protection = t.protection;
- if (protection == '.') {
- protection = 'none';
- }
- info_to_cache += " / protection: " + protection + "\n";
- if (t.hat) {
- info_to_cache += t.hat.slice(0, 6) + '\n';
- info_to_cache += t.hat.slice(6, 12) + '\n';
- info_to_cache += t.hat.slice(12, 18) + '\n';
- }
- if (t.face) {
- info_to_cache += t.face.slice(0, 6) + '\n';
- info_to_cache += t.face.slice(6, 12) + '\n';
- info_to_cache += t.face.slice(12, 18) + '\n';
- }
- if (t.design) {
- const line_length = t.design[0][1];
- if (t.type_ == 'Sign') {
- info_to_cache += '-'.repeat(line_length + 4) + '\n';
- }
- const regexp = RegExp('.{1,' + line_length + '}', 'g');
- const lines = t.design[1].match(regexp);
- console.log(lines);
- for (const line of lines) {
- info_to_cache += '| ' + line + ' |\n';
- }
- if (t.type_ == 'Sign') {
- info_to_cache += '-'.repeat(line_length + 4) + '\n';
- }
- }
+ info_to_cache += this.get_thing_info(t);
}
}
let terrain_char = game.map[position_i]
if (game.terrains[terrain_char]) {
terrain_desc = game.terrains[terrain_char];
};
- info_to_cache += 'TERRAIN: "' + terrain_char + '" / ' + terrain_desc + "\n";
+ info_to_cache += 'TERRAIN: "' + terrain_char + '" (' + terrain_desc;
let protection = game.map_control[position_i];
- if (protection == '.') {
- protection = 'unprotected';
+ if (protection != '.') {
+ info_to_cache += '/protection:' + protection;
};
- info_to_cache += 'PROTECTION: ' + protection + '\n';
+ info_to_cache += ')\n';
if (this.position in game.portals) {
info_to_cache += "PORTAL: " + game.portals[this.position] + "\n";
}
},
get_thing_info: function(t) {
const symbol = game.thing_types[t.type_];
- let info = t.type_ + " / " + symbol;
+ let info = '- ' + symbol;
if (t.thing_char) {
info += t.thing_char;
};
if (t.name_) {
- info += " (" + t.name_ + ")";
+ info += ": " + t.name_;
}
+ info += ' (' + t.type_;
if (t.installed) {
- info += " / installed";
+ info += "/installed";
+ }
+ const protection = t.protection;
+ if (protection != '.') {
+ info += '/protection:' + protection;
+ }
+ info += ')\n';
+ if (t.hat || t.face) {
+ info += '----------\n';
+ }
+ if (t.hat) {
+ info += '| ' + t.hat.slice(0, 6) + ' |\n';
+ info += '| ' + t.hat.slice(6, 12) + ' |\n';
+ info += '| ' + t.hat.slice(12, 18) + ' |\n';
+ }
+ if (t.face) {
+ info += '| ' + t.face.slice(0, 6) + ' |\n';
+ info += '| ' + t.face.slice(6, 12) + ' |\n';
+ info += '| ' + t.face.slice(12, 18) + ' |\n';
+ info += '----------\n';
+ }
+ if (t.design) {
+ const line_length = t.design[0][1];
+ info += '-'.repeat(line_length + 4) + '\n';
+ const regexp = RegExp('.{1,' + line_length + '}', 'g');
+ const lines = t.design[1].match(regexp);
+ for (const line of lines) {
+ info += '| ' + line + ' |\n';
+ }
+ info += '-'.repeat(line_length + 4) + '\n';
}
return info;
},