X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=new%2Fplomrogue%2Fthings.py;fp=new%2Fplomrogue%2Fthings.py;h=797fd6bce2ea347e13502670d5ab0bcad654bcfd;hb=569bb0b9683cfd5db1fa100e49127fe84b39f0ac;hp=f300148a7ad5397c6a3b610d6cd818c1edeef477;hpb=8550ed04290fd6690ac73b3fd15412ce19e32b4d;p=plomrogue2-experiments diff --git a/new/plomrogue/things.py b/new/plomrogue/things.py index f300148..797fd6b 100644 --- a/new/plomrogue/things.py +++ b/new/plomrogue/things.py @@ -110,6 +110,19 @@ class ThingAnimate(Thing): self.set_task('WAIT') self._last_task_result = None self.unset_surroundings() + self.close_maps = () + + def _position_set(self, pos): + """For player we need to update .close_maps on every move via the + self.surroundings property method, to keep their reality + bubble in sync with their movement. + + """ + super()._position_set(pos) + if self.id_ == self.game.player_id: + if not hasattr(self, '_surroundings'): + self._surroundings = None + self.surroundings def move_on_dijkstra_map(self, own_pos, targets): visible_map = self.get_visible_map() @@ -270,9 +283,12 @@ class ThingAnimate(Thing): def surroundings(self): if self._surroundings is not None: return self._surroundings - s = self.game.map_geometry.get_view(self.game.map_size, - self.game.get_map, - self._radius, self.view_offset) + s, close_maps = self.\ + game.map_geometry.get_view_and_seen_maps(self.game.map_size, + self.game.get_map, + self._radius, + self.view_offset) + self.close_maps = close_maps self._surroundings = s return self._surroundings