X-Git-Url: https://plomlompom.com/repos/%7B%7B%20web_path%20%7D%7D/decks/%7B%7Bdeck_id%7D%7D/cards/%7B%7B%20card_id%20%7D%7D/delete?a=blobdiff_plain;f=plomrogue%2Ftasks.py;h=0bc0d9cf23c30c29e0b675f20ba0c77f0debe59f;hb=e5a83f8987647c3c239e48d5bc1ff939ce531544;hp=8b831313c9d69a14f5b92b9f81273a13274e27b3;hpb=a0937c1f3712d61831911075c7dacedcb616a261;p=plomrogue2 diff --git a/plomrogue/tasks.py b/plomrogue/tasks.py index 8b83131..0bc0d9c 100644 --- a/plomrogue/tasks.py +++ b/plomrogue/tasks.py @@ -139,4 +139,22 @@ class Task_INTOXICATE(Task): if self.thing.game.sessions[c_id]['thing_id'] == self.thing.id_: self.thing.game.io.send('RANDOM_COLORS', c_id) self.thing.game.io.send('CHAT "You are drunk now."', c_id) + break self.thing.drunk = 10000 + + +class Task_COMMAND(Task): + argtypes = 'string' + + def check(self): + if self.thing.carrying is None: + raise PlayError('nothing to command') + if not self.thing.carrying.commandable: + raise PlayError('cannot command this item type') + + def do(self): + from plomrogue.misc import quote + reply = self.thing.carrying.interpret(self.args[0]) + for c_id in self.thing.game.sessions: + if self.thing.game.sessions[c_id]['thing_id'] == self.thing.id_: + self.thing.game.io.send('REPLY ' + quote(reply), c_id)