Mercurial > boomslang
annotate gamelib/scenes/map.py @ 854:79b5c1be9a5e default tip
Remove pyntnclick, it's its own library, now
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Sat, 21 Jun 2014 22:06:09 +0200 |
parents | bdebe693453f |
children |
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 |
837 | 16 from gamelib.scenes.game_widgets import make_jim_dialog, make_sentence_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: |
837 | 47 self.state.increase_sentence(3) |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
48 return ai1, make_jim_dialog(_("Prisoner %s, you are a " |
435 | 49 "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
|
50 "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
|
51 "of an additional 3 years on your sentence.") % PLAYER_ID, |
837 | 52 self.game), make_sentence_dialog(PLAYER_ID, self.game) |
132
686bb74a52f8
Map shows accessible areas.
Jeremy Thurgood <firxen@gmail.com>
parents:
131
diff
changeset
|
53 |
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
|
54 |
131 | 55 class DoorThing(Thing): |
56 | |
57 # name of destination | |
58 DEST = None | |
59 | |
466
af2a23b9787d
You can now use doors while wielding things.
Jeremy Thurgood <firxen@gmail.com>
parents:
444
diff
changeset
|
60 def interact(self, _item): |
131 | 61 """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
|
62 if self.DEST in self.game.scenes: |
692
d6ded808cc33
Much scene management refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
603
diff
changeset
|
63 self.game.change_scene(self.DEST) |
131 | 64 |
65 | |
66 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
|
67 "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
|
68 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
69 NAME = "map.tocryo" |
131 | 70 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
|
71 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
72 INTERACTS = { |
822
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
73 'door': InteractUnion(( |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
74 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
|
75 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
|
76 'white', 20, 'Monospace.ttf'), |
408 | 77 )) |
78 } | |
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
|
79 |
408 | 80 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
|
81 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
82 |
131 | 83 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
|
84 "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
|
85 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
86 NAME = "map.tobridge" |
131 | 87 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
|
88 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
89 INTERACTS = { |
822
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
90 'door': InteractUnion(( |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
91 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
|
92 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
|
93 'Monospace.ttf'), |
408 | 94 )) |
95 } | |
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
|
96 |
408 | 97 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
|
98 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
99 |
131 | 100 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
|
101 "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
|
102 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
103 NAME = "map.tomess" |
131 | 104 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
|
105 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
106 INTERACTS = { |
822
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
107 'door': InteractUnion(( |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
108 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
|
109 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
|
110 'Monospace.ttf'), |
408 | 111 )) |
112 } | |
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
|
113 |
408 | 114 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
|
115 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
116 |
132
686bb74a52f8
Map shows accessible areas.
Jeremy Thurgood <firxen@gmail.com>
parents:
131
diff
changeset
|
117 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
|
118 "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
|
119 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
120 NAME = "map.toengine" |
131 | 121 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
|
122 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
123 INTERACTS = { |
822
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
124 'door': InteractUnion(( |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
125 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
|
126 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
|
127 'Monospace.ttf'), |
408 | 128 )) |
129 } | |
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
|
130 |
408 | 131 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
|
132 |
466
af2a23b9787d
You can now use doors while wielding things.
Jeremy Thurgood <firxen@gmail.com>
parents:
444
diff
changeset
|
133 def interact(self, item): |
816 | 134 if not self.game.is_in_inventory('helmet:'): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
135 return Result(_('The airlock refuses to open. The automated' |
417
aba8e7895324
map corrections
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
413
diff
changeset
|
136 ' voice says: "Hull breach beyond this door. Personnel' |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
137 ' 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
|
138 else: |
466
af2a23b9787d
You can now use doors while wielding things.
Jeremy Thurgood <firxen@gmail.com>
parents:
444
diff
changeset
|
139 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
|
140 |
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
|
141 |
131 | 142 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
|
143 "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
|
144 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
145 NAME = "map.tomachine" |
131 | 146 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
|
147 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
148 INTERACTS = { |
822
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
149 'door': InteractUnion(( |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
150 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
|
151 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
|
152 'Monospace.ttf'), |
408 | 153 )) |
154 } | |
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
|
155 |
408 | 156 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
|
157 |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
158 |
241
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
159 class ToCrew(DoorThing): |
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
160 "Way to crew quarters." |
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
161 |
355
bfb6c682b4fb
Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents:
345
diff
changeset
|
162 NAME = "map.tocrew_quarters" |
241
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
163 DEST = "crew_quarters" |
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
164 |
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
165 INTERACTS = { |
822
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
166 'door': InteractUnion(( |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
167 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
|
168 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
|
169 'Monospace.ttf'), |
408 | 170 )) |
171 } | |
241
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
172 |
408 | 173 INITIAL = 'door' |
241
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
174 |
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
175 |
413
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
176 class InaccessibleArea(Thing): |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
177 NAME = 'map.inaccessible' |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
178 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
179 INTERACTS = { |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
180 'areas': InteractRectUnion(( |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
181 (207, 227, 39, 63), |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
182 (256, 225, 35, 64), |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
183 (259, 322, 34, 64), |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
184 (514, 380, 58, 66), |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
185 (607, 377, 60, 70), |
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 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
189 INITIAL = 'areas' |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
190 |
466
af2a23b9787d
You can now use doors while wielding things.
Jeremy Thurgood <firxen@gmail.com>
parents:
444
diff
changeset
|
191 def interact(self, _item): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
192 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
|
193 "that room appears to have been obliterated by " |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
194 "meteors.")) |
413
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 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
197 class HydroponicsArea(Thing): |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
198 NAME = 'map.hydroponics' |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
199 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
200 INTERACTS = { |
822
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
201 'areas': InteractUnion(( |
108eeb4d8f65
Convert map to use InteractText for room labels
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
202 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
|
203 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
|
204 'Monospace.ttf'), |
413
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 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
208 INITIAL = 'areas' |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
209 |
466
af2a23b9787d
You can now use doors while wielding things.
Jeremy Thurgood <firxen@gmail.com>
parents:
444
diff
changeset
|
210 def interact(self, _item): |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
211 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
|
212 "entire chamber is overgrown with giant broccoli. " |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
213 "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
|
214 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
215 |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
216 SCENES = [Map] |