Mercurial > boomslang
annotate gamelib/scenes/engine.py @ 854:79b5c1be9a5e default tip
Remove pyntnclick, it's its own library, now
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Sat, 21 Jun 2014 22:06:09 +0200 |
parents | 340632d9a444 |
children |
rev | line source |
---|---|
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
1 """Engine room where things need to be repaired.""" |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
2 |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
3 from pyntnclick.i18n import _ |
549 | 4 from pyntnclick.cursor import CursorSprite |
825
c5171ad0c3cd
Make engine computer start using text for alerts
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
5 from pyntnclick.utils import render_text |
549 | 6 from pyntnclick.state import Scene, Item, Thing, Result |
764
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
7 from pyntnclick.scenewidgets import ( |
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
8 InteractNoImage, InteractRectUnion, InteractImage, InteractAnimated, |
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
9 GenericDescThing, TakeableThing) |
525
821b322e903b
Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
519
diff
changeset
|
10 |
462
eebd6e08cbc9
Mac icons hooked up, chops added and engine fix message fixed.
Jeremy Thurgood <firxen@gmail.com>
parents:
452
diff
changeset
|
11 from gamelib.scenes.game_constants import PLAYER_ID |
525
821b322e903b
Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
519
diff
changeset
|
12 from gamelib.scenes.game_widgets import Door, make_jim_dialog |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
13 |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
14 |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
15 class Engine(Scene): |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
16 |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
17 FOLDER = "engine" |
244
cc478e3a951e
Line-art engine room.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
242
diff
changeset
|
18 BACKGROUND = "engine_room.png" |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
19 |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
20 INITIAL_DATA = { |
389
eef2fca1aa11
Hook up updated alert screens
Neil Muller <neil@dip.sun.ac.za>
parents:
386
diff
changeset
|
21 'engine online': False, |
539
11530992924a
PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
528
diff
changeset
|
22 'greet': True, |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
23 } |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
24 |
592
4e9178215e75
Introduce .setup() for GameDeveloperGizmos.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
549
diff
changeset
|
25 def setup(self): |
816 | 26 self.add_item_factory(CanOpener) |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
27 self.add_thing(CanOpenerThing()) |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
28 self.add_thing(SuperconductorSocket()) |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
29 self.add_thing(PowerLines()) |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
30 self.add_thing(CryoContainers()) |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
31 self.add_thing(CryoContainerReceptacle()) |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
32 self.add_thing(CoolingPipes()) |
357
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
33 self.add_thing(ArrowsTopLeft()) |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
34 self.add_thing(ArrowsBottomLeft()) |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
35 self.add_thing(ArrowsRight()) |
378
998691a739cf
Add pulsing danger sign.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
369
diff
changeset
|
36 self.add_thing(DangerSign()) |
400
0fd5796a1562
The stars are sort of okay.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
399
diff
changeset
|
37 self.add_thing(Stars()) |
418
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
38 self.add_thing(CrackedPipe()) |
436
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
39 self.add_thing(ComputerConsole()) |
151
d00aa26941c4
Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
55
diff
changeset
|
40 self.add_thing(ToMap()) |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
41 self.add_thing(GenericDescThing('engine.body', 1, |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
42 _("Dead. Those cans must have been past their sell-by date."), |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
43 ( |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
44 (594, 387, 45, 109), |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
45 (549, 479, 60, 55), |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
46 ) |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
47 )) |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
48 self.add_thing(GenericDescThing('engine.superconductors', 4, |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
49 _("Superconductors. The engines must be power hogs."), |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
50 ( |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
51 (679, 246, 50, 56), |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
52 (473, 280, 28, 23), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
53 (381, 224, 25, 22), |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
54 ) |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
55 )) |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
56 self.add_thing(GenericDescThing('engine.floor_hole', 5, |
765
2f1952748cdb
merge i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
57 _("A gaping hole in the floor of the room. " |
2f1952748cdb
merge i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
58 "It is clearly irreparable."), |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
59 ( |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
60 (257, 493, 141, 55), |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
61 (301, 450, 95, 45), |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
62 (377, 422, 19, 29), |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
63 (239, 547, 123, 39), |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
64 ) |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
65 )) |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
66 self.add_thing(GenericDescThing('engine.empty_cans', 7, |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
67 _("Empty chocolate-covered bacon cans? Poor guy, he must have" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
68 " found them irresistible."), |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
69 ( |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
70 (562, 422, 30, 31), |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
71 ) |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
72 )) |
764
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
73 if not self.get_data('engine online'): |
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
74 self.add_thing(GenericDescThing('engine.engines', 8, |
770 | 75 _("The engines. They don't look like they are working."), |
764
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
76 ( |
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
77 (342, 261, 109, 81), |
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
78 ) |
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
79 )) |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
80 self.add_thing(GenericDescThing('engine.laser_cutter', 9, |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
81 _("A burned-out laser cutter. It may be responsible for the" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
82 " hole in the floor."), |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
83 ( |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
84 (120, 466, 115, 67), |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
85 ) |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
86 )) |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
87 self.add_thing(GenericDescThing('engine.fuel_lines', 10, |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
88 _("The main fuel line for the engines."), |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
89 ( |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
90 (220, 49, 59, 75), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
91 (239, 84, 51, 66), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
92 (271, 113, 28, 53), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
93 (285, 132, 26, 50), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
94 (299, 153, 22, 46), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
95 (321, 172, 167, 25), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
96 (308, 186, 36, 22), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
97 (326, 217, 30, 13), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
98 (336, 229, 28, 13), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
99 (343, 239, 21, 14), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
100 (446, 197, 33, 11), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
101 (424, 240, 21, 20), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
102 (418, 249, 19, 11), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
103 (438, 217, 30, 11), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
104 (435, 225, 18, 15), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
105 ) |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
106 )) |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
107 self.add_thing(GenericDescThing('engine.spare_fuel_line', 11, |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
108 _("The spare fuel line. If something went wrong with the main" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
109 " one, you would hook that one up."), |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
110 ( |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
111 (512, 49, 68, 44), |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
112 ) |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
113 )) |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
114 self.add_thing(GenericDescThing('engine.danger_area', 12, |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
115 _("The sign says DANGER. You would be wise to listen to it."), |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
116 ( |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
117 (293, 343, 211, 46), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
118 ) |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
119 )) |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
120 self.add_thing(GenericDescThing('engine.exit_sign', 13, |
765
2f1952748cdb
merge i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
121 _("It's one of those glow-in-the-dark signs needed to satisfy the " |
2f1952748cdb
merge i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
122 "health and safety inspectors."), |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
123 ( |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
124 (681, 322, 80, 33), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
125 ) |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
126 )) |
151
d00aa26941c4
Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
55
diff
changeset
|
127 |
423 | 128 def engine_online_check(self): |
731 | 129 if (self.things['engine.cryo_containers'].get_data('filled') |
130 and self.things['engine.superconductor'].get_data('working')): | |
423 | 131 self.set_data('engine online', True) |
467 | 132 self.remove_thing(self.things['engine.engines.8']) |
423 | 133 self.add_thing(Engines()) |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
134 return make_jim_dialog(_("The engines are now operational. You" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
135 " have done a satisfactory job, Prisoner" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
136 " %s.") % PLAYER_ID, self.game) |
423 | 137 |
151
d00aa26941c4
Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
55
diff
changeset
|
138 def enter(self): |
437
cfcab3796410
Make egine room greeting fire once. Remove machine room greeting
Neil Muller <neil@dip.sun.ac.za>
parents:
436
diff
changeset
|
139 if self.get_data('greet'): |
cfcab3796410
Make egine room greeting fire once. Remove machine room greeting
Neil Muller <neil@dip.sun.ac.za>
parents:
436
diff
changeset
|
140 self.set_data('greet', False) |
cfcab3796410
Make egine room greeting fire once. Remove machine room greeting
Neil Muller <neil@dip.sun.ac.za>
parents:
436
diff
changeset
|
141 return Result( |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
142 _("With your improvised helmet, the automatic airlock" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
143 " allows you into the engine room. Even if there wasn't" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
144 " a vacuum it would be eerily quiet.")) |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
145 |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
146 |
423 | 147 class Engines(Thing): |
148 NAME = 'engine.engines' | |
149 | |
150 INTERACTS = { | |
151 'on': InteractImage(334, 253, 'engine_on.png'), | |
152 } | |
153 | |
154 INITIAL = 'on' | |
155 | |
519
8f3c82c685a4
Fix is_interactive() by adding tool param.
Jeremy Thurgood <firxen@gmail.com>
parents:
518
diff
changeset
|
156 def is_interactive(self, tool=None): |
423 | 157 return False |
158 | |
467 | 159 def get_description(self): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
160 return _("All systems are go! Or at least the engines are.") |
467 | 161 |
423 | 162 |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
163 class CanOpener(Item): |
816 | 164 NAME = 'canopener' |
307
5031b84fbb4c
Hook up new machete, can_opener, and titanium_femur images
Stefano Rivera <stefano@rivera.za.net>
parents:
302
diff
changeset
|
165 INVENTORY_IMAGE = 'can_opener.png' |
5031b84fbb4c
Hook up new machete, can_opener, and titanium_femur images
Stefano Rivera <stefano@rivera.za.net>
parents:
302
diff
changeset
|
166 CURSOR = CursorSprite('can_opener_cursor.png') |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
167 |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
168 |
764
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
169 class CanOpenerThing(TakeableThing): |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
170 NAME = 'engine.canopener' |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
171 |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
172 INTERACTS = { |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
173 'canopener': InteractImage(565, 456, 'can_opener.png'), |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
174 } |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
175 |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
176 INITIAL = 'canopener' |
764
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
177 ITEM = 'canopener' |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
178 |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
179 def get_description(self): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
180 return _("A can opener. Looks like you won't be starving") |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
181 |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
182 def interact_without(self): |
764
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
183 self.take() |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
184 return Result(_("You pick up the can opener. It looks brand new; " |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
185 "the vacuum has kept it in perfect condition.")) |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
186 |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
187 |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
188 class SuperconductorSocket(Thing): |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
189 NAME = 'engine.superconductor' |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
190 |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
191 INTERACTS = { |
386
b00e189333c6
Superconductor images in place.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
382
diff
changeset
|
192 'broken': InteractImage(553, 260, 'superconductor_broken.png'), |
b00e189333c6
Superconductor images in place.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
382
diff
changeset
|
193 'removed': InteractImage(553, 260, 'superconductor_socket.png'), |
b00e189333c6
Superconductor images in place.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
382
diff
changeset
|
194 'fixed': InteractImage(553, 260, 'superconductor_fixed.png'), |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
195 } |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
196 |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
197 INITIAL = 'broken' |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
198 |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
199 INITIAL_DATA = { |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
200 'present': True, |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
201 'working': False, |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
202 } |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
203 |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
204 def get_description(self): |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
205 if self.get_data('present') and not self.get_data('working'): |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
206 return _("That superconductor looks burned out. It's wedged" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
207 " in there pretty firmly.") |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
208 elif not self.get_data('present'): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
209 return _("An empty superconductor socket") |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
210 else: |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
211 return _("A working superconductor.") |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
212 |
759
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
213 def select_interact(self): |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
214 if not self.get_data('present'): |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
215 return 'removed' |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
216 if self.get_data('working'): |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
217 return 'fixed' |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
218 return self.INITIAL |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
219 |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
220 def interact_without(self): |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
221 if self.get_data('present') and not self.get_data('working'): |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
222 return Result(_("It's wedged in there pretty firmly, it won't" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
223 " come out.")) |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
224 elif self.get_data('working'): |
776
246538901599
Extraneous whitespace
Stefano Rivera <stefano@rivera.za.net>
parents:
770
diff
changeset
|
225 return Result(_("You decide that working engines are more" |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
226 " important than having a shiny superconductor.")) |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
227 |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
228 def interact_with_machete(self, item): |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
229 if self.get_data('present') and not self.get_data('working'): |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
230 self.set_data('present', False) |
759
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
231 self.set_interact() |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
232 return Result(_("With leverage, the burned-out superconductor" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
233 " snaps out. You discard it.")) |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
234 |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
235 def interact_with_superconductor(self, item): |
399
1cfcd82519b6
You have to duct tape the superconductor
Stefano Rivera <stefano@rivera.za.net>
parents:
395
diff
changeset
|
236 if self.get_data('present'): |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
237 return Result(_("It might help to remove the broken" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
238 " superconductor first")) |
399
1cfcd82519b6
You have to duct tape the superconductor
Stefano Rivera <stefano@rivera.za.net>
parents:
395
diff
changeset
|
239 else: |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
240 return Result(_("You plug in the superconductor, and feel a hum " |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
241 "as things kick into life. Unfortunately, it's " |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
242 "the wrong size for the socket and just falls " |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
243 "out again when you let go.")) |
399
1cfcd82519b6
You have to duct tape the superconductor
Stefano Rivera <stefano@rivera.za.net>
parents:
395
diff
changeset
|
244 |
1cfcd82519b6
You have to duct tape the superconductor
Stefano Rivera <stefano@rivera.za.net>
parents:
395
diff
changeset
|
245 def interact_with_taped_superconductor(self, item): |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
246 if not self.get_data('present'): |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
247 self.set_data('present', True) |
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
248 self.set_data('working', True) |
759
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
249 self.set_interact() |
603
3ce19d33b51f
Rename state to game to not cause confusion with the other state
Neil Muller <neil@dip.sun.ac.za>
parents:
595
diff
changeset
|
250 self.game.remove_inventory_item(item.name) |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
251 results = [Result(_("The chair's superconductor looks over-specced" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
252 " for this job, but it should work."))] |
423 | 253 results.append(self.scene.engine_online_check()) |
254 return results | |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
255 else: |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
256 return Result(_("It might help to remove the broken superconductor" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
257 " first.")) |
151
d00aa26941c4
Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
55
diff
changeset
|
258 |
d00aa26941c4
Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
55
diff
changeset
|
259 |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
260 class CryoContainers(Thing): |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
261 NAME = 'engine.cryo_containers' |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
262 |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
263 INTERACTS = { |
395
44459476aec6
Cryo empty and full images.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
392
diff
changeset
|
264 'empty': InteractImage(118, 211, 'cryo_empty.png'), |
44459476aec6
Cryo empty and full images.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
392
diff
changeset
|
265 'full': InteractImage(118, 211, 'cryo_full.png'), |
44459476aec6
Cryo empty and full images.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
392
diff
changeset
|
266 } |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
267 |
395
44459476aec6
Cryo empty and full images.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
392
diff
changeset
|
268 INITIAL = 'empty' |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
269 |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
270 INITIAL_DATA = { |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
271 'filled': False, |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
272 } |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
273 |
759
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
274 def select_interact(self): |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
275 if self.get_data('filled'): |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
276 return 'full' |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
277 return self.INITIAL |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
278 |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
279 def get_description(self): |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
280 if not self.get_data('filled'): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
281 return _("Those are coolant reservoirs. They look empty.") |
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
282 return _("The coolant reservoirs are full.") |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
283 |
519
8f3c82c685a4
Fix is_interactive() by adding tool param.
Jeremy Thurgood <firxen@gmail.com>
parents:
518
diff
changeset
|
284 def is_interactive(self, tool=None): |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
285 return False |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
286 |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
287 |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
288 class CryoContainerReceptacle(Thing): |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
289 NAME = 'engine.cryo_container_receptacle' |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
290 |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
291 INTERACTS = { |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
292 'containers': InteractRectUnion(( |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
293 (132, 250, 56, 28), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
294 (184, 258, 42, 30), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
295 (219, 267, 42, 24), |
539
11530992924a
PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
528
diff
changeset
|
296 )), |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
297 } |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
298 |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
299 INITIAL = 'containers' |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
300 |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
301 def get_description(self): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
302 return _("The receptacles for the coolant reservoirs.") |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
303 |
353
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
327
diff
changeset
|
304 def interact_without(self): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
305 return Result(_("You stick your finger in the receptacle. " |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
306 "It almost gets stuck.")) |
353
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
327
diff
changeset
|
307 |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
327
diff
changeset
|
308 def interact_with_full_detergent_bottle(self, item): |
418
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
309 if not self.scene.things['engine.cracked_pipe'].get_data('fixed'): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
310 return Result(_("Pouring the precious cryo fluid into a" |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
311 " container connected to a cracked pipe would be a" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
312 " waste.")) |
603
3ce19d33b51f
Rename state to game to not cause confusion with the other state
Neil Muller <neil@dip.sun.ac.za>
parents:
595
diff
changeset
|
313 self.game.remove_inventory_item(item.name) |
423 | 314 self.scene.things['engine.cryo_containers'].set_data('filled', True) |
759
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
315 self.scene.things['engine.cryo_containers'].set_interact() |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
316 results = [Result(_("You fill the reservoirs. " |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
317 "The detergent bottle was just big enough, which " |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
318 "is handy, because it's sprung a leak."))] |
423 | 319 results.append(self.scene.engine_online_check()) |
320 return results | |
353
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
327
diff
changeset
|
321 |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
322 |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
323 class CoolingPipes(Thing): |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
324 NAME = 'engine.coolingpipes' |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
325 |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
326 INTERACTS = { |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
327 'pipes': InteractRectUnion(( |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
328 (262, 209, 315, 7), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
329 (693, 155, 14, 90), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
330 (673, 138, 32, 27), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
331 (649, 155, 25, 21), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
332 (608, 177, 23, 18), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
333 (587, 186, 25, 18), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
334 (570, 195, 27, 20), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
335 (625, 167, 28, 18), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
336 (57, 86, 16, 238), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
337 (227, 188, 31, 49), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
338 (71, 91, 39, 36), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
339 (108, 117, 32, 69), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
340 (140, 135, 31, 64), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
341 (168, 156, 33, 57), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
342 (200, 172, 27, 55), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
343 (105, 159, 15, 289), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
344 (0, 309, 128, 16), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
345 (79, 390, 28, 22), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
346 (257, 209, 27, 10), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
347 (249, 225, 26, 20), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
348 (272, 237, 25, 17), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
349 (294, 247, 41, 24), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
350 (333, 254, 35, 6), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
351 (364, 235, 7, 25), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
352 (365, 231, 15, 13), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
353 (121, 403, 70, 38), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
354 (180, 392, 33, 19), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
355 (199, 383, 30, 18), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
356 (219, 378, 20, 10), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
357 (232, 370, 18, 11), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
358 )), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
359 } |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
360 INITIAL = 'pipes' |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
361 |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
362 def get_description(self): |
423 | 363 if not self.scene.things['engine.cryo_containers'].get_data('filled'): |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
364 return _("These pipes carry coolant to the superconductors. " |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
365 "They feel warm.") |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
366 return _("These pipes carry coolant to the superconductors. " |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
367 "They are very cold.") |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
368 |
519
8f3c82c685a4
Fix is_interactive() by adding tool param.
Jeremy Thurgood <firxen@gmail.com>
parents:
518
diff
changeset
|
369 def is_interactive(self, tool=None): |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
370 return False |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
371 |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
372 |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
373 class PowerLines(Thing): |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
374 NAME = 'engine.powerlines' |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
375 |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
376 INTERACTS = { |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
377 'lines': InteractRectUnion(( |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
378 (592, 270, 87, 21), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
379 (605, 259, 74, 14), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
380 (502, 280, 63, 13), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
381 (527, 272, 38, 11), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
382 (454, 229, 38, 11), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
383 (480, 232, 13, 45), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
384 (407, 229, 27, 10), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
385 )), |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
386 } |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
387 |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
388 INITIAL = 'lines' |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
389 |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
390 def get_description(self): |
423 | 391 if self.scene.things['engine.superconductor'].get_data('working'): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
392 return _("Power lines. They are delivering power to the engines.") |
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
393 return _("Power lines. It looks like they aren't working correctly.") |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
394 |
519
8f3c82c685a4
Fix is_interactive() by adding tool param.
Jeremy Thurgood <firxen@gmail.com>
parents:
518
diff
changeset
|
395 def is_interactive(self, tool=None): |
327
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
396 return False |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
397 |
67e8a547970b
More engine room descs
Stefano Rivera <stefano@rivera.za.net>
parents:
307
diff
changeset
|
398 |
357
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
399 class ArrowsTopLeft(Thing): |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
400 NAME = 'engine.arrows_top_left' |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
401 |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
402 INTERACTS = { |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
403 'arrows': InteractAnimated(25, 324, ( |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
404 'arrow_top_left_1.png', 'arrow_top_left_2.png', |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
405 'arrow_top_left_3.png', 'arrow_top_left_4.png', |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
406 ), 15, |
539
11530992924a
PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
528
diff
changeset
|
407 ), |
357
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
408 } |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
409 |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
410 INITIAL = 'arrows' |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
411 |
519
8f3c82c685a4
Fix is_interactive() by adding tool param.
Jeremy Thurgood <firxen@gmail.com>
parents:
518
diff
changeset
|
412 def is_interactive(self, tool=None): |
381
264aa4d37e19
Make arrows non-interactive.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
378
diff
changeset
|
413 return False |
264aa4d37e19
Make arrows non-interactive.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
378
diff
changeset
|
414 |
357
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
415 |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
416 class ArrowsBottomLeft(Thing): |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
417 NAME = 'engine.arrows_bottom_left' |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
418 |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
419 INTERACTS = { |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
420 'arrows': InteractAnimated(32, 425, ( |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
421 'arrow_bottom_left_1.png', 'arrow_bottom_left_2.png', |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
422 'arrow_bottom_left_3.png', 'arrow_bottom_left_4.png', |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
423 ), 16, |
539
11530992924a
PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
528
diff
changeset
|
424 ), |
357
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
425 } |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
426 |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
427 INITIAL = 'arrows' |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
428 |
519
8f3c82c685a4
Fix is_interactive() by adding tool param.
Jeremy Thurgood <firxen@gmail.com>
parents:
518
diff
changeset
|
429 def is_interactive(self, tool=None): |
381
264aa4d37e19
Make arrows non-interactive.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
378
diff
changeset
|
430 return False |
264aa4d37e19
Make arrows non-interactive.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
378
diff
changeset
|
431 |
357
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
432 |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
433 class ArrowsRight(Thing): |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
434 NAME = 'engine.arrows_right' |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
435 |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
436 INTERACTS = { |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
437 'arrows': InteractAnimated(708, 172, ( |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
438 'arrow_right_1.png', 'arrow_right_2.png', |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
439 'arrow_right_3.png', 'arrow_right_4.png', |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
440 ), 17, |
539
11530992924a
PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
528
diff
changeset
|
441 ), |
357
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
442 } |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
443 |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
444 INITIAL = 'arrows' |
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
445 |
519
8f3c82c685a4
Fix is_interactive() by adding tool param.
Jeremy Thurgood <firxen@gmail.com>
parents:
518
diff
changeset
|
446 def is_interactive(self, tool=None): |
381
264aa4d37e19
Make arrows non-interactive.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
378
diff
changeset
|
447 return False |
264aa4d37e19
Make arrows non-interactive.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
378
diff
changeset
|
448 |
357
e5f28bd6d4ce
Animate engine room arrows.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
353
diff
changeset
|
449 |
378
998691a739cf
Add pulsing danger sign.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
369
diff
changeset
|
450 class DangerSign(Thing): |
998691a739cf
Add pulsing danger sign.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
369
diff
changeset
|
451 NAME = 'engine.danger_sign' |
998691a739cf
Add pulsing danger sign.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
369
diff
changeset
|
452 |
998691a739cf
Add pulsing danger sign.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
369
diff
changeset
|
453 INTERACTS = { |
998691a739cf
Add pulsing danger sign.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
369
diff
changeset
|
454 'sign': InteractAnimated(299, 341, ( |
998691a739cf
Add pulsing danger sign.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
369
diff
changeset
|
455 'danger_dim.png', 'danger_bright.png', |
998691a739cf
Add pulsing danger sign.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
369
diff
changeset
|
456 ), 10, |
539
11530992924a
PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
528
diff
changeset
|
457 ), |
378
998691a739cf
Add pulsing danger sign.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
369
diff
changeset
|
458 } |
998691a739cf
Add pulsing danger sign.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
369
diff
changeset
|
459 |
998691a739cf
Add pulsing danger sign.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
369
diff
changeset
|
460 INITIAL = 'sign' |
998691a739cf
Add pulsing danger sign.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
369
diff
changeset
|
461 |
519
8f3c82c685a4
Fix is_interactive() by adding tool param.
Jeremy Thurgood <firxen@gmail.com>
parents:
518
diff
changeset
|
462 def is_interactive(self, tool=None): |
400
0fd5796a1562
The stars are sort of okay.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
399
diff
changeset
|
463 return False |
0fd5796a1562
The stars are sort of okay.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
399
diff
changeset
|
464 |
0fd5796a1562
The stars are sort of okay.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
399
diff
changeset
|
465 |
0fd5796a1562
The stars are sort of okay.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
399
diff
changeset
|
466 class Stars(Thing): |
0fd5796a1562
The stars are sort of okay.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
399
diff
changeset
|
467 NAME = 'engine.stars' |
0fd5796a1562
The stars are sort of okay.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
399
diff
changeset
|
468 |
0fd5796a1562
The stars are sort of okay.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
399
diff
changeset
|
469 INTERACTS = { |
0fd5796a1562
The stars are sort of okay.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
399
diff
changeset
|
470 'stars': InteractAnimated(287, 455, |
539
11530992924a
PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
528
diff
changeset
|
471 ['stars_%d.png' % (i + 1) for i |
11530992924a
PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
528
diff
changeset
|
472 in range(5) + range(3, 0, -1)], |
400
0fd5796a1562
The stars are sort of okay.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
399
diff
changeset
|
473 30, |
539
11530992924a
PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
528
diff
changeset
|
474 ), |
400
0fd5796a1562
The stars are sort of okay.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
399
diff
changeset
|
475 } |
0fd5796a1562
The stars are sort of okay.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
399
diff
changeset
|
476 |
0fd5796a1562
The stars are sort of okay.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
399
diff
changeset
|
477 INITIAL = 'stars' |
0fd5796a1562
The stars are sort of okay.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
399
diff
changeset
|
478 |
519
8f3c82c685a4
Fix is_interactive() by adding tool param.
Jeremy Thurgood <firxen@gmail.com>
parents:
518
diff
changeset
|
479 def is_interactive(self, tool=None): |
400
0fd5796a1562
The stars are sort of okay.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
399
diff
changeset
|
480 return False |
0fd5796a1562
The stars are sort of okay.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
399
diff
changeset
|
481 |
436
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
482 def get_description(self): |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
483 return _("A gaping hole in the floor of the room. You're guessing" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
484 " that's why there's a vacuum in here.") |
436
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
485 |
378
998691a739cf
Add pulsing danger sign.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
369
diff
changeset
|
486 |
418
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
487 class CrackedPipe(Thing): |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
488 NAME = "engine.cracked_pipe" |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
489 |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
490 INTERACTS = { |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
491 'cracked': InteractImage(13, 402, 'cracked_pipe.png'), |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
492 'taped': InteractImage(13, 402, 'duct_taped_pipe.png'), |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
493 } |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
494 |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
495 INITIAL = 'cracked' |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
496 |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
497 INITIAL_DATA = { |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
498 'fixed': False, |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
499 } |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
500 |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
501 def get_description(self): |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
502 if self.get_data('fixed'): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
503 return _("The duct tape appears to be holding.") |
418
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
504 else: |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
505 return _("The pipe looks cracked and won't hold" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
506 " fluid until it's fixed.") |
418
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
507 |
759
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
508 def select_interact(self): |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
509 if self.get_data('fixed'): |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
510 return 'taped' |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
511 return self.INITIAL |
418
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
512 |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
513 def interact_with_duct_tape(self, item): |
423 | 514 if self.get_data('fixed'): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
515 return Result(_("The duct tape already there appears to be " |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
516 "sufficient.")) |
418
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
517 else: |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
518 self.set_data('fixed', True) |
759
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
731
diff
changeset
|
519 self.set_interact() |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
520 return Result(_("You apply your trusty duct tape to the " |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
521 "creak, sealing it.")) |
418
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
522 |
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
523 |
436
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
524 class ComputerConsole(Thing): |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
525 NAME = "engine.computer_console" |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
526 |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
527 INTERACTS = { |
494
7ae663c687ed
Hook computer control panel to engine room computer. Tweak sign above door
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
528 'console': InteractRectUnion(( |
7ae663c687ed
Hook computer control panel to engine room computer. Tweak sign above door
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
529 (293, 287, 39, 36), |
7ae663c687ed
Hook computer control panel to engine room computer. Tweak sign above door
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
530 (513, 330, 58, 50), |
7ae663c687ed
Hook computer control panel to engine room computer. Tweak sign above door
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
531 )), |
436
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
532 } |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
533 |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
534 INITIAL = 'console' |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
535 |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
536 def interact_without(self): |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
537 return Result(detail_view='engine_comp_detail') |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
538 |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
539 def get_description(self): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
540 return _("A computer console. It's alarmingly close to the engine.") |
436
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
541 |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
542 |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
543 class EngineCompDetail(Scene): |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
544 |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
545 FOLDER = "engine" |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
546 BACKGROUND = "engine_comp_detail.png" |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
547 NAME = "engine_comp_detail" |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
548 |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
549 ALERTS = { |
825
c5171ad0c3cd
Make engine computer start using text for alerts
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
550 'cryo leaking': _("Cryo system leaking!"), |
c5171ad0c3cd
Make engine computer start using text for alerts
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
551 'cryo empty': _("Cryo reservoir empty!"), |
c5171ad0c3cd
Make engine computer start using text for alerts
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
552 'super malfunction': _("Superconductor malfunction!"), |
436
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
553 } |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
554 |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
555 # Point to start drawing changeable alerts |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
556 ALERT_OFFSET = (16, 100) |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
557 ALERT_SPACING = 4 |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
558 |
592
4e9178215e75
Introduce .setup() for GameDeveloperGizmos.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
549
diff
changeset
|
559 def setup(self): |
436
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
560 self._alert_messages = {} |
835
340632d9a444
Make alert header translatable as well
Neil Muller <neil@dip.sun.ac.za>
parents:
825
diff
changeset
|
561 self._alert_header = render_text(_("Alerts"), 'DejaVuSans.ttf', |
340632d9a444
Make alert header translatable as well
Neil Muller <neil@dip.sun.ac.za>
parents:
825
diff
changeset
|
562 27, 'darkred', (0, 0, 0, 0), self.resource, (120, 33), False) |
825
c5171ad0c3cd
Make engine computer start using text for alerts
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
563 for key, msg in self.ALERTS.iteritems(): |
c5171ad0c3cd
Make engine computer start using text for alerts
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
564 self._alert_messages[key] = render_text(msg, 'DejaVuSans-Bold.ttf', |
835
340632d9a444
Make alert header translatable as well
Neil Muller <neil@dip.sun.ac.za>
parents:
825
diff
changeset
|
565 30, 'darkred', (0, 0, 0, 0), self.resource, (480, 33), |
340632d9a444
Make alert header translatable as well
Neil Muller <neil@dip.sun.ac.za>
parents:
825
diff
changeset
|
566 False) |
436
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
567 |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
568 def _draw_alerts(self, surface): |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
569 xpos, ypos = self.ALERT_OFFSET |
603
3ce19d33b51f
Rename state to game to not cause confusion with the other state
Neil Muller <neil@dip.sun.ac.za>
parents:
595
diff
changeset
|
570 engine = self.game.scenes['engine'] |
835
340632d9a444
Make alert header translatable as well
Neil Muller <neil@dip.sun.ac.za>
parents:
825
diff
changeset
|
571 surface.blit(self._alert_header, (15, 55)) |
539
11530992924a
PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
528
diff
changeset
|
572 if not engine.things['engine.cracked_pipe'].get_data('fixed'): |
436
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
573 image = self._alert_messages['cryo leaking'] |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
574 surface.blit(image, (xpos, ypos)) |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
575 ypos += image.get_size()[1] + self.ALERT_SPACING |
539
11530992924a
PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
528
diff
changeset
|
576 if not engine.things['engine.cryo_containers'].get_data('filled'): |
436
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
577 image = self._alert_messages['cryo empty'] |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
578 surface.blit(image, (xpos, ypos)) |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
579 ypos += image.get_size()[1] + self.ALERT_SPACING |
539
11530992924a
PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
528
diff
changeset
|
580 if not engine.things['engine.superconductor'].get_data('working'): |
436
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
581 image = self._alert_messages['super malfunction'] |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
582 surface.blit(image, (xpos, ypos)) |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
583 ypos += image.get_size()[1] + self.ALERT_SPACING |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
584 |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
585 def draw_things(self, surface): |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
586 self._draw_alerts(surface) |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
587 super(EngineCompDetail, self).draw_things(surface) |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
588 |
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
589 |
242 | 590 class ToMap(Door): |
151
d00aa26941c4
Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
55
diff
changeset
|
591 |
252
dfc89bc64fdb
Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
244
diff
changeset
|
592 SCENE = "engine" |
151
d00aa26941c4
Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
55
diff
changeset
|
593 |
d00aa26941c4
Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
55
diff
changeset
|
594 INTERACTS = { |
262
5f58da9eeb52
Replace text interacts with doors.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
252
diff
changeset
|
595 "door": InteractNoImage(663, 360, 108, 193), |
151
d00aa26941c4
Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
55
diff
changeset
|
596 } |
d00aa26941c4
Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
55
diff
changeset
|
597 |
d00aa26941c4
Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
55
diff
changeset
|
598 INITIAL = "door" |
d00aa26941c4
Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
55
diff
changeset
|
599 |
285
2ec328aeeaf8
Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents:
263
diff
changeset
|
600 def get_description(self): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
467
diff
changeset
|
601 return _("The airlock leads back to the rest of the ship.") |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
602 |
418
6a24970a0d21
Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents:
400
diff
changeset
|
603 |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
604 SCENES = [Engine] |
436
6e1ad25a7db5
Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
605 DETAIL_VIEWS = [EngineCompDetail] |