annotate gamelib/scenes/engine.py @ 825:c5171ad0c3cd pyntnclick

Make engine computer start using text for alerts
author Neil Muller <neil@dip.sun.ac.za>
date Tue, 29 Jan 2013 12:45:54 +0200
parents eed75a1d50c4
children 340632d9a444
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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>
parents: 759 765
diff changeset
3 from pyntnclick.i18n import _
549
098ea4ea0d0d Rename imports
Neil Muller <neil@dip.sun.ac.za>
parents: 539
diff changeset
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
098ea4ea0d0d Rename imports
Neil Muller <neil@dip.sun.ac.za>
parents: 539
diff changeset
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
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 776
diff changeset
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>
parents: 528 478
diff changeset
57 _("A gaping hole in the floor of the room. "
2f1952748cdb merge i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 528 478
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>
parents: 759 765
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>
parents: 759 765
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
a35f5364437d Merge i18n
Stefano Rivera <stefano@rivera.za.net>
parents: 764 769
diff changeset
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 528 478
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>
parents: 528 478
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
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
128 def engine_online_check(self):
731
2f74064bc779 Misc pep8 cleanups
Neil Muller <neil@dip.sun.ac.za>
parents: 623
diff changeset
129 if (self.things['engine.cryo_containers'].get_data('filled')
2f74064bc779 Misc pep8 cleanups
Neil Muller <neil@dip.sun.ac.za>
parents: 623
diff changeset
130 and self.things['engine.superconductor'].get_data('working')):
423
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
131 self.set_data('engine online', True)
467
73f56bc78cc3 All systems are go.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 466
diff changeset
132 self.remove_thing(self.things['engine.engines.8'])
423
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
133 self.add_thing(Engines())
769
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
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>
parents: 759 765
diff changeset
135 " have done a satisfactory job, Prisoner"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
136 " %s.") % PLAYER_ID, self.game)
423
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
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>
parents: 759 765
diff changeset
142 _("With your improvised helmet, the automatic airlock"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
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>
parents: 759 765
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
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
147 class Engines(Thing):
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
148 NAME = 'engine.engines'
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
149
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
150 INTERACTS = {
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
151 'on': InteractImage(334, 253, 'engine_on.png'),
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
152 }
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
153
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
154 INITIAL = 'on'
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
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
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
157 return False
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
158
467
73f56bc78cc3 All systems are go.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 466
diff changeset
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
73f56bc78cc3 All systems are go.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 466
diff changeset
161
423
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
162
285
2ec328aeeaf8 Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents: 263
diff changeset
163 class CanOpener(Item):
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 776
diff changeset
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
diff changeset
252 " for this job, but it should work."))]
423
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
253 results.append(self.scene.engine_online_check())
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
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>
parents: 759 765
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>
parents: 759 765
diff changeset
318 "is handy, because it's sprung a leak."))]
423
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
319 results.append(self.scene.engine_online_check())
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
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
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
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>
parents: 759 765
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>
parents: 759 765
diff changeset
365 "They feel warm.")
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
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>
parents: 759 765
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
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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>
parents: 759 765
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
fc36fb0937a6 Engines on
Stefano Rivera <stefano@rivera.za.net>
parents: 418
diff changeset
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>
parents: 759 765
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>
parents: 759 765
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 = {}
825
c5171ad0c3cd Make engine computer start using text for alerts
Neil Muller <neil@dip.sun.ac.za>
parents: 816
diff changeset
561 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
562 self._alert_messages[key] = render_text(msg, 'DejaVuSans-Bold.ttf',
c5171ad0c3cd Make engine computer start using text for alerts
Neil Muller <neil@dip.sun.ac.za>
parents: 816
diff changeset
563 30, 'red', (0, 0, 0, 0), self.resource, (480, 33), False)
436
6e1ad25a7db5 Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 435
diff changeset
564
6e1ad25a7db5 Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 435
diff changeset
565 def _draw_alerts(self, surface):
6e1ad25a7db5 Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 435
diff changeset
566 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
567 engine = self.game.scenes['engine']
539
11530992924a PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 528
diff changeset
568 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
569 image = self._alert_messages['cryo leaking']
6e1ad25a7db5 Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 435
diff changeset
570 surface.blit(image, (xpos, ypos))
6e1ad25a7db5 Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 435
diff changeset
571 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
572 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
573 image = self._alert_messages['cryo empty']
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.superconductor'].get_data('working'):
436
6e1ad25a7db5 Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 435
diff changeset
577 image = self._alert_messages['super malfunction']
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
6e1ad25a7db5 Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 435
diff changeset
580
6e1ad25a7db5 Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 435
diff changeset
581 def draw_things(self, surface):
6e1ad25a7db5 Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 435
diff changeset
582 self._draw_alerts(surface)
6e1ad25a7db5 Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 435
diff changeset
583 super(EngineCompDetail, self).draw_things(surface)
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
242
12c4f87ea424 Unify doors a bit
Neil Muller <neil@dip.sun.ac.za>
parents: 151
diff changeset
586 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
587
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents: 244
diff changeset
588 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
589
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
590 INTERACTS = {
262
5f58da9eeb52 Replace text interacts with doors.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 252
diff changeset
591 "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
592 }
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 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
595
285
2ec328aeeaf8 Engine room mostly hooked up
Stefano Rivera <stefano@rivera.za.net>
parents: 263
diff changeset
596 def get_description(self):
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 467
diff changeset
597 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
598
418
6a24970a0d21 Engine room art is done\!
Simon Cross <hodgestar+bzr@gmail.com>
parents: 400
diff changeset
599
47
8f1fccb8cadf Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff changeset
600 SCENES = [Engine]
436
6e1ad25a7db5 Hook up engine room computer console.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 435
diff changeset
601 DETAIL_VIEWS = [EngineCompDetail]