home · contact · privacy
Use temporary SpawnPoints to store logged-out players' positions for up to ten minutes.
[plomrogue2] / plomrogue / things.py
index 1d9a4d021cc50425ae680584db3a570557fb1aa4..2c3f540443b46fbca6b4aee5170619d53d287d59 100644 (file)
@@ -148,6 +148,17 @@ class Thing_SpawnPoint(Thing):
     symbol_hint = 's'
     portable = True
     name = 'username'
+    temporary = False
+
+    def __init__(self, *args, **kwargs):
+        super().__init__(*args, **kwargs)
+        self.created_at = datetime.datetime.now()
+
+    def proceed(self):
+        super().proceed()
+        if self.temporary and datetime.datetime.now() >\
+           self.created_at + datetime.timedelta(minutes=10):
+            self.game.remove_thing(self)
 
 
 
@@ -681,7 +692,7 @@ class Thing_Player(ThingAnimate):
                 self.energy -= 1
             else:
                 self.energy += 1
-            if self.energy < 0 and self.energy % 5 == 0:
+            if self.energy < 0 and self.standing and self.energy % 5 == 0:
                     self.send_msg('CHAT "All that walking or standing uses up '
                                   'your energy, which makes you slower.  Find a'
                                   ' place to sit or lie down to regain it."')