def on_die(self): pos = self.owner.get(Position) corpse = Entity( Renderable(random.choice(corpse_texes)), Description('%s\'s corpse' % get_name(self.owner)), Position(pos.x, pos.y, Position.ORDER_FLOOR + 1), ) self.owner.level.add_entity(corpse) self.owner.level.remove_entity(self.owner)
def _update_hud(self, *args): item_names = [] for item in self._player.get(Inventory).items: name = get_name(item) item_component = item.get(Item) if item_component.quantity > 1: name += ' (%d)' % item_component.quantity item_names.append(name) inventory = ', '.join(item_names) or 'nothing' fighter = self._player.get(Fighter) health = self._player.get(Health) text = 'HP: %d/%d, ATK: %d, DEF: %d (INV: %s)' % (health.health, health.max_health, fighter.attack, fighter.defense, inventory) self._label.text = text
def _update_hud(self, *args): item_names = [] for item in self._player.get(Inventory).items: name = get_name(item) item_component = item.get(Item) if item_component.quantity > 1: name += ' (%d)' % item_component.quantity item_names.append(name) inventory = ', '.join(item_names) or 'nothing' fighter = self._player.get(Fighter) health = self._player.get(Health) text = 'HP: %d/%d, ATK: %d, DEF: %d (INV: %s)' % ( health.health, health.max_health, fighter.attack, fighter.defense, inventory) self._label.text = text
def on_pickup(self, item): if item: self.message('Picked up %d %s' % (item.get(Item).quantity, get_name(item))) else: self.message('Nothing to pickup here')
def on_drop(self, item): if item: self.message('Dropped up %s' % get_name(item)) else: self.message('Nothing to drop')
def on_bump(self, entity): self.message('You bump into %s' % get_name(entity))
def on_kill(self, target): self.message('%s dies' % get_name(target))
def on_do_damage(self, damage, target): self.message('You hit %s for %d hp' % (get_name(target), damage))
def on_take_damage(self, damage, source): self.message('%s hits you for %d hp' % (get_name(source), damage))