home
·
contact
·
privacy
projects
/
plomrogue2
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Replace client TURN line with frequently updated toilet need stat.
[plomrogue2]
/
plomrogue
/
things.py
diff --git
a/plomrogue/things.py
b/plomrogue/things.py
index dd14db5b657352c16d2a0db0adc1e175db4a2b53..3686ab0c2a2b78f41e024a5f9c8ef14958fc285d 100644
(file)
--- a/
plomrogue/things.py
+++ b/
plomrogue/things.py
@@
-127,8
+127,8
@@
class ThingSpawner(Thing):
def proceed(self):
for t in [t for t in self.game.things
if t != self and t.position == self.position]:
def proceed(self):
for t in [t for t in self.game.things
if t != self and t.position == self.position]:
- return
- self.game.add_thing(self.child_type, self.position)
+ return
None
+
return
self.game.add_thing(self.child_type, self.position)
@@
-164,16
+164,31
@@
class ThingInstallable(Thing):
class Thing_DoorSpawner(ThingSpawner):
child_type = 'Door'
class Thing_DoorSpawner(ThingSpawner):
child_type = 'Door'
+ def proceed(self):
+ door = super().proceed()
+ if door:
+ key = self.game.add_thing('DoorKey', self.position)
+ key.door = door
+
+
+
+class Thing_DoorKey(Thing):
+ portable = True
+ symbol_hint = 'k'
+
+
class Thing_Door(ThingInstallable):
symbol_hint = 'D'
blocks_movement = False
class Thing_Door(ThingInstallable):
symbol_hint = 'D'
blocks_movement = False
+ locked = False
def open(self):
self.blocks_movement = False
self.blocks_light = False
self.blocks_sound = False
def open(self):
self.blocks_movement = False
self.blocks_light = False
self.blocks_sound = False
+ self.locked = False
del self.thing_char
def close(self):
del self.thing_char
def close(self):
@@
-182,6
+197,10
@@
class Thing_Door(ThingInstallable):
self.blocks_sound = True
self.thing_char = '#'
self.blocks_sound = True
self.thing_char = '#'
+ def lock(self):
+ self.locked = True
+ self.thing_char = 'L'
+
class Thing_Psychedelic(Thing):
class Thing_Psychedelic(Thing):
@@
-433,7
+452,6
@@
class Thing_CookieSpawner(Thing):
class ThingAnimate(Thing):
class ThingAnimate(Thing):
- blocks_movement = True
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
@@
-626,6
+644,9
@@
class Thing_Player(ThingAnimate):
self.game.players_hat_chars[self.name] += c
def get_cookie_chars(self):
self.game.players_hat_chars[self.name] += c
def get_cookie_chars(self):
+ chars = ' #' # default
if self.name in self.game.players_hat_chars:
if self.name in self.game.players_hat_chars:
- return self.game.players_hat_chars[self.name]
- return ' #' # default
+ chars = self.game.players_hat_chars[self.name]
+ chars_split = list(chars)
+ chars_split.sort()
+ return ''.join(chars_split)