Mercurial > pyntnclick
annotate gamelib/scenes/map.py @ 764:a8510f4e2ea1 pyntnclick
Conditionally add things based on state.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Sat, 26 Jan 2013 15:24:56 +0200 |
parents | d6ded808cc33 |
children | 43b49f1de828 |
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 |
549 | 10 from pyntnclick.state import Scene, Thing, Result |
11 from pyntnclick.scenewidgets import InteractRectUnion | |
525
821b322e903b
Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
466
diff
changeset
|
12 |
212
2b820b4ba3bf
Add constant for player id. Make IDs uppercase
Neil Muller <neil@dip.sun.ac.za>
parents:
210
diff
changeset
|
13 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
|
14 from gamelib.scenes.game_widgets import make_jim_dialog |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
15 |
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 class Map(Scene): |
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 FOLDER = "map" |
408 | 20 BACKGROUND = 'map.png' |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
21 |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
22 INITIAL_DATA = { |
203 | 23 'implant': True, |
408 | 24 } |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
25 |
592
4e9178215e75
Introduce .setup() for GameDeveloperGizmos.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
549
diff
changeset
|
26 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
|
27 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
|
28 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
|
29 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
|
30 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
|
31 self.add_thing(ToMachine()) |
241
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
32 self.add_thing(ToCrew()) |
413
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
33 self.add_thing(InaccessibleArea()) |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
34 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
|
35 |
132
686bb74a52f8
Map shows accessible areas.
Jeremy Thurgood <firxen@gmail.com>
parents:
131
diff
changeset
|
36 def enter(self): |
203 | 37 if self.get_data('implant'): |
38 self.set_data('implant', False) | |
360
452230d78541
Use make_jim_dialog everywhere
Neil Muller <neil@dip.sun.ac.za>
parents:
355
diff
changeset
|
39 ai1 = make_jim_dialog( |
452230d78541
Use make_jim_dialog everywhere
Neil Muller <neil@dip.sun.ac.za>
parents:
355
diff
changeset
|
40 "Under the terms of the emergency conscription " |
224
8d8aef45db4e
fixed some typos
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
212
diff
changeset
|
41 "act, I have downloaded the ship's schematics to your " |
376
41ee3fc71404
Tweaks to text and JIM background.
Jeremy Thurgood <firxen@gmail.com>
parents:
360
diff
changeset
|
42 "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
|
43 self.game) |
360
452230d78541
Use make_jim_dialog everywhere
Neil Muller <neil@dip.sun.ac.za>
parents:
355
diff
changeset
|
44 if ai1: |
435 | 45 return ai1, make_jim_dialog("Prisoner %s, you are a " |
46 "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
|
47 "constitutes a level 2 offence and carries a minimal penalty " |
540 | 48 "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
|
49 self.game) |
132
686bb74a52f8
Map shows accessible areas.
Jeremy Thurgood <firxen@gmail.com>
parents:
131
diff
changeset
|
50 |
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
|
51 |
131 | 52 class DoorThing(Thing): |
53 | |
54 # name of destination | |
55 DEST = None | |
56 | |
466
af2a23b9787d
You can now use doors while wielding things.
Jeremy Thurgood <firxen@gmail.com>
parents:
444
diff
changeset
|
57 def interact(self, _item): |
131 | 58 """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
|
59 if self.DEST in self.game.scenes: |
692
d6ded808cc33
Much scene management refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
603
diff
changeset
|
60 self.game.change_scene(self.DEST) |
131 | 61 |
62 | |
63 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
|
64 "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
|
65 |
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 NAME = "map.tocryo" |
131 | 67 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
|
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 INTERACTS = { |
408 | 70 'door': InteractRectUnion(( |
71 (515, 158, 56, 68), | |
72 (361, 519, 245, 29), | |
73 )) | |
74 } | |
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
|
75 |
408 | 76 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
|
77 |
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 |
131 | 79 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
|
80 "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
|
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 NAME = "map.tobridge" |
131 | 83 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
|
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 INTERACTS = { |
408 | 86 'door': InteractRectUnion(( |
87 (36, 260, 60, 83), | |
88 (26, 177, 71, 21), | |
89 )) | |
90 } | |
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
|
91 |
408 | 92 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
|
93 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
94 |
131 | 95 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
|
96 "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
|
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 NAME = "map.tomess" |
131 | 99 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
|
100 |
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 INTERACTS = { |
408 | 102 'door': InteractRectUnion(( |
103 (395, 262, 64, 80), | |
104 (341, 434, 110, 27), | |
105 )) | |
106 } | |
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
|
107 |
408 | 108 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
|
109 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
110 |
132
686bb74a52f8
Map shows accessible areas.
Jeremy Thurgood <firxen@gmail.com>
parents:
131
diff
changeset
|
111 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
|
112 "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
|
113 |
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 NAME = "map.toengine" |
131 | 115 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
|
116 |
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 INTERACTS = { |
408 | 118 'door': InteractRectUnion(( |
119 (691, 279, 76, 54), | |
120 (662, 500, 128, 23), | |
121 )) | |
122 } | |
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
|
123 |
408 | 124 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
|
125 |
466
af2a23b9787d
You can now use doors while wielding things.
Jeremy Thurgood <firxen@gmail.com>
parents:
444
diff
changeset
|
126 def interact(self, item): |
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
|
127 if not self.game.is_in_inventory('helmet'): |
345
782ff7e53928
Make airlock warning not JIM's
Neil Muller <neil@dip.sun.ac.za>
parents:
343
diff
changeset
|
128 return Result('The airlock refuses to open. The automated' |
417
aba8e7895324
map corrections
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
413
diff
changeset
|
129 ' voice says: "Hull breach beyond this door. Personnel' |
aba8e7895324
map corrections
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
413
diff
changeset
|
130 ' 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
|
131 else: |
466
af2a23b9787d
You can now use doors while wielding things.
Jeremy Thurgood <firxen@gmail.com>
parents:
444
diff
changeset
|
132 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
|
133 |
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
|
134 |
131 | 135 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
|
136 "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
|
137 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
138 NAME = "map.tomachine" |
131 | 139 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
|
140 |
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 INTERACTS = { |
408 | 142 'door': InteractRectUnion(( |
143 (608, 156, 57, 72), | |
144 (578, 91, 140, 23), | |
145 )) | |
146 } | |
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 |
408 | 148 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
|
149 |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
150 |
241
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
151 class ToCrew(DoorThing): |
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
152 "Way to crew quarters." |
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
153 |
355
bfb6c682b4fb
Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents:
345
diff
changeset
|
154 NAME = "map.tocrew_quarters" |
241
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
155 DEST = "crew_quarters" |
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
156 |
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
157 INTERACTS = { |
408 | 158 'door': InteractRectUnion(( |
159 (210, 321, 37, 64), | |
160 (69, 469, 148, 26), | |
161 )) | |
162 } | |
241
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
163 |
408 | 164 INITIAL = 'door' |
241
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
165 |
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
166 |
413
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
167 class InaccessibleArea(Thing): |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
168 NAME = 'map.inaccessible' |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
169 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
170 INTERACTS = { |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
171 'areas': InteractRectUnion(( |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
172 (207, 227, 39, 63), |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
173 (256, 225, 35, 64), |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
174 (259, 322, 34, 64), |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
175 (514, 380, 58, 66), |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
176 (607, 377, 60, 70), |
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 } |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
179 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
180 INITIAL = 'areas' |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
181 |
466
af2a23b9787d
You can now use doors while wielding things.
Jeremy Thurgood <firxen@gmail.com>
parents:
444
diff
changeset
|
182 def interact(self, _item): |
417
aba8e7895324
map corrections
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
413
diff
changeset
|
183 return Result("You look in the door, but just see empty space: " |
444
b1e38ac3abb1
Obliterated by meteors.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
435
diff
changeset
|
184 "that room appears to have been obliterated by meteors.") |
413
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 class HydroponicsArea(Thing): |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
188 NAME = 'map.hydroponics' |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
189 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
190 INTERACTS = { |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
191 'areas': InteractRectUnion(( |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
192 (314, 263, 73, 81), |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
193 (313, 138, 125, 22), |
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 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
197 INITIAL = 'areas' |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
198 |
466
af2a23b9787d
You can now use doors while wielding things.
Jeremy Thurgood <firxen@gmail.com>
parents:
444
diff
changeset
|
199 def interact(self, _item): |
417
aba8e7895324
map corrections
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
413
diff
changeset
|
200 return Result("Peering in through the window, you see that the entire " |
aba8e7895324
map corrections
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
413
diff
changeset
|
201 "chamber is overgrown with giant broccoli. It would " |
aba8e7895324
map corrections
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
413
diff
changeset
|
202 "take you years to cut a path through that.") |
413
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
203 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
204 |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
205 SCENES = [Map] |