home · contact · privacy
Add player-identifying meta characters next to @ symbols.
[plomrogue2] / rogue_chat_nocanvas_monochrome.html
index 4956cbdc3beccb39222fc26f571462cd4482c4a1..c0ee072d7d634fcd2872cdf0c41f0b099a801b31 100644 (file)
@@ -214,6 +214,11 @@ 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') {
@@ -453,11 +458,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());
         };
     }
@@ -714,7 +722,11 @@ 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 += "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_ + ")";
                  }