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')
chars_split = list(chars)
chars_split.sort()
return ''.join(chars_split)
+
+ def try_to_sit(self):
+ terrain = self.game.maps[self.position[0]][self.position[1]]
+ if terrain in self.game.terrains:
+ terrain_type = self.game.terrains[terrain]
+ if 'sittable' in terrain_type.tags:
+ self.standing = False
+ self.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.game.things
+ if t.type_ == 'Chair' and t.position == self.position]:
+ self.standing = False
+ self.send_msg('CHAT "You sink into the Chair. '
+ 'Staying here will replenish your energy."')