home · contact · privacy
Improve precision of install key name.
[plomrogue2] / rogue_chat.html
index 41cf365c0a5f88fe71dad7977a1e1e6aa12f4d03..d971c9bd47d1f17683c531d22d5a19ac2c1a9a30 100644 (file)
@@ -238,7 +238,7 @@ let key_descriptions = {
     'drop_thing': 'drop thing',
     'door': 'open/close',
     'consume': 'consume',
-    'install': 'install',
+    'install': '(un-)install',
     'toggle_map_mode': 'toggle map view',
     'toggle_tile_draw': 'toggle protection character drawing',
     'hex_move_upleft': 'up-left',
@@ -474,6 +474,7 @@ let server = {
             t.position = parser.parse_yx(tokens[1]);
             t.type_ = tokens[2];
             t.protection = tokens[3];
+            t.portable = parseInt(tokens[5]);
         } else if (tokens[0] === 'THING_NAME') {
             let t = game.get_thing(tokens[1], false);
             if (t) {
@@ -496,6 +497,11 @@ let server = {
             if (t) {
                 t.carrying = true;
             };
+        } else if (tokens[0] === 'THING_INSTALLED') {
+            let t = game.get_thing(tokens[1], false);
+            if (t) {
+                t.installed = true;
+            };
         } else if (tokens[0] === 'TERRAIN') {
             game.terrains[tokens[1]] = tokens[2]
         } else if (tokens[0] === 'MAP') {
@@ -809,7 +815,7 @@ let tui = {
     } else if (this.mode.is_single_char_entry) {
         this.show_help = true;
     } else if (this.mode.name == 'take_thing') {
-        this.log_msg("Things in reach for pick-up:");
+        this.log_msg("Portable things in reach for pick-up:");
         const player = game.things[game.player_id];
         const y = player.position[0]
         const x = player.position[1]
@@ -832,7 +838,7 @@ let tui = {
             const t = game.things[t_id];
             if (select_range.includes(t.position[0].toString()
                                       + ':' + t.position[1].toString())
-                && t != player && t.type_ != 'Player') {
+                && t.portable) {
                 this.selectables.push([t_id, t]);
             }
         };
@@ -1354,12 +1360,15 @@ let explorer = {
     get_thing_info: function(t) {
         const symbol = game.thing_types[t.type_];
         let info = t.type_ + " / " + symbol;
-         if (t.thing_char) {
-             info += t.thing_char;
-         };
-         if (t.name_) {
-             info += " (" + t.name_ + ")";
-         }
+        if (t.thing_char) {
+            info += t.thing_char;
+        };
+        if (t.name_) {
+            info += " (" + t.name_ + ")";
+        }
+        if (t.installed) {
+            info += " / installed";
+        }
         return info;
     },
     annotate: function(msg) {