comparison gamelib/scenes/engine.py @ 495:ee5f6f24c41e

Don't pick up broken superconductor
author Stefano Rivera <stefano@rivera.za.net>
date Sun, 29 Aug 2010 21:26:24 +0200
parents 7ae663c687ed
children 8dcefc82801c
comparison
equal deleted inserted replaced
494:7ae663c687ed 495:ee5f6f24c41e
22 22
23 def __init__(self, state): 23 def __init__(self, state):
24 super(Engine, self).__init__(state) 24 super(Engine, self).__init__(state)
25 self.add_item(CanOpener('canopener')) 25 self.add_item(CanOpener('canopener'))
26 self.add_thing(CanOpenerThing()) 26 self.add_thing(CanOpenerThing())
27 self.add_item(BrokenSuperconductor('superconductor_broken'))
28 self.add_thing(SuperconductorSocket()) 27 self.add_thing(SuperconductorSocket())
29 self.add_thing(PowerLines()) 28 self.add_thing(PowerLines())
30 self.add_thing(CryoContainers()) 29 self.add_thing(CryoContainers())
31 self.add_thing(CryoContainerReceptacle()) 30 self.add_thing(CryoContainerReceptacle())
32 self.add_thing(CoolingPipes()) 31 self.add_thing(CoolingPipes())
175 self.scene.remove_thing(self) 174 self.scene.remove_thing(self)
176 return Result("You pick up the can opener. It looks brand new; " 175 return Result("You pick up the can opener. It looks brand new; "
177 "the vacuum has kept it in perfect condition.") 176 "the vacuum has kept it in perfect condition.")
178 177
179 178
180 class BrokenSuperconductor(Item):
181 INVENTORY_IMAGE = 'superconductor_broken.png'
182 CURSOR = CursorSprite('superconductor_broken_cursor.png')
183
184
185 class SuperconductorSocket(Thing): 179 class SuperconductorSocket(Thing):
186 NAME = 'engine.superconductor' 180 NAME = 'engine.superconductor'
187 181
188 INTERACTS = { 182 INTERACTS = {
189 'broken': InteractImage(553, 260, 'superconductor_broken.png'), 183 'broken': InteractImage(553, 260, 'superconductor_broken.png'),
214 208
215 def interact_with_machete(self, item): 209 def interact_with_machete(self, item):
216 if self.get_data('present') and not self.get_data('working'): 210 if self.get_data('present') and not self.get_data('working'):
217 self.set_interact('removed') 211 self.set_interact('removed')
218 self.set_data('present', False) 212 self.set_data('present', False)
219 self.state.add_inventory_item('superconductor_broken') 213 return Result("With leverage, the burned-out superconductor snaps out. "
220 return Result("With leverage, the burned-out superconductor snaps out.") 214 "You discard it.")
221 215
222 def interact_with_superconductor(self, item): 216 def interact_with_superconductor(self, item):
223 if self.get_data('present'): 217 if self.get_data('present'):
224 return Result("It might help to remove the broken superconductor first") 218 return Result("It might help to remove the broken superconductor first")
225 else: 219 else: