X-Git-Url: https://plomlompom.com/repos/%7B%7Bdb.prefix%7D%7D/calendar?a=blobdiff_plain;f=new%2Fplomrogue%2Fthings.py;h=9bc84907bb757fe0251b47ca7808f1d64cebe4a2;hb=76d1e8d03aea96af9339c0021922ac314c0c2a5c;hp=243547b2ffb854b330fcb998a27882d8ecda2ef9;hpb=c7ed14237418f807473b11e49f17a878ff344f97;p=plomrogue2-experiments diff --git a/new/plomrogue/things.py b/new/plomrogue/things.py index 243547b..9bc8490 100644 --- a/new/plomrogue/things.py +++ b/new/plomrogue/things.py @@ -17,6 +17,11 @@ class ThingBase: class Thing(ThingBase): blocking = False + in_inventory = False + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.inventory = [] def proceed(self): pass @@ -58,7 +63,7 @@ class ThingAnimate(Thing): neighbors = dijkstra_map.get_neighbors(tuple(self.position)) n = n_max target_direction = None - for direction in neighbors: + for direction in sorted(neighbors.keys()): yx = neighbors[direction] if yx is not None: n_new = dijkstra_map[yx] @@ -140,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