home · contact · privacy
Due to less frequent bladder pressure updates, don't update without changes anymore.
[plomrogue2] / rogue_chat_curses.py
index 65d5385ee2d20d17f5fb117a4ac82ea987163445..ec9eee5b276b1373a77588b2cfc01a78e1625545 100755 (executable)
@@ -174,7 +174,6 @@ class PlomSocketClient(PlomSocket):
             pass  # we assume socket will be known as dead by now
 
 def cmd_TURN(game, n):
-    game.turn = n
     game.turn_complete = False
 cmd_TURN.argtypes = 'int:nonneg'
 
@@ -256,14 +255,14 @@ def cmd_MAP(game, geometry, size, content):
     map_geometry_class = globals()['MapGeometry' + geometry]
     game.map_geometry_new = map_geometry_class(size)
     game.map_content_new = content
-    if type(game.map_geometry) == MapGeometrySquare:
+    if type(game.map_geometry_new) == MapGeometrySquare:
         game.tui.movement_keys = {
             game.tui.keys['square_move_up']: 'UP',
             game.tui.keys['square_move_left']: 'LEFT',
             game.tui.keys['square_move_down']: 'DOWN',
             game.tui.keys['square_move_right']: 'RIGHT',
         }
-    elif type(game.map_geometry) == MapGeometryHex:
+    elif type(game.map_geometry_new) == MapGeometryHex:
         game.tui.movement_keys = {
             game.tui.keys['hex_move_upleft']: 'UPLEFT',
             game.tui.keys['hex_move_upright']: 'UPRIGHT',
@@ -294,6 +293,8 @@ def cmd_GAME_STATE_COMPLETE(game):
     game.map_control_content = game.map_control_content_new
     game.player = game.get_thing(game.player_id)
     game.players_hat_chars = game.players_hat_chars_new
+    game.bladder_pressure = game.bladder_pressure_new
+    game.weariness = game.weariness_new
     game.turn_complete = True
     if game.tui.mode.name == 'post_login_wait':
         game.tui.switch_mode('play')
@@ -361,6 +362,11 @@ def cmd_RANDOM_COLORS(game):
     game.tui.set_random_colors()
 cmd_RANDOM_COLORS.argtypes = ''
 
+def cmd_STATS(game, bladder_pressure, weariness):
+    game.bladder_pressure_new = bladder_pressure
+    game.weariness_new = weariness
+cmd_STATS.argtypes = 'int:nonneg int:nonneg'
+
 class Game(GameBase):
     turn_complete = False
     tasks = {}
@@ -400,6 +406,7 @@ class Game(GameBase):
         self.register_command(cmd_FOV)
         self.register_command(cmd_DEFAULT_COLORS)
         self.register_command(cmd_RANDOM_COLORS)
+        self.register_command(cmd_STATS)
         self.map_content = ''
         self.players_hat_chars = ''
         self.player_id = -1
@@ -936,10 +943,10 @@ class TUI:
                 safe_addstr(y, self.window_width, self.input_lines[i])
                 y += 1
 
-        def draw_turn():
-            if not self.game.turn_complete:
-                return
-            safe_addstr(0, self.window_width, 'TURN: ' + str(self.game.turn))
+        def draw_stats():
+            stats = 'WEARY: %s BLADDER: %s' % (self.game.weariness,
+                                               self.game.bladder_pressure)
+            safe_addstr(0, self.window_width, stats)
 
         def draw_mode():
             help = "hit [%s] for help" % self.keys['help']
@@ -1087,7 +1094,7 @@ class TUI:
                 draw_history()
             draw_mode()
             if not self.mode.is_intro:
-                draw_turn()
+                draw_stats()
                 draw_map()
             if self.show_help:
                 draw_help()