home · contact · privacy
Decouple awakeness/sleep stats from Map to MapChunk.
[plomrogue2-experiments] / new / plomrogue / game.py
index a2421ad6417b9b195930c947d1eb44c5c0e6eb6f..d20713cd61fa219d387808ef3c2e9bdbd8ac4fff 100755 (executable)
@@ -8,7 +8,7 @@ from plomrogue.commands import (cmd_GEN_WORLD, cmd_GET_GAMESTATE,
                                 cmd_GET_PICKABLE_ITEMS, cmd_MAP_SIZE,
                                 cmd_TERRAIN_LINE, cmd_PLAYER_ID,
                                 cmd_TURN, cmd_SWITCH_PLAYER, cmd_SAVE)
-from plomrogue.mapping import MapGeometryHex, Map, YX
+from plomrogue.mapping import MapGeometryHex, MapChunk, YX
 from plomrogue.parser import Parser
 from plomrogue.io import GameIO
 from plomrogue.misc import quote
@@ -209,8 +209,8 @@ class Game(GameBase):
     def get_map(self, map_pos):
         if not (map_pos in self.maps and
                 self.maps[map_pos].size == self.map_size):
-            self.maps[map_pos] = Map(self.map_size,
-                                     awakeness=self.max_map_awakeness)
+            self.maps[map_pos] = MapChunk(self.map_size)
+            self.maps[map_pos].awake = self.max_map_awakeness
             for pos in self.maps[map_pos]:
                 self.maps[map_pos][pos] = '.'
         return self.maps[map_pos]
@@ -270,6 +270,8 @@ class Game(GameBase):
                         t = self.add_thing_at_random(map_pos, t_type)
                         if average_health:
                             t.health = average_health
+                        #if hasattr(t, 'health'):
+                        #    print('DEBUG create', t.type_, t.health)
 
             for map_pos in self.maps:
                 m = self.maps[map_pos]
@@ -277,6 +279,7 @@ class Game(GameBase):
 
                     # Newly inside chunks are regenerated from .stats.
                     if not m.awake:
+                        #print('DEBUG regen stats', map_pos, m.stats)
                         regenerate_chunk_from_map_stats(m)
 
                     # Inside chunks are set to max .awake and don't collect
@@ -299,6 +302,8 @@ class Game(GameBase):
                                 m.stats[t.type_]['health'] += t.health
                             if not m.awake:
                                 del self.things[self.things.index(t)]
+                    #if not m.awake:
+                    #    print('DEBUG sleep stats', map_pos, m.stats)
 
         while True:
             player_i = self.things.index(self.player)