Mercurial > boomslang
annotate gamelib/scenes/map.py @ 822:108eeb4d8f65 pyntnclick
Convert map to use InteractText for room labels
author | Neil Muller <neil@dip.sun.ac.za> |
---|---|
date | Mon, 28 Jan 2013 18:29:32 +0200 |
parents | eed75a1d50c4 |
children | bdebe693453f |
rev | line source |
---|---|
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
1 """Neurally implanted schematic for moving around on the ship. |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
2 |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
3 It is illegal for prisoners in transit to activate such an |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
4 implant. Failure to comply carries a minimum sentence of |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
5 six months. |
51 | 6 |
7 Many parts of the ship are derelict and inaccessible. | |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
8 """ |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
9 |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
10 from pyntnclick.i18n import _ |
549 | 11 from pyntnclick.state import Scene, Thing, Result |
822
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
12 from pyntnclick.scenewidgets import (InteractRectUnion, InteractUnion, |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
13 InteractText, InteractNoImage) |
525
821b322e903b
Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
466
diff
changeset
|
14 |
212
2b820b4ba3bf
Add constant for player id. Make IDs uppercase
Neil Muller <neil@dip.sun.ac.za>
parents:
210
diff
changeset
|
15 from gamelib.scenes.game_constants import PLAYER_ID |
525
821b322e903b
Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
466
diff
changeset
|
16 from gamelib.scenes.game_widgets import make_jim_dialog |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
17 |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
18 |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
19 class Map(Scene): |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
20 |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
21 FOLDER = "map" |
408 | 22 BACKGROUND = 'map.png' |
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 INITIAL_DATA = { |
203 | 25 'implant': True, |
408 | 26 } |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
27 |
592
4e9178215e75
Introduce .setup() for GameDeveloperGizmos.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
549
diff
changeset
|
28 def setup(self): |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
29 self.add_thing(ToCryo()) |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
30 self.add_thing(ToBridge()) |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
31 self.add_thing(ToMess()) |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
32 self.add_thing(ToEngine()) |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
33 self.add_thing(ToMachine()) |
241
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
34 self.add_thing(ToCrew()) |
413
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
35 self.add_thing(InaccessibleArea()) |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
36 self.add_thing(HydroponicsArea()) |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
37 |
132
686bb74a52f8
Map shows accessible areas.
Jeremy Thurgood <firxen@gmail.com>
parents:
131
diff
changeset
|
38 def enter(self): |
203 | 39 if self.get_data('implant'): |
40 self.set_data('implant', False) | |
360
452230d78541
Use make_jim_dialog everywhere
Neil Muller <neil@dip.sun.ac.za>
parents:
355
diff
changeset
|
41 ai1 = make_jim_dialog( |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
42 _("Under the terms of the emergency conscription " |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
43 "act, I have downloaded the ship's schematics to your " |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
44 "neural implant to help you navigate around the ship."), |
603
3ce19d33b51f
Rename state to game to not cause confusion with the other state
Neil Muller <neil@dip.sun.ac.za>
parents:
592
diff
changeset
|
45 self.game) |
360
452230d78541
Use make_jim_dialog everywhere
Neil Muller <neil@dip.sun.ac.za>
parents:
355
diff
changeset
|
46 if ai1: |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
47 return ai1, make_jim_dialog(_("Prisoner %s, you are a " |
435 | 48 "class 1 felon. Obtaining access to the ship's schematics " |
224
8d8aef45db4e
fixed some typos
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
212
diff
changeset
|
49 "constitutes a level 2 offence and carries a minimal penalty " |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
50 "of an additional 3 years on your sentence.") % PLAYER_ID, |
603
3ce19d33b51f
Rename state to game to not cause confusion with the other state
Neil Muller <neil@dip.sun.ac.za>
parents:
592
diff
changeset
|
51 self.game) |
132
686bb74a52f8
Map shows accessible areas.
Jeremy Thurgood <firxen@gmail.com>
parents:
131
diff
changeset
|
52 |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
53 |
131 | 54 class DoorThing(Thing): |
55 | |
56 # name of destination | |
57 DEST = None | |
58 | |
466
af2a23b9787d
You can now use doors while wielding things.
Jeremy Thurgood <firxen@gmail.com>
parents:
444
diff
changeset
|
59 def interact(self, _item): |
131 | 60 """Go to destination.""" |
603
3ce19d33b51f
Rename state to game to not cause confusion with the other state
Neil Muller <neil@dip.sun.ac.za>
parents:
592
diff
changeset
|
61 if self.DEST in self.game.scenes: |
692
d6ded808cc33
Much scene management refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
603
diff
changeset
|
62 self.game.change_scene(self.DEST) |
131 | 63 |
64 | |
65 class ToCryo(DoorThing): | |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
66 "Way to cryo room." |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
67 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
68 NAME = "map.tocryo" |
131 | 69 DEST = "cryo" |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
70 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
71 INTERACTS = { |
822
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
72 'door': InteractUnion(( |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
73 InteractNoImage(515, 158, 56, 68), |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
74 InteractText(361, 512, 245, 33, _("Prisoner cryo chambers"), |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
75 'white', 20, 'Monospace.ttf'), |
408 | 76 )) |
77 } | |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
78 |
408 | 79 INITIAL = 'door' |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
80 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
81 |
131 | 82 class ToBridge(DoorThing): |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
83 "Way to bridge room." |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
84 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
85 NAME = "map.tobridge" |
131 | 86 DEST = "bridge" |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
87 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
88 INTERACTS = { |
822
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
89 'door': InteractUnion(( |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
90 InteractNoImage(36, 260, 60, 83), |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
91 InteractText(26, 170, 71, 33, _("Bridge"), 'white', 20, |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
92 'Monospace.ttf'), |
408 | 93 )) |
94 } | |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
95 |
408 | 96 INITIAL = 'door' |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
97 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
98 |
131 | 99 class ToMess(DoorThing): |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
100 "Way to cryo room." |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
101 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
102 NAME = "map.tomess" |
131 | 103 DEST = "mess" |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
104 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
105 INTERACTS = { |
822
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
106 'door': InteractUnion(( |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
107 InteractNoImage(395, 262, 64, 80), |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
108 InteractText(341, 430, 110, 33, _("Mess hall"), 'white', 20, |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
109 'Monospace.ttf'), |
408 | 110 )) |
111 } | |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
112 |
408 | 113 INITIAL = 'door' |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
114 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
115 |
132
686bb74a52f8
Map shows accessible areas.
Jeremy Thurgood <firxen@gmail.com>
parents:
131
diff
changeset
|
116 class ToEngine(DoorThing): |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
117 "Way to engine room." |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
118 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
119 NAME = "map.toengine" |
131 | 120 DEST = "engine" |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
121 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
122 INTERACTS = { |
822
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
123 'door': InteractUnion(( |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
124 InteractNoImage(691, 279, 76, 54), |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
125 InteractText(662, 496, 128, 33, _("Engine room"), 'white', 20, |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
126 'Monospace.ttf'), |
408 | 127 )) |
128 } | |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
129 |
408 | 130 INITIAL = 'door' |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
131 |
466
af2a23b9787d
You can now use doors while wielding things.
Jeremy Thurgood <firxen@gmail.com>
parents:
444
diff
changeset
|
132 def interact(self, item): |
816 | 133 if not self.game.is_in_inventory('helmet:'): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
134 return Result(_('The airlock refuses to open. The automated' |
417
aba8e7895324
map corrections
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
413
diff
changeset
|
135 ' voice says: "Hull breach beyond this door. Personnel' |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
136 ' must be equipped for vacuum before entry."')) |
343
b3bc101171ea
Don't allow access to the engine room without helmet
Neil Muller <neil@dip.sun.ac.za>
parents:
263
diff
changeset
|
137 else: |
466
af2a23b9787d
You can now use doors while wielding things.
Jeremy Thurgood <firxen@gmail.com>
parents:
444
diff
changeset
|
138 return super(ToEngine, self).interact(item) |
343
b3bc101171ea
Don't allow access to the engine room without helmet
Neil Muller <neil@dip.sun.ac.za>
parents:
263
diff
changeset
|
139 |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
140 |
131 | 141 class ToMachine(DoorThing): |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
142 "Way to machine room." |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
143 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
144 NAME = "map.tomachine" |
131 | 145 DEST = "machine" |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
146 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
147 INTERACTS = { |
822
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
148 'door': InteractUnion(( |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
149 InteractNoImage(608, 156, 57, 72), |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
150 InteractText(578, 83, 140, 33, _("Machine room"), 'white', 20, |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
151 'Monospace.ttf'), |
408 | 152 )) |
153 } | |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
154 |
408 | 155 INITIAL = 'door' |
130
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
156 |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
157 |
241
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
158 class ToCrew(DoorThing): |
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
159 "Way to crew quarters." |
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
160 |
355
bfb6c682b4fb
Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents:
345
diff
changeset
|
161 NAME = "map.tocrew_quarters" |
241
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
162 DEST = "crew_quarters" |
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
163 |
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
164 INTERACTS = { |
822
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
165 'door': InteractUnion(( |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
166 InteractNoImage(210, 321, 37, 64), |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
167 InteractText(69, 460, 160, 33, _("Crew quarters"), 'white', 20, |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
168 'Monospace.ttf'), |
408 | 169 )) |
170 } | |
241
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
171 |
408 | 172 INITIAL = 'door' |
241
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
173 |
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
174 |
413
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
175 class InaccessibleArea(Thing): |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
176 NAME = 'map.inaccessible' |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
177 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
178 INTERACTS = { |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
179 'areas': InteractRectUnion(( |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
180 (207, 227, 39, 63), |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
181 (256, 225, 35, 64), |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
182 (259, 322, 34, 64), |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
183 (514, 380, 58, 66), |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
184 (607, 377, 60, 70), |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
185 )) |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
186 } |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
187 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
188 INITIAL = 'areas' |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
189 |
466
af2a23b9787d
You can now use doors while wielding things.
Jeremy Thurgood <firxen@gmail.com>
parents:
444
diff
changeset
|
190 def interact(self, _item): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
191 return Result(_("You look in the door, but just see empty space: " |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
192 "that room appears to have been obliterated by " |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
193 "meteors.")) |
413
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
194 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
195 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
196 class HydroponicsArea(Thing): |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
197 NAME = 'map.hydroponics' |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
198 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
199 INTERACTS = { |
822
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
200 'areas': InteractUnion(( |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
201 InteractNoImage(314, 263, 73, 81), |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
202 InteractText(313, 132, 140, 33, _("Hydroponics"), 'white', 20, |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
203 'Monospace.ttf'), |
413
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
204 )) |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
205 } |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
206 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
207 INITIAL = 'areas' |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
208 |
466
af2a23b9787d
You can now use doors while wielding things.
Jeremy Thurgood <firxen@gmail.com>
parents:
444
diff
changeset
|
209 def interact(self, _item): |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
210 return Result(_("Peering in through the window, you see that the " |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
211 "entire chamber is overgrown with giant broccoli. " |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
212 "It would take you years to cut a path through that.")) |
413
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
213 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
214 |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
215 SCENES = [Map] |