From 699621898072da0b0b93748e2b6a49badfdec391 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Sat, 26 Dec 2020 23:24:29 +0100 Subject: [PATCH] Replace hard-coded client login welcome messages with optional server login messages. --- plomrogue/commands.py | 4 ++++ plomrogue/game.py | 5 +++++ rogue_chat.html | 2 -- rogue_chat.py | 3 ++- rogue_chat_curses.py | 2 -- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/plomrogue/commands.py b/plomrogue/commands.py index 8376355..ec31b12 100644 --- a/plomrogue/commands.py +++ b/plomrogue/commands.py @@ -463,3 +463,7 @@ def cmd_THING_SPAWNPOINT_CREATED(game, spawnpoint_id, timestamp): spawnpoint.temporary = True spawnpoint.created_at = datetime.datetime.fromtimestamp(timestamp) cmd_THING_SPAWNPOINT_CREATED.argtypes = 'int:pos int:nonneg' + +def cmd_INTRO_MSG(game, msg): + game.intro_messages += [msg] +cmd_INTRO_MSG.argtypes = 'string' diff --git a/plomrogue/game.py b/plomrogue/game.py index 793c322..8784007 100755 --- a/plomrogue/game.py +++ b/plomrogue/game.py @@ -132,6 +132,7 @@ class Game(GameBase): self.annotations = {} self.spawn_points = [] self.portals = {} + self.intro_messages = [] self.player_chars = string.digits + string.ascii_letters self.players_hat_chars = {} self.player_char_i = -1 @@ -355,6 +356,8 @@ class Game(GameBase): print('DEBUG LOGIN', t.name, len(self.sessions)) self.io.send('PLAYER_ID %s' % t.id_, connection_id) self.io.send('LOGIN_OK', connection_id) + for msg in self.intro_messages: + self.io.send('CHAT ' + quote(msg)) self.io.send('CHAT ' + quote(t.name + ' entered the map.')) for s in [s for s in self.things if s.type_ == 'SpawnPoint' and s.name == t.name]: @@ -601,6 +604,8 @@ class Game(GameBase): next_thing_id += 1 for s in self.spawn_points: write(f, 'SPAWN_POINT %s %s' % (s[0], s[1])) + for msg in self.intro_messages: + write(f, 'INTRO_MSG %s' % quote(msg)) diff --git a/rogue_chat.html b/rogue_chat.html index e7004a1..1ace4c3 100644 --- a/rogue_chat.html +++ b/rogue_chat.html @@ -578,8 +578,6 @@ let server = { this.send(['GET_GAMESTATE']); tui.switch_mode('post_login_wait'); tui.log_msg('@ welcome!') - tui.log_msg('@ hint: see top of terminal for how to get help.') - tui.log_msg('@ hint: enter study mode to understand your environment.') } else if (tokens[0] === 'DEFAULT_COLORS') { terminal.set_default_colors(); } else if (tokens[0] === 'RANDOM_COLORS') { diff --git a/rogue_chat.py b/rogue_chat.py index f37477b..6696a73 100755 --- a/rogue_chat.py +++ b/rogue_chat.py @@ -10,7 +10,7 @@ from plomrogue.commands import (cmd_ALL, cmd_LOGIN, cmd_NICK, cmd_PING, cmd_THIN cmd_GOD_THING_NAME, cmd_THING_DOOR_CLOSED, cmd_GOD_THING_PROTECTION, cmd_THING_PROTECTION, cmd_SET_MAP_CONTROL_PASSWORD, cmd_SPAWN_POINT, - cmd_THING_MUSICPLAYER_SETTINGS, + cmd_THING_MUSICPLAYER_SETTINGS, cmd_INTRO_MSG, cmd_THING_MUSICPLAYER_PLAYLIST_ITEM, cmd_TERRAIN, cmd_THING_BOTTLE_EMPTY, cmd_PLAYER_FACE, cmd_GOD_PLAYER_FACE, cmd_GOD_PLAYER_HAT, @@ -83,6 +83,7 @@ game.register_command(cmd_GOD_THING_DESIGN) game.register_command(cmd_GOD_THING_DESIGN_SIZE) game.register_command(cmd_MAP_CONTROL_PRESETS) game.register_command(cmd_THING_SPAWNPOINT_CREATED) +game.register_command(cmd_INTRO_MSG) game.register_task(Task_WAIT) game.register_task(Task_MOVE) game.register_task(Task_WRITE) diff --git a/rogue_chat_curses.py b/rogue_chat_curses.py index d6d8242..1d32772 100755 --- a/rogue_chat_curses.py +++ b/rogue_chat_curses.py @@ -187,8 +187,6 @@ def cmd_LOGIN_OK(game): game.tui.switch_mode('post_login_wait') game.tui.send('GET_GAMESTATE') game.tui.log_msg('@ welcome!') - game.tui.log_msg('@ hint: see top of terminal for how to get help.') - game.tui.log_msg('@ hint: enter study mode to understand your environment.') cmd_LOGIN_OK.argtypes = '' def cmd_ADMIN_OK(game): -- 2.30.2