X-Git-Url: https://plomlompom.com/repos/feed.xml?a=blobdiff_plain;f=plomrogue%2Ftasks.py;h=b408ea49636b582a3dcbe8fd505faa196270fe99;hb=5862e6964f0ce6e7139862e8b1de3b1cca0a306f;hp=ad8cfc8b648c3a2cfcc53d76166e5d7dc5060395;hpb=2df42b53c56bd32dc445df532b4c42c53d97b767;p=plomrogue2 diff --git a/plomrogue/tasks.py b/plomrogue/tasks.py index ad8cfc8..b408ea4 100644 --- a/plomrogue/tasks.py +++ b/plomrogue/tasks.py @@ -61,20 +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) - for t in [t for t in self.thing.game.things - if t.type_ == 'Chair' and t.position == self.thing.position]: - self.thing.standing = False - self.thing.send_msg('CHAT "You sink into the Chair. ' - 'Staying here will replenish your energy."') + self.thing.try_to_sit() self.thing.invalidate('fov') if self.thing.blocks_light: self.thing.game.record_change(self.thing.position, 'fov') @@ -218,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