From 6cb3a857a09ae974bf0f510dfa94fb19fba2ce31 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Tue, 1 Dec 2020 03:31:25 +0100 Subject: [PATCH] Make door closing visible. --- plomrogue/commands.py | 2 +- plomrogue/game.py | 4 ++-- plomrogue/things.py | 2 ++ rogue_chat.html | 10 +++++----- rogue_chat_curses.py | 12 ++++++------ 5 files changed, 16 insertions(+), 14 deletions(-) diff --git a/plomrogue/commands.py b/plomrogue/commands.py index 94d1c59..c25740b 100644 --- a/plomrogue/commands.py +++ b/plomrogue/commands.py @@ -79,7 +79,7 @@ def cmd_LOGIN(game, nick, connection_id): t = game.thing_types['Player'](game) t.position = game.spawn_point game.things += [t] # TODO refactor into Thing.__init__? - t.player_char = game.get_next_player_char() + t.thing_char = game.get_next_player_char() game.sessions[connection_id] = { 'thing_id': t.id_, 'status': 'player' diff --git a/plomrogue/game.py b/plomrogue/game.py index f504599..8bc7f74 100755 --- a/plomrogue/game.py +++ b/plomrogue/game.py @@ -214,9 +214,9 @@ class Game(GameBase): quote(t.protection), t.id_), c_id) if hasattr(t, 'name'): self.io.send('THING_NAME %s %s' % (t.id_, quote(t.name)), c_id) - if hasattr(t, 'player_char'): + if hasattr(t, 'thing_char'): self.io.send('THING_CHAR %s %s' % (t.id_, - quote(t.player_char)), c_id) + quote(t.thing_char)), c_id) for big_yx in self.portals: for little_yx in [little_yx for little_yx in self.portals[big_yx] if player.fov_test(big_yx, little_yx)]: diff --git a/plomrogue/things.py b/plomrogue/things.py index 4d319b9..b757157 100644 --- a/plomrogue/things.py +++ b/plomrogue/things.py @@ -87,10 +87,12 @@ class Thing_Door(Thing): def open(self): self.blocking = False self.portable = True + del self.thing_char def close(self): self.blocking = True self.portable = False + self.thing_char = '#' diff --git a/rogue_chat.html b/rogue_chat.html index ce0b6a2..554c594 100644 --- a/rogue_chat.html +++ b/rogue_chat.html @@ -430,7 +430,7 @@ let server = { } else if (tokens[0] === 'THING_CHAR') { let t = game.get_thing(tokens[1], false); if (t) { - t.player_char = tokens[2]; + t.thing_char = tokens[2]; }; } else if (tokens[0] === 'TASKS') { game.tasks = tokens[1].split(','); @@ -897,8 +897,8 @@ let tui = { 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 (t.thing_char) { + meta_char = t.thing_char; } if (used_positions.includes(t.position.toString())) { meta_char = '+'; @@ -1231,8 +1231,8 @@ let explorer = { protection = 'none'; } info += "THING: " + t.type_ + " / " + symbol; - if (t.player_char) { - info += t.player_char; + if (t.thing_char) { + info += t.thing_char; }; if (t.name_) { info += " (" + t.name_ + ")"; diff --git a/rogue_chat_curses.py b/rogue_chat_curses.py index eb708a2..f715018 100755 --- a/rogue_chat_curses.py +++ b/rogue_chat_curses.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3 +e!/usr/bin/env python3 import curses import queue import threading @@ -179,7 +179,7 @@ cmd_THING_NAME.argtypes = 'int:nonneg string' def cmd_THING_CHAR(game, thing_id, c): t = game.get_thing(thing_id) if t: - t.player_char = c + t.thing_char = c cmd_THING_CHAR.argtypes = 'int:nonneg char' def cmd_MAP(game, geometry, size, content): @@ -694,8 +694,8 @@ class TUI: protection = 'none' info += 'THING: %s / %s' % (t.type_, self.game.thing_types[t.type_]) - if hasattr(t, 'player_char'): - info += t.player_char + if hasattr(t, 'thing_char'): + info += t.thing_char if hasattr(t, 'name'): info += ' (%s)' % t.name info += ' / protection: %s\n' % protection @@ -757,8 +757,8 @@ class TUI: for t in self.game.things: symbol = self.game.thing_types[t.type_] meta_char = ' ' - if hasattr(t, 'player_char'): - meta_char = t.player_char + if hasattr(t, 'thing_char'): + meta_char = t.thing_char if t.position in used_positions: meta_char = '+' map_lines_split[t.position.y][t.position.x] = symbol + meta_char -- 2.30.2