home · contact · privacy
Re-style study detail view.
[plomrogue2] / rogue_chat.html
index d644d626c960b75df384baa2caaa04106498ccce..f9a6a01c6b20f5405a4648c12f3ccb081199511a 100644 (file)
@@ -1500,37 +1500,7 @@ let explorer = {
             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]
@@ -1538,12 +1508,12 @@ let explorer = {
             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";
             }
@@ -1556,15 +1526,45 @@ let explorer = {
     },
     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;
     },