comparison gamelib/scenes/engine.py @ 327:67e8a547970b

More engine room descs
author Stefano Rivera <stefano@rivera.za.net>
date Sat, 28 Aug 2010 13:56:22 +0200
parents 5031b84fbb4c
children b61dccc7fb42
comparison
equal deleted inserted replaced
326:bd649aa51472 327:67e8a547970b
20 super(Engine, self).__init__(state) 20 super(Engine, self).__init__(state)
21 self.add_item(CanOpener('canopener')) 21 self.add_item(CanOpener('canopener'))
22 self.add_thing(CanOpenerThing()) 22 self.add_thing(CanOpenerThing())
23 self.add_item(BrokenSuperconductor('superconductor_broken')) 23 self.add_item(BrokenSuperconductor('superconductor_broken'))
24 self.add_thing(SuperconductorSocket()) 24 self.add_thing(SuperconductorSocket())
25 self.add_thing(PowerLines())
26 self.add_thing(CryoContainers())
27 self.add_thing(CryoContainerReceptacle())
28 self.add_thing(CoolingPipes())
25 self.add_thing(ToMap()) 29 self.add_thing(ToMap())
26 self.add_thing(GenericDescThing('engine.body', 1, 30 self.add_thing(GenericDescThing('engine.body', 1,
27 "Dead. He must have suffocated in the vacuum.", 31 "Dead. I think those cans were passed their sell-by date.",
28 ( 32 (
29 (594, 387, 45, 109), 33 (594, 387, 45, 109),
30 (549, 475, 60, 55), 34 (549, 479, 60, 55),
31 ) 35 )
32 )) 36 ))
33 self.add_thing(GenericDescThing('engine.controlpanel', 1, 37 self.add_thing(GenericDescThing('engine.controlpanel', 2,
34 "A control panel. It seems dead.", 38 "A control panel. It seems dead.",
35 ( 39 (
36 (513, 330, 58, 50), 40 (513, 330, 58, 50),
37 ) 41 )
38 )) 42 ))
39 self.add_thing(GenericDescThing('engine.computer_console', 1, 43 self.add_thing(GenericDescThing('engine.computer_console', 3,
40 "A computer console. It seems dead", 44 "A computer console. It seems dead",
41 ( 45 (
42 (293, 287, 39, 36), 46 (293, 287, 39, 36),
43 ) 47 )
44 )) 48 ))
45 self.add_thing(GenericDescThing('engine.superconductors', 1, 49 self.add_thing(GenericDescThing('engine.superconductors', 4,
46 "Superconductors. The engines must be power hogs.", 50 "Superconductors. The engines must be power hogs.",
47 ( 51 (
48 (679, 246, 50, 56), 52 (679, 246, 50, 56),
49 (473, 277, 28, 23), 53 (473, 280, 28, 23),
50 (381, 224, 26, 22), 54 (381, 224, 25, 22),
51 ) 55 )
52 )) 56 ))
53 self.add_thing(GenericDescThing('engine.floor_hole', 1, 57 self.add_thing(GenericDescThing('engine.floor_hole', 5,
54 "A gaping hole in the floor of the room. I'm guessing that's why there's a vacuum in here.", 58 "A gaping hole in the floor of the room. I'm guessing that's why there's a vacuum in here.",
55 ( 59 (
56 (257, 493, 141, 55), 60 (257, 493, 141, 55),
57 (301, 450, 95, 45), 61 (301, 450, 95, 45),
58 (377, 422, 19, 29), 62 (377, 422, 19, 29),
59 (239, 547, 123, 39), 63 (239, 547, 123, 39),
60 ) 64 )
61 )) 65 ))
62 self.add_thing(GenericDescThing('engine.cryo_containers', 1, 66 self.add_thing(GenericDescThing('engine.empty_cans', 7,
63 "Those are cryo-fluid containers. They look empty", 67 "Empty Chocolate-Covered-Bacon Cans? Poor guy, he must have found them unresistable.",
64 (
65 (129, 246, 135, 160),
66 )
67 ))
68 self.add_thing(GenericDescThing('engine.empty_cans', 1,
69 "Empty Chocolate-Covered-Bacon Cans? He must have got in early",
70 ( 68 (
71 (562, 422, 30, 31), 69 (562, 422, 30, 31),
72 ) 70 )
73 )) 71 ))
74 self.add_thing(GenericDescThing('engine.engines', 1, 72 self.add_thing(GenericDescThing('engine.engines', 8,
75 "The engines. They don't look like they are working.", 73 "The engines. They don't look like they are working.",
76 ( 74 (
77 (342, 261, 109, 81), 75 (342, 261, 109, 81),
78 ) 76 )
79 )) 77 ))
80 self.add_thing(GenericDescThing('engine.laser_cutter', 1, 78 self.add_thing(GenericDescThing('engine.laser_cutter', 9,
81 "A burned out laser cutter. It may be responsible for the hole in the floor.", 79 "A burned out laser cutter. It may be responsible for the hole in the floor.",
82 ( 80 (
83 (120, 466, 115, 67), 81 (120, 466, 115, 67),
84 ) 82 )
85 )) 83 ))
86 self.add_thing(GenericDescThing('engine.spare_fuel_line', 1, 84 self.add_thing(GenericDescThing('engine.fuel_lines', 10,
85 "The main fuel line for the engines.",
86 (
87 (220, 49, 59, 75),
88 (239, 84, 51, 66),
89 (271, 113, 28, 53),
90 (285, 132, 26, 50),
91 (299, 153, 22, 46),
92 (321, 172, 167, 25),
93 (308, 186, 36, 22),
94 (326, 217, 30, 13),
95 (336, 229, 28, 13),
96 (343, 239, 21, 14),
97 (446, 197, 33, 11),
98 (424, 240, 21, 20),
99 (418, 249, 19, 11),
100 (438, 217, 30, 11),
101 (435, 225, 18, 15),
102 )
103 ))
104 self.add_thing(GenericDescThing('engine.spare_fuel_line', 11,
87 "The spare fuel line. If something went wrong with the main one, you would hook that one up.", 105 "The spare fuel line. If something went wrong with the main one, you would hook that one up.",
88 ( 106 (
89 (512, 49, 68, 44), 107 (512, 49, 68, 44),
90 ) 108 )
91 )) 109 ))
92 110 self.add_thing(GenericDescThing('engine.danger_area', 12,
111 "The sign says DANGER. You would be wise to listen to it.",
112 (
113 (293, 343, 211, 46),
114 )
115 ))
116 self.add_thing(GenericDescThing('engine.exit_sign', 13,
117 "It's one of those glow-in-the-dark exit signs that you see everywhere",
118 (
119 (681, 322, 80, 33),
120 )
121 ))
93 122
94 def enter(self): 123 def enter(self):
95 return Result("You enter the engine room. Even if there wasn't a vacuum " 124 return Result("You enter the engine room. Even if there wasn't a vacuum "
96 "it would be errily quiet.") 125 "it would be errily quiet.")
97 126
172 return Result("The chair's superconductor looks over-specced for this job, but it should work") 201 return Result("The chair's superconductor looks over-specced for this job, but it should work")
173 else: 202 else:
174 return Result("It might help to remove the broken superconductor first") 203 return Result("It might help to remove the broken superconductor first")
175 204
176 205
206 class CryoContainers(Thing):
207 NAME = 'engine.cryo_containers'
208
209 INTERACTS = {
210 'containers': InteractRectUnion((
211 (140, 378, 40, 25),
212 (129, 278, 55, 100),
213 (130, 365, 17, 25),
214 (168, 288, 31, 104),
215 (192, 288, 27, 95),
216 (216, 291, 16, 87),
217 (226, 291, 38, 79),
218 ))
219 }
220
221 INITIAL = 'containers'
222
223 INITIAL_DATA = {
224 'filled': False,
225 }
226
227 def get_description(self):
228 if not self.get_data('filled'):
229 return "Those are coolant reservoirs. They look empty."
230 return "The coolant reservoirs are full."
231
232 def is_interactive(self):
233 return False
234
235
236 class CryoContainerReceptacle(Thing):
237 NAME = 'engine.cryo_container_receptacle'
238
239 INTERACTS = {
240 'containers': InteractRectUnion((
241 (132, 250, 56, 28),
242 (184, 258, 42, 30),
243 (219, 267, 42, 24),
244 ))
245 }
246
247 INITIAL = 'containers'
248
249 def get_description(self):
250 return "The receptacles for the coolant reservoirs."
251
252
253 class CoolingPipes(Thing):
254 NAME = 'engine.coolingpipes'
255
256 INTERACTS = {
257 'pipes': InteractRectUnion((
258 (262, 209, 315, 7),
259 (693, 155, 14, 90),
260 (673, 138, 32, 27),
261 (649, 155, 25, 21),
262 (608, 177, 23, 18),
263 (587, 186, 25, 18),
264 (570, 195, 27, 20),
265 (625, 167, 28, 18),
266 (57, 86, 16, 238),
267 (227, 188, 31, 49),
268 (71, 91, 39, 36),
269 (108, 117, 32, 69),
270 (140, 135, 31, 64),
271 (168, 156, 33, 57),
272 (200, 172, 27, 55),
273 (105, 159, 15, 289),
274 (0, 309, 128, 16),
275 (0, 411, 44, 27),
276 (41, 401, 39, 24),
277 (79, 390, 28, 22),
278 (257, 209, 27, 10),
279 (249, 225, 26, 20),
280 (272, 237, 25, 17),
281 (294, 247, 41, 24),
282 (333, 254, 35, 6),
283 (364, 235, 7, 25),
284 (365, 231, 15, 13),
285 (121, 403, 70, 38),
286 (180, 392, 33, 19),
287 (199, 383, 30, 18),
288 (219, 378, 20, 10),
289 (232, 370, 18, 11),
290 )),
291 }
292 INITIAL = 'pipes'
293
294 def get_description(self):
295 if not self.state.current_scene.things['engine.cryo_containers'] \
296 .get_data('filled'):
297 return "These pipes carry coolant to the superconductors. " \
298 "They feel warm."
299 return "These pipes carry coolant to the superconductors. " \
300 "They are very cold."
301
302 def is_interactive(self):
303 return False
304
305
306 class PowerLines(Thing):
307 NAME = 'engine.powerlines'
308
309 INTERACTS = {
310 'lines': InteractRectUnion((
311 (592, 270, 87, 21),
312 (605, 259, 74, 14),
313 (502, 280, 63, 13),
314 (527, 272, 38, 11),
315 (454, 229, 38, 11),
316 (480, 232, 13, 45),
317 (407, 229, 27, 10),
318 )),
319 }
320
321 INITIAL = 'lines'
322
323 def get_description(self):
324 if self.state.current_scene.things['engine.superconductor'] \
325 .get_data('fixed'):
326 return "Power lines. They are delivering power to the engines"
327 return "Power lines. It looks like they aren't working correctly"
328
329 def is_interactive(self):
330 return False
331
332
177 class ToMap(Door): 333 class ToMap(Door):
178 334
179 SCENE = "engine" 335 SCENE = "engine"
180 336
181 INTERACTS = { 337 INTERACTS = {