diff gamelib/animal.py @ 200:67d10f7e0159

selected chickens are selected
author Adrianna Pińska <adrianna.pinska@gmail.com>
date Fri, 04 Sep 2009 19:51:19 +0000
parents 696936621a93
children fe1e9c18d4d7
line wrap: on
line diff
--- a/gamelib/animal.py	Fri Sep 04 19:49:30 2009 +0000
+++ b/gamelib/animal.py	Fri Sep 04 19:51:19 2009 +0000
@@ -65,13 +65,25 @@
             self.setimage(self.image_right)
 
     def equip(self, item):
-        self.equipment.append(item)
+        if equipment.is_equipment(item):
+            self.equipment.append(item)
+        elif equipment.is_accoutrement(item):
+            self.accoutrements.append(item)
         self.redraw()
 
     def unequip(self, item):
-        self.equipment = [e for e in self.equipment if e != item]
+        if equipment.is_equipment(item):
+            self.equipment = [e for e in self.equipment if e != item]
+        elif equipment.is_accoutrement(item):
+            self.accoutrements = [e for e in self.accoutrements if e != item]
         self.redraw()
 
+    def unequip_by_name(self, item_name):
+        # only remove first match
+        matches = [item for item in self.equipment + self.accoutrements if item.NAME == item_name]
+        if matches:
+            self.unequip(matches[0])
+
     def redraw(self):
         layers = [(self._image_left.copy(), self._image_right.copy(), 0)]
         if hasattr(self, 'EQUIPMENT_IMAGE_ATTRIBUTE'):