X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=new%2Fplomrogue%2Fthings.py;h=5ef429754c41373dbf9a9b986de63ef88e684303;hb=599f48bd1d9270cf154e885cf276adb05727507a;hp=386dbc4522071e059cb80b73647c80d289053ee3;hpb=d33b918833cc762029abf5ca0b6930e16f91e8da;p=plomrogue2-experiments diff --git a/new/plomrogue/things.py b/new/plomrogue/things.py index 386dbc4..5ef4297 100644 --- a/new/plomrogue/things.py +++ b/new/plomrogue/things.py @@ -5,15 +5,23 @@ from plomrogue.errors import GameError class ThingBase: type_ = '?' - def __init__(self, world, id_, position=[0,0]): + def __init__(self, world, id_=None, position=[0,0]): self.world = world - self.id_ = id_ self.position = position + if id_ is None: + self.id_ = self.world.new_thing_id() + else: + self.id_ = id_ class Thing(ThingBase): blocking = False + in_inventory = False + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.inventory = [] def proceed(self): pass @@ -137,7 +145,7 @@ class ThingAnimate(Thing): stencil = self.get_stencil() visible_things = [] for thing in self.world.things: - if stencil[thing.position] == '.': + if (not thing.in_inventory) and stencil[thing.position] == '.': visible_things += [thing] return visible_things