comparison gamelib/gameboard.py @ 219:0a84d5aedc5c

Remove eggs from chickens placed outside. Fix some bugs with setting the correct image on buttons
author Neil Muller <drnlmuller@gmail.com>
date Fri, 04 Sep 2009 22:18:23 +0000
parents 5cb0e0b9cd16
children d46ae64240a1
comparison
equal deleted inserted replaced
218:5cb0e0b9cd16 219:0a84d5aedc5c
330 if len(self.chickens) == 1: 330 if len(self.chickens) == 1:
331 print "You can't sell your last chicken!" 331 print "You can't sell your last chicken!"
332 return False 332 return False
333 self.add_cash(constants.SELL_PRICE_CHICKEN) 333 self.add_cash(constants.SELL_PRICE_CHICKEN)
334 sound.play_sound("sell-chicken.ogg") 334 sound.play_sound("sell-chicken.ogg")
335 self.remove_chicken(chicken)
336 return True 335 return True
337 336
338 chick = self.get_outside_chicken(tile_pos) 337 chick = self.get_outside_chicken(tile_pos)
339 if chick is None: 338 if chick is None:
340 building = self.get_building(tile_pos) 339 building = self.get_building(tile_pos)
399 return 398 return
400 if self.tv.get(tile_pos) == self.GRASSLAND: 399 if self.tv.get(tile_pos) == self.GRASSLAND:
401 if self.animal_to_place is not None: 400 if self.animal_to_place is not None:
402 self.animal_to_place.unequip_by_name("nest") 401 self.animal_to_place.unequip_by_name("nest")
403 self.relocate_animal(self.animal_to_place, tile_pos=tile_pos) 402 self.relocate_animal(self.animal_to_place, tile_pos=tile_pos)
403 if self.animal_to_place.egg:
404 self.animal_to_place.remove_egg()
405 self.eggs -= 1
406 self.toolbar.update_egg_counter(self.eggs)
404 407
405 def relocate_animal(self, chicken, tile_pos=None, place=None): 408 def relocate_animal(self, chicken, tile_pos=None, place=None):
406 assert((tile_pos, place) != (None, None)) 409 assert((tile_pos, place) != (None, None))
407 if chicken.abode is not None: 410 if chicken.abode is not None:
408 chicken.abode.clear_occupant() 411 chicken.abode.clear_occupant()
474 else: 477 else:
475 # Attempt to sell the occupant 478 # Attempt to sell the occupant
476 if sell_callback(place.occupant): 479 if sell_callback(place.occupant):
477 # empty the nest (on button) 480 # empty the nest (on button)
478 update_button(place.occupant, empty=True) 481 update_button(place.occupant, empty=True)
482 self.remove_chicken(place.occupant)
479 else: 483 else:
480 # Update for equipment changes, etc. 484 # Update for equipment changes, etc.
481 update_button(place.occupant) 485 update_button(place.occupant)
482 else: 486 else:
483 # there is no occupant, attempt to fill the space 487 # there is no occupant, attempt to fill the space
689 if new_chick: 693 if new_chick:
690 self.eggs -= 1 694 self.eggs -= 1
691 try: 695 try:
692 building.add_occupant(new_chick) 696 building.add_occupant(new_chick)
693 self.add_chicken(new_chick) 697 self.add_chicken(new_chick)
698 new_chick.equip(equipment.Nest())
694 except buildings.BuildingFullError: 699 except buildings.BuildingFullError:
695 print "Building full." 700 print "Building full."
696 self.toolbar.update_egg_counter(self.eggs) 701 self.toolbar.update_egg_counter(self.eggs)
697 702
698 def kill_fox(self, fox): 703 def kill_fox(self, fox):