X-Git-Url: https://plomlompom.com/repos/feed.xml?a=blobdiff_plain;f=plomrogue%2Fthings.py;h=b757157d99cef4375f344ec0038f83599503cae6;hb=6cb3a857a09ae974bf0f510dfa94fb19fba2ce31;hp=a51b2b2b48083037b146cca377005ecf9994cb8b;hpb=5e761a8855223b0b51a22b5f3b0de353fd2f8f86;p=plomrogue2 diff --git a/plomrogue/things.py b/plomrogue/things.py index a51b2b2..b757157 100644 --- a/plomrogue/things.py +++ b/plomrogue/things.py @@ -74,6 +74,28 @@ class Thing_SpawnPoint(Thing): +class Thing_DoorSpawner(ThingSpawner): + child_type = 'Door' + + + +class Thing_Door(Thing): + symbol_hint = 'D' + blocking = False + portable = True + + def open(self): + self.blocking = False + self.portable = True + del self.thing_char + + def close(self): + self.blocking = True + self.portable = False + self.thing_char = '#' + + + class ThingAnimate(Thing): blocking = True @@ -122,8 +144,8 @@ class ThingAnimate(Thing): if self._fov: return self._fov fov_map_class = self.game.map_geometry.fov_map_class - self._fov = fov_map_class(self.game.maps, self.position, 12, - self.game.get_map) + self._fov = fov_map_class(self.game.things, self.game.maps, self.position, + 12, self.game.get_map) return self._fov def fov_test(self, big_yx, little_yx):