class CmdExtendedGet(default_cmds.CmdGet): """ pick up something Usage: get Picks up an object from your location and puts it in your inventory. """ key = "get" aliases = "grab" locks = "cmd:all()" def func(self): """implements the command.""" caller = self.caller if not self.args: caller.msg("Get what?") return result = caller.search(self.args, location=caller.location, quiet=True) if not result: caller.msg("{} not found".format(self.args)) return else: obj = result[0] if caller == obj: caller.msg("You can't get yourself.") return if not obj.access(caller, 'get'): if obj.db.get_err_msg: caller.msg(obj.db.get_err_msg) else: caller.msg("You can't get that.") return obj.move_to(caller, quiet=True) caller.msg("You pick up %s." % obj.name) caller.location.msg_contents("%s picks up %s." % (caller.name, obj.name), exclude=caller) # calling hook method obj.at_get(caller)