home · contact · privacy
Improve client keybinding logic.
[plomrogue2-experiments] / new2 / rogue_chat_curses.py
index 8bd45afb3e3742a5bc796632cd8e5d07380ad250..a41ac73f8fae97012430ccc9ff002e78779ac49f 100755 (executable)
@@ -73,9 +73,9 @@ def cmd_GAME_STATE_COMPLETE(game):
         game.tui.query_info()
     player = game.get_thing(game.player_id, False)
     if player.position in game.portals:
-        host, port = game.portals[player.position].split(':')
-        game.tui.teleport_target_host = host
-        game.tui.teleport_target_port = port
+        #host, port = game.portals[player.position].split(':')
+        game.tui.teleport_target_host = game.portals[player.position]
+        game.tui.teleport_target_port = 5000
         game.tui.switch_mode('teleport')
     game.turn_complete = True
     game.tui.do_refresh = True
@@ -171,6 +171,7 @@ class TUI:
         self.log = []
         self.do_refresh = True
         self.queue = queue.Queue()
+        self.login_name = None
         self.switch_mode('waiting_for_server')
         curses.wrapper(self.loop)
 
@@ -200,7 +201,10 @@ class TUI:
         if self.mode.name == 'waiting_for_server':
             self.log_msg('@ waiting for server …')
         elif self.mode.name == 'login':
-            self.log_msg('@ enter username')
+            if self.login_name:
+                self.send('LOGIN ' + quote(self.login_name))
+            else:
+                self.log_msg('@ enter username')
         elif self.mode.name == 'teleport':
             self.log_msg("@ May teleport to %s:%s" % (self.teleport_target_host,
                                                       self.teleport_target_port));
@@ -218,18 +222,18 @@ class TUI:
         self.log_msg("  :nick NAME - re-name yourself to NAME");
         self.log_msg("  :msg USER TEXT - send TEXT to USER");
         self.log_msg("  :help - show this help");
-        self.log_msg("  :p or :play - switch to play mode");
+        self.log_msg("  :P or :play - switch to play mode");
         self.log_msg("  :? or :study - switch to study mode");
         self.log_msg("commands common to study and play mode:");
         self.log_msg("  w,a,s,d - move");
-        self.log_msg("  c - switch to chat mode");
+        self.log_msg("  C - switch to chat mode");
         self.log_msg("commands specific to play mode:");
-        self.log_msg("  e - write following ASCII character");
+        self.log_msg("  E - write following ASCII character");
         self.log_msg("  f - flatten surroundings");
         self.log_msg("  ? - switch to study mode");
         self.log_msg("commands specific to study mode:");
-        self.log_msg("  e - annotate terrain");
-        self.log_msg("  p - switch to play mode");
+        self.log_msg("  E - annotate terrain");
+        self.log_msg("  P - switch to play mode");
 
     def loop(self, stdscr):
 
@@ -445,11 +449,12 @@ class TUI:
                 if len(self.input_) > max_length:
                     self.input_ = self.input_[:max_length]
             elif self.mode == self.mode_login and key == '\n':
+                self.login_name = self.input_
                 self.send('LOGIN ' + quote(self.input_))
                 self.input_ = ""
             elif self.mode == self.mode_chat and key == '\n':
                 if self.input_[0] == ':':
-                    if self.input_ in {':p', ':play'}:
+                    if self.input_ in {':P', ':play'}:
                         self.switch_mode('play')
                     elif self.input_ in {':?', ':study'}:
                         self.switch_mode('study')