X-Git-Url: https://plomlompom.com/repos/feed.xml?a=blobdiff_plain;f=plomrogue%2Fthings.py;h=2146c1a222f48a78b4e3abe9187e09aa86909ba2;hb=441cf8d41a223e9bcd702d4ccb41ae679e6fcae3;hp=4d319b9d21e0781b98d615d5d29f39e28392d2fd;hpb=6f5e2612e8d2b2515612e3dee6dc5ab115f0c1a3;p=plomrogue2 diff --git a/plomrogue/things.py b/plomrogue/things.py index 4d319b9..2146c1a 100644 --- a/plomrogue/things.py +++ b/plomrogue/things.py @@ -87,15 +87,29 @@ class Thing_Door(Thing): 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 Thing_Consumable(Thing): + symbol_hint = 'B' + portable = True + + + +class Thing_ConsumableSpawner(ThingSpawner): + child_type = 'Consumable' class ThingAnimate(Thing): blocking = True + drunk = 0 def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -121,11 +135,17 @@ class ThingAnimate(Thing): return None def proceed(self): + self.drunk -= 1 + if self.drunk == 0: + for c_id in self.game.sessions: + if self.game.sessions[c_id]['thing_id'] == self.id_: + self.game.io.send('DEFAULT_COLORS', c_id) + self.game.io.send('CHAT "You sober up."', c_id) + self.game.changed = True self._fov = None if self.task is None: self.task = self.get_next_task() return - try: self.task.check() except GameError as e: