home · contact · privacy
Dynamically decide new Thing IDs.
[plomrogue2-experiments] / new / plomrogue / commands.py
index 6a27f80075afda9904262942d16023506dd51010..84985f63e1453d11dce6784aeacbd10e25360c02 100644 (file)
@@ -80,12 +80,13 @@ def cmd_SAVE(game):
             write(f, 'THING_TYPE %s %s' % (thing.id_, thing.type_))
             write(f, 'THING_POS %s %s' % (thing.id_,
                                           stringify_yx(thing.position)))
-            task = thing.task
-            if task is not None:
-                task_args = task.get_args_string()
-                task_name = [k for k in game.tasks.keys()
-                             if game.tasks[k] == task.__class__][0]
-                write(f, 'SET_TASK:%s %s %s %s' % (task_name, thing.id_,
-                                                   task.todo, task_args))
+            if hasattr(thing, 'task'):
+                task = thing.task
+                if task is not None:
+                    task_args = task.get_args_string()
+                    task_name = [k for k in game.tasks.keys()
+                                 if game.tasks[k] == task.__class__][0]
+                    write(f, 'SET_TASK:%s %s %s %s' % (task_name, thing.id_,
+                                                       task.todo, task_args))
         write(f, 'PLAYER_ID %s' % game.world.player_id)
 cmd_SAVE.dont_save = True