+ def proceed(self):
+ super().proceed()
+ if self.drunk >= 0:
+ self.drunk -= 1
+ if self.tripping >= 0:
+ self.tripping -= 1
+ if self.need_for_toilet > 0:
+ terrain = self.game.maps[self.position[0]][self.position[1]]
+ if terrain in self.game.terrains:
+ terrain_type = self.game.terrains[terrain]
+ if 'toilet' in terrain_type.tags:
+ self.send_msg('CHAT "You use the toilet. What a relief!"')
+ self.need_for_toilet = 0
+ if self.need_for_toilet > 0:
+ if random.random() > 0.9999:
+ self.need_for_toilet += 1
+ self.game.changed = True
+ if 100000 * random.random() < self.need_for_toilet:
+ self.send_msg('CHAT "You need to go to a toilet."')
+ if self.need_for_toilet > 100:
+ self.send_msg('CHAT "You pee into your pants. Eww!"')
+ self.need_for_toilet = 0
+ self.game.changed = True
+ if self.drunk == 0:
+ self.send_msg('CHAT "You sober up."')
+ self.invalidate('fov')
+ self.game.changed = True
+ if self.tripping == 0:
+ self.send_msg('DEFAULT_COLORS')
+ self.send_msg('CHAT "You sober up."')
+ self.game.changed = True
+ elif self.tripping > 0 and self.tripping % 250 == 0:
+ self.send_msg('RANDOM_COLORS')
+ self.game.changed = True
+ if random.random() > 0.9999:
+ if self.standing:
+ self.weariness += 1
+ if self.weariness % 5 == 0:
+ self.send_msg('CHAT "All that walking or standing makes '
+ 'you weary, and thereby slower. Find a place '
+ 'to sit or lie down to regain energy."')
+ elif self.weariness > 0:
+ self.weariness -= 1
+ self.game.changed = True
+