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)
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))
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)