Exemplo n.º 1
0
 def use_item(self, item):
     """
     Use item in different ways, depending on the item
     """
     if is_potion(item) and is_drinking_legal(self.character, item):
         drink(self.character,
               item)
     elif is_weapon(item):
         if self.character.inventory.weapon is not None:
             unequip(self.character,
                     self.character.inventory.weapon)
         equip(self.character,
               item)
     elif is_armour(item):
         if self.character.inventory.armour is not None:
             unequip(self.character,
                     self.character.inventory.armour)
         equip(self.character,
               item)
     elif is_boots(item):
         if self.character.inventory.boots is not None:
             unequip(self.character,
                     self.character.inventory.boots)
         equip(self.character,
               item)
     elif is_ammunition(item):
         equip(self.character,
               item)
     elif is_trap_bag(item):
         place_trap(self.character,
                    item)
Exemplo n.º 2
0
 def execute(self):
     """
     Executes this action
     """
     if is_armour(self.item):
         self.character.inventory.armour = self.item
         self.character.raise_event(new_equip_event(self.character,
                                                    self.item))
     if is_weapon(self.item):
         self.character.inventory.weapon = self.item
         self.character.raise_event(new_equip_event(self.character,
                                                    self.item))
     if is_ammunition(self.item):
         self.character.inventory.projectiles = self.item
         self.character.raise_event(new_equip_event(self.character,
                                                    self.item))
     elif is_boots(self.item):
         self.character.inventory.boots = self.item
         self.character.raise_event(new_equip_event(self.character,
                                                    self.item))
Exemplo n.º 3
0
 def execute(self):
     """
     Executes this action
     """
     if is_armour(self.item):
         self.character.inventory.armour = self.item
         self.character.raise_event(new_equip_event(self.character,
                                                    self.item))
     if is_weapon(self.item):
         self.character.inventory.weapon = self.item
         self.character.raise_event(new_equip_event(self.character,
                                                    self.item))
     if is_ammunition(self.item):
         self.character.inventory.projectiles = self.item
         self.character.raise_event(new_equip_event(self.character,
                                                    self.item))
     elif is_boots(self.item):
         self.character.inventory.boots = self.item
         self.character.raise_event(new_equip_event(self.character,
                                                    self.item))
Exemplo n.º 4
0
    def set_item(self, item):
        """
        Set item to be displayed

        .. versionadded:: 0.6
        """
        self.item = item

        if item is not None:
            if is_ammunition(item):
                count = item.ammunition_data.count
            elif is_trap_bag(item):
                count = item.trap_data.count
            else:
                count = 1

            icon = self.surface_manager.get_icon(item.icon)

            if count != 1:
                image = icon.toImage()
                painter = QPainter(image)
                painter.setPen(Qt.white)
                font = QFont('Helvetica', 12, QFont.Bold, False)
                painter.setFont(font)
                painter.drawText(image.rect(),
                                 Qt.AlignBottom | Qt.AlignRight,
                                 str(count))
                icon = icon.fromImage(image)
                painter = None

            self.icon = icon
        else:
            if self.default_icon is None:
                self.icon = QPixmap(':transparent.png')
            else:
                self.icon = self.default_icon

        self.display.setPixmap(self.icon)
Exemplo n.º 5
0
    def set_item(self, item):
        """
        Set item to be displayed

        .. versionadded:: 0.6
        """
        self.item = item

        if item is not None:
            if is_ammunition(item):
                count = item.ammunition_data.count
            elif is_trap_bag(item):
                count = item.trap_data.count
            else:
                count = 1

            icon = self.surface_manager.get_icon(item.icon)

            if count != 1:
                image = icon.toImage()
                painter = QPainter(image)
                painter.setPen(Qt.white)
                font = QFont('Helvetica', 12, QFont.Bold, False)
                painter.setFont(font)
                painter.drawText(image.rect(), Qt.AlignBottom | Qt.AlignRight,
                                 str(count))
                icon = icon.fromImage(image)
                painter = None

            self.icon = icon
        else:
            if self.default_icon is None:
                self.icon = QPixmap(':transparent.png')
            else:
                self.icon = self.default_icon

        self.display.setPixmap(self.icon)