home · contact · privacy
Add bottle spinning.
[plomrogue2] / plomrogue / tasks.py
index d8d118a78108eb9fce1cad108816ac8509c8dd94..1e6737b64671188b967e42210a6fda8f73b7e3c9 100644 (file)
@@ -1,4 +1,5 @@
 from plomrogue.errors import PlayError, GameError
+from plomrogue.misc import quote
 
 
 
@@ -190,7 +191,6 @@ class Task_COMMAND(Task):
             raise PlayError('cannot command this item type')
 
     def do(self):
-        from plomrogue.misc import quote
         reply_lines = self.thing.carrying.interpret(self.args[0])
         for line in reply_lines:
             self.thing.send_msg('REPLY ' + quote(line))
@@ -249,8 +249,20 @@ class Task_WEAR(Task):
                 remixer.accept(t)
                 break
         else:
-            from plomrogue.misc import quote
             self.thing.game.hats[self.thing.name] = self.thing.carrying.design
             self.thing.game.remove_thing(self.thing.carrying)
             self.thing.carrying = None
             self.thing.send_msg('CHAT "You put on a hat."')
+
+
+
+class Task_SPIN(Task):
+
+    def check(self):
+        if not self.thing.carrying:
+            raise PlayError('holding nothing to spin')
+        if not hasattr(self.thing.carrying, 'spinnable'):
+            raise PlayError('held object not spinnable')
+
+    def do(self):
+        self.thing.carrying.spin()