# HG changeset patch # User Jeremy Thurgood # Date 1282765321 -7200 # Node ID b1f4262139e7e00a317cda1413533fd6b008d005 # Parent 278774b31d3cfd0186be0c8475dc218aa34b5004 Only vend three cans. diff -r 278774b31d3c -r b1f4262139e7 gamelib/scenes/mess.py --- a/gamelib/scenes/mess.py Wed Aug 25 21:32:38 2010 +0200 +++ b/gamelib/scenes/mess.py Wed Aug 25 21:42:01 2010 +0200 @@ -17,8 +17,6 @@ def __init__(self, state): super(Mess, self).__init__(state) - self.add_item(EmptyCan("empty_can")) - self.add_item(FullCan("full_can")) self.add_item(TubeFragments("tube_fragments")) self.add_item(ReplacementTubes("replacement_tubes")) self.add_thing(CansOnShelf()) @@ -82,23 +80,23 @@ INITIAL = "cans" INITIAL_DATA = { - 'taken_one': False, + 'cans_vended': 0, } def interact_without(self): - can = FullCan("full_can") - self.state.add_item(can) - self.state.add_inventory_item(can.name) - if not self.data['taken_one']: - self.set_data('taken_one', True) - return Result("Best before along time in the past. Better not eat these.") + starting_cans = self.get_data('cans_vended') + if starting_cans < 3: + can = FullCan("full_can") + self.state.add_item(can) + self.state.add_inventory_item(can.name) + self.set_data('cans_vended', starting_cans + 1) + return Result({ + 0: "Best before along time in the past. Better not eat these.", + 1: "Mmmm. Nutritious Bacteria Stew.", + 2: "Candied silkworms. Who stocked this place!?", + }[starting_cans]) else: - return Result(choice(( - 'Another can of imitation chicken? Great.', - 'Mmmm. Nutritious Bacteria Stew.', - "The label has rusted off, I don't want to know what's inside.", - "I hope I don't get hungry enough to open these.", - ))) + return Result("The rest of the cans are rusted beyond usefulness.") def get_description(self): return "The contents of these cans looks synthetic."