X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D/balance2?a=blobdiff_plain;ds=sidebyside;f=rogue_chat_nocanvas_monochrome.html;h=7c24a43a3e36ff2e2c95d2fb128f559492a54c39;hb=acdf162669be2293919fe536275b28703489881f;hp=4956cbdc3beccb39222fc26f571462cd4482c4a1;hpb=ea961663328b40a2423cb2bb0d73a8e91b1797ee;p=plomrogue2 diff --git a/rogue_chat_nocanvas_monochrome.html b/rogue_chat_nocanvas_monochrome.html index 4956cbd..7c24a43 100644 --- a/rogue_chat_nocanvas_monochrome.html +++ b/rogue_chat_nocanvas_monochrome.html @@ -179,7 +179,9 @@ let server = { this.websocket.onopen = function(event) { server.connected = true; game.thing_types = {}; + game.terrains = {}; server.send(['TASKS']); + server.send(['TERRAINS']); server.send(['THING_TYPES']); tui.log_msg("@ server connected! :)"); tui.switch_mode(mode_login); @@ -214,10 +216,17 @@ let server = { if (t) { t.name_ = tokens[2]; }; + } else if (tokens[0] === 'THING_CHAR') { + let t = game.get_thing(tokens[1], false); + if (t) { + t.player_char = tokens[2]; + }; } else if (tokens[0] === 'TASKS') { game.tasks = tokens[1].split(',') } else if (tokens[0] === 'THING_TYPE') { game.thing_types[tokens[1]] = tokens[2] + } else if (tokens[0] === 'TERRAIN') { + game.terrains[tokens[1]] = tokens[2] } else if (tokens[0] === 'MAP') { game.map_geometry = tokens[1]; tui.init_keys(); @@ -453,11 +462,14 @@ let tui = { for (const thing_id in game.things) { let t = game.things[thing_id]; let symbol = game.thing_types[t.type_]; + let meta_char = ' '; + if (t.player_char) { + meta_char = t.player_char; + } if (used_positions.includes(t.position.toString())) { - map_lines_split[t.position[0]][t.position[1]] = symbol + '+'; - } else { - map_lines_split[t.position[0]][t.position[1]] = symbol + ' '; + meta_char = '+'; }; + map_lines_split[t.position[0]][t.position[1]] = symbol + meta_char; used_positions.push(t.position.toString()); }; } @@ -710,13 +722,22 @@ let explorer = { return 'outside field of view'; }; let info = ""; - info += "TERRAIN: " + game.map[position_i] + "\n"; + let terrain_char = game.map[position_i] + let terrain_desc = '?' + if (game.terrains[terrain_char]) { + terrain_desc = game.terrains[terrain_char]; + }; + info += 'TERRAIN: "' + terrain_char + '" / ' + terrain_desc + "\n"; 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 += "THING: " + t.type_; + let symbol = game.thing_types[t.type_]; + info += "THING: " + t.type_ + " / " + symbol; + if (t.player_char) { + info += t.player_char; + }; if (t.name_) { - info += " (name: " + t.name_ + ")"; + info += " (" + t.name_ + ")"; } info += "\n"; }