home · contact · privacy
Improve feedback on negative energy, and invert it at <100.
authorChristian Heller <c.heller@plomlompom.de>
Mon, 28 Dec 2020 09:03:47 +0000 (10:03 +0100)
committerChristian Heller <c.heller@plomlompom.de>
Mon, 28 Dec 2020 09:03:47 +0000 (10:03 +0100)
plomrogue/things.py

index ca9dcb16a895baa1550eec3e5ba1616a0b7b2e46..db4a4322d442c086a7109660f8704e1ef4a73419 100644 (file)
@@ -570,6 +570,9 @@ class ThingAnimate(Thing):
             task = self.next_task[0]
             self.next_task = [None]
             task.check()
+            if 1000 * random.random() < -self.energy:
+                self.send_msg('CHAT "You movements are slowed down '
+                              'due to your low energy."')
             task.todo += max(0, -self.energy * 10)
             return task
 
@@ -725,10 +728,16 @@ class Thing_Player(ThingAnimate):
                 self.energy -= 1
             else:
                 self.energy += 1
-            if self.energy < 0 and self.standing and self.energy % 5 == 0:
+            if self.energy <= 0 and self.standing and self.energy % 10 == 0:
                     self.send_msg('CHAT "All that walking or standing uses up '
-                                  'your energy, which makes you slower.  Find a'
+                                  'your energy, which slows you down.  Find a'
                                   ' place to sit or lie down to regain it."')
+            if self.energy < -100:
+                self.send_msg('CHAT "Due to low energy, you collapse on the '
+                              'floor. Somebody calls an ambulance. You remember '
+                              'little of what happens afterwards. You end up '
+                              'back here, pumped full with stimulants."')
+                self.energy = 100
             self.game.changed = True
         if self.dancing and random.random() > 0.99 and not self.next_task[0]:
             self.dancing -= 1