X-Git-Url: https://plomlompom.com/repos/berlin_corona.txt?a=blobdiff_plain;f=plomrogue%2Ftasks.py;h=b408ea49636b582a3dcbe8fd505faa196270fe99;hb=8e0d2b4b88650986740e7db561bfb92f24c7fe9d;hp=b2303261dbdedf60e88bae280eab1e11110ecadc;hpb=8aad5c25535b1570ff7a59c170cfec677b9f74c7;p=plomrogue2 diff --git a/plomrogue/tasks.py b/plomrogue/tasks.py index b230326..b408ea4 100644 --- a/plomrogue/tasks.py +++ b/plomrogue/tasks.py @@ -61,15 +61,7 @@ class Task_MOVE(Task): self.thing.name)) break self.thing.game.record_change(self.thing.position, 'other') - terrain = \ - self.thing.game.maps[self.thing.position[0]][self.thing.position[1]] - if terrain in self.thing.game.terrains: - terrain_type = self.thing.game.terrains[terrain] - if 'sittable' in terrain_type.tags: - self.thing.standing = False - self.thing.send_msg('CHAT "You sink into the %s. ' - 'Staying here will replenish your energy."' - % terrain_type.description) + self.thing.try_to_sit() self.thing.invalidate('fov') if self.thing.blocks_light: self.thing.game.record_change(self.thing.position, 'fov') @@ -213,6 +205,8 @@ class Task_DOOR(Task): t.type_ == 'Door' and t.position in action_radius] if len(reachable_doors) == 0: raise PlayError('not standing next to a door to open/close') + if len([d for d in reachable_doors if not d.portable]) == 0: + raise PlayError('can only open/close doors that are installed') for door in reachable_doors: if not door.blocks_movement: return