#!/usr/bin/env python from commands.command import Command from evennia import CmdSet from evennia.utils import logger class CmdTake(Command): """ Steals an object from another. Added to the default_cmdsets. """ key = "take" aliases = ["remove"] # only allow this command if command.obj is carried by caller. # locks = "cmd:holds()" def func(self): """ Implements the take command. Since this command is designed to work on the object, we operate only on self.obj. """ # logger.log_info(f"Dealing with {self.caller.key}") self.caller.do_take(self.args) class CmdKnock(Command): """ The ability to knock on something, like a door. While it would be great if it could be attached to a door or some other exit, we need to attach this to the room. """ key = "knock" def func(self): logger.log_info(f"Seems like {self.caller.key} wants to knock on me.") self.obj.do_knock(self.caller) class CmdSetKnock(CmdSet): def at_cmdset_creation(self): self.add(CmdKnock)