X-Git-Url: https://plomlompom.com/repos/feed.xml?a=blobdiff_plain;f=plomrogue%2Fthings.py;h=fe7d57ef3229265ab50ebb64465b6d48b6631a13;hb=9316d59ddce7a7b8ee70d2b4e111330f1a691e37;hp=0edf8fbed42a83363ad43d0012a4a1f74cd37685;hpb=7385c037c0acb54c06fc7919b5b85548c09f8d65;p=plomrogue2 diff --git a/plomrogue/things.py b/plomrogue/things.py index 0edf8fb..fe7d57e 100644 --- a/plomrogue/things.py +++ b/plomrogue/things.py @@ -18,6 +18,8 @@ class ThingBase: class Thing(ThingBase): blocking = False + portable = False + protection = '.' def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -37,6 +39,38 @@ class Thing(ThingBase): class Thing_Item(Thing): symbol_hint = 'i' + portable = True + + + +class ThingSpawner(Thing): + symbol_hint = 'S' + + def proceed(self): + for t in [t for t in self.game.things + if t != self and t.position == self.position]: + return + t = self.game.thing_types[self.child_type](self.game, + position=self.position) + self.game.things += [t] + self.game.changed = True + + + +class Thing_ItemSpawner(ThingSpawner): + child_type = 'Item' + + + +class Thing_SpawnPointSpawner(ThingSpawner): + child_type = 'SpawnPoint' + + + +class Thing_SpawnPoint(Thing): + symbol_hint = 's' + portable = True + name = ' '