Mercurial > rinkhals
diff gamelib/animal.py @ 158:baf857805867
armour works now
author | Adrianna Pińska <adrianna.pinska@gmail.com> |
---|---|
date | Thu, 03 Sep 2009 21:50:49 +0000 |
parents | 2a1064fae608 |
children | 9b4213f6ea7f |
line wrap: on
line diff
--- a/gamelib/animal.py Thu Sep 03 21:45:57 2009 +0000 +++ b/gamelib/animal.py Thu Sep 03 21:50:49 2009 +0000 @@ -27,6 +27,7 @@ self.equipment = [] self.abode = None self.facing = 'left' + self.lives = 1 def loop(self, tv, _sprite): ppos = tv.tile_to_view(self.pos.to_tuple()) @@ -60,6 +61,13 @@ def equip(self, item): self.equipment.append(item) + self.draw_equipment(item) + if not equipment.is_weapon(item): + # redraw weapons on top + for weapon in self.weapons(): + self.draw_equipment(weapon) + + def draw_equipment(self, item): if not hasattr(self, 'EQUIPMENT_IMAGE_ATTRIBUTE'): return eq_image_attr = getattr(item, self.EQUIPMENT_IMAGE_ATTRIBUTE, 'None') @@ -271,9 +279,11 @@ def _catch_chicken(self, chicken, gameboard): """Catch a chicken""" - sound.play_sound("kill-chicken.ogg") + chicken.lives -= 1 + if not chicken.lives > 0: + sound.play_sound("kill-chicken.ogg") + gameboard.remove_chicken(chicken) self.closest = None - gameboard.remove_chicken(chicken) self.hunting = False self.last_steps = [] # Forget history here