Exemplo n.º 1
0
    def equip_object(self, obj):
        """
        Equip an object.
        """
        if not obj.location == self:
            self.msg({"alert": "You do not have that equipment."})
            return False

        type = obj.type
        position = obj.position
        career = ""

        if not EQUIP_TYPE_HANDLER.can_equip(type, career):
            self.msg({"alert": "Can not equip that equipment."})
            return False

        # take off old equipment
        if self.db.equipments[position]:
            dbref = self.db.equipments[position]

            for content in self.contents:
                if content.dbref == dbref:
                    content.equipped = False

        # put on new equipment
        self.db.equipments[position] = obj.dbref
        obj.equipped = True

        # reset character's attributes
        self.refresh_data()

        return True
Exemplo n.º 2
0
    def equip_object(self, obj):
        """
        Equip an object.
        """
        if not obj.location == self:
            self.msg({"alert":"You do not have that equipment."})
            return

        type = obj.type
        position = obj.position
        career = ""

        if not EQUIP_TYPE_HANDLER.can_equip(type, career):
            self.msg({"alert":"Can not equip that equipment."})
            return

        # take off old equipment
        if self.db.equipments[position]:
            dbref = self.db.equipments[position]
            
            for content in self.contents:
                if content.dbref == dbref:
                    content.equipped = False

        # put on new equipment
        self.db.equipments[position] = obj.dbref
        obj.equipped = True

        # reset character's attributes
        self.refresh_data()
Exemplo n.º 3
0
    def equip_object(self, obj):
        """
        Equip an object.
        args: obj(object): the equipment object.
        """
        if obj.location != self:
            raise MudderyError(LS("Can not find this equipment."))

        type = obj.type
        position = obj.position
        career = ""

        if not position in settings.EQUIP_POSITIONS:
            raise MudderyError(LS("Can not equip it on this position."))

        if not EQUIP_TYPE_HANDLER.can_equip(type, career):
            raise MudderyError(LS("Can not use this equipment."))

        # Take off old equipment
        if position in self.db.equipments:
            if self.db.equipments[position]:
                dbref = self.db.equipments[position]

                for content in self.contents:
                    if content.dbref == dbref:
                        content.equipped = False

        # Put on new equipment, store object's dbref.
        self.db.equipments[position] = obj.dbref

        # Set object's attribute 'equipped' to True
        obj.equipped = True

        # reset character's attributes
        self.refresh_data()

        message = {
            "status": self.return_status(),
            "equipments": self.return_equipments(),
            "inventory": self.return_inventory(),
        }
        self.msg(message)

        return
Exemplo n.º 4
0
    def equip_object(self, obj):
        """
        Equip an object.
        args: obj(object): the equipment object.
        """
        if obj.location != self:
            raise MudderyError(_("Can not find this equipment."))

        type = obj.type
        position = obj.position

        if position not in self.db.equipments:
            raise MudderyError(_("Can not equip it on this position."))

        if not EQUIP_TYPE_HANDLER.can_equip(self.db.career, type):
            raise MudderyError(_("Can not use this equipment."))

        # Take off old equipment
        if self.db.equipments[position]:
            dbref = self.db.equipments[position]

            for content in self.contents:
                if content.dbref == dbref:
                    content.equipped = False

        # Put on new equipment, store object's dbref.
        self.db.equipments[position] = obj.dbref

        # Set object's attribute 'equipped' to True
        obj.equipped = True

        # reset character's attributes
        self.refresh_properties()

        message = {
            "status": self.return_status(),
            "equipments": self.return_equipments(),
            "inventory": self.return_inventory()
        }
        self.msg(message)

        return