- from plomrogue.misc import quote
- self.thing.game.hats[self.thing.name] = self.thing.carrying.design
- self.thing.game.things.remove(self.thing.carrying)
- self.thing.carrying = None
- self.thing.send_msg('CHAT "You put on a hat."')
+ if self.thing.carrying.type_ == 'Bottle':
+ self.thing.send_msg('CHAT "Your attempt to wear a bottle on '
+ 'your head fails."')
+ self.thing.carrying.sound('BOTTLE', 'SMASH')
+ elif self.thing.carrying.type_ == 'Hat':
+ self.thing.game.hats[self.thing.name] =\
+ self.thing.carrying.design
+ self.thing.send_msg('CHAT "You put on a hat."')
+ dropped = self.thing.uncarry()
+ self.thing.game.remove_thing(dropped)
+ self.thing.game.record_change(self.thing.position, 'other')
+
+
+
+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()
+ self.thing.send_msg('CHAT "You spin this object."')