X-Git-Url: https://plomlompom.com/repos/berlin_corona.txt?a=blobdiff_plain;f=rogue_chat.html;h=35dc5d4aa812e88907dcdc80348f12e04b0476f2;hb=feb0ffb7c7523ddee0cbd685cbc9c2e768a56cbd;hp=23626cf7503a91a5aeaa527b39f48cae1adfa698;hpb=2760d30c1b9cb8d68c0bdaf1449d3b17eed87ac0;p=plomrogue2 diff --git a/rogue_chat.html b/rogue_chat.html index 23626cf..35dc5d4 100644 --- a/rogue_chat.html +++ b/rogue_chat.html @@ -150,7 +150,7 @@ let mode_helps = { 'name_thing': { 'short': 'name thing', 'intro': '', - 'long': 'Give name to/change name of thing here.' + 'long': 'Give name to/change name of carried thing.' }, 'command_thing': { 'short': 'command', @@ -170,7 +170,7 @@ let mode_helps = { 'admin_thing_protect': { 'short': 'change thing protection', 'intro': '@ enter thing protection character:', - 'long': 'Change protection character for thing here.' + 'long': 'Change protection character for carried thing.' }, 'enter_face': { 'short': 'edit face', @@ -519,7 +519,7 @@ let server = { game.thing_types[tokens[1]] = tokens[2] } else if (tokens[0] === 'THING_CARRYING') { let t = game.get_thing_temp(tokens[1]); - t.carrying = game.get_thing(tokens[2], false); + t.carrying = game.get_thing_temp(tokens[2], false); } else if (tokens[0] === 'THING_INSTALLED') { let t = game.get_thing_temp(tokens[1]); t.installed = true; @@ -787,7 +787,7 @@ let tui = { }, switch_mode: function(mode_name) { - function fail(msg, return_mode) { + function fail(msg, return_mode='play') { tui.log_msg('? ' + msg); terminal.blink_screen(); tui.switch_mode(return_mode); @@ -800,34 +800,20 @@ let tui = { this.tile_draw = false; if (mode_name == 'command_thing' && (!game.player.carrying || !game.player.carrying.commandable)) { - return fail('not carrying anything commandable', 'play'); + return fail('not carrying anything commandable'); + } else if (mode_name == 'name_thing' && !game.player.carrying) { + return fail('not carrying anything to re-name'); + } else if (mode_name == 'admin_thing_protect' && !game.player.carrying) { + return fail('not carrying anything to protect') } else if (mode_name == 'take_thing' && game.player.carrying) { - return fail('already carrying something', 'play'); + return fail('already carrying something'); } else if (mode_name == 'drop_thing' && !game.player.carrying) { - return fail('not carrying anything droppable', 'play'); + return fail('not carrying anything droppable'); } else if (mode_name == 'enter_hat' && !game.player.hat) { return fail('not wearing hat to edit', 'edit'); } if (mode_name == 'admin_enter' && this.is_admin) { mode_name = 'admin'; - } else if (['name_thing', 'admin_thing_protect'].includes(mode_name)) { - let thing_id = null; - for (let t_id in game.things) { - if (t_id == game.player_id) { - continue; - } - let t = game.things[t_id]; - if (game.player.position[0] == t.position[0] - && game.player.position[1] == t.position[1]) { - thing_id = t_id; - break; - } - } - if (!thing_id) { - return fail('not standing over thing', 'fail'); - } else { - this.selected_thing_id = thing_id; - } }; this.mode = this['mode_' + mode_name]; if (["control_tile_draw", "control_tile_type", "control_pw_type"].includes(this.mode.name)) { @@ -950,14 +936,12 @@ let tui = { } else if (this.mode.name == 'password') { this.inputEl.value = this.password; } else if (this.mode.name == 'name_thing') { - let t = game.get_thing(this.selected_thing_id); - if (t && t.name_) { - this.inputEl.value = t.name_; + if (game.player.carrying && game.player.carrying.name_) { + this.inputEl.value = game.player.carrying.name_; } } else if (this.mode.name == 'admin_thing_protect') { - let t = game.get_thing(this.selected_thing_id); - if (t && t.protection) { - this.inputEl.value = t.protection; + if (game.player.carrying && game.player.carrying.protection) { + this.inputEl.value = game.player.carrying.protection; } } else if (['enter_face', 'enter_hat'].includes(this.mode.name)) { const start = this.ascii_draw_stage * 6; @@ -1606,8 +1590,7 @@ tui.inputEl.addEventListener('keydown', (event) => { if (tui.inputEl.value.length == 0) { tui.inputEl.value = " "; } - server.send(["THING_NAME", tui.selected_thing_id, tui.inputEl.value, - tui.password]); + server.send(["THING_NAME", tui.inputEl.value, tui.password]); tui.switch_mode('edit'); } else if (tui.mode.name == 'annotate' && event.key == 'Enter') { explorer.annotate(tui.inputEl.value); @@ -1641,7 +1624,7 @@ tui.inputEl.addEventListener('keydown', (event) => { if (tui.inputEl.value.length != 1) { tui.log_msg('@ entered non-single-char, therefore aborted'); } else { - server.send(['THING_PROTECTION', tui.selected_thing_id, tui.inputEl.value]) + server.send(['THING_PROTECTION', tui.inputEl.value]) tui.log_msg('@ sent new protection character for thing'); } tui.switch_mode('admin');