Mercurial > boomslang
annotate gamelib/scenes/map.py @ 426:dabc9d15c18c
Jim complains when you break the chair
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Sat, 28 Aug 2010 23:25:48 +0200 |
parents | aba8e7895324 |
children | 19aff54b2e73 |
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 |
263
3b4a78422201
Shuffled a bunch of stuff into more appropriate places.
Jeremy Thurgood <firxen@gmail.com>
parents:
241
diff
changeset
|
10 from gamelib.state import Scene, Item, Thing, Result |
212
2b820b4ba3bf
Add constant for player id. Make IDs uppercase
Neil Muller <neil@dip.sun.ac.za>
parents:
210
diff
changeset
|
11 from gamelib.scenes.game_constants import PLAYER_ID |
263
3b4a78422201
Shuffled a bunch of stuff into more appropriate places.
Jeremy Thurgood <firxen@gmail.com>
parents:
241
diff
changeset
|
12 from gamelib.scenes.scene_widgets import (Door, InteractText, InteractNoImage, |
3b4a78422201
Shuffled a bunch of stuff into more appropriate places.
Jeremy Thurgood <firxen@gmail.com>
parents:
241
diff
changeset
|
13 InteractRectUnion, InteractImage, |
360
452230d78541
Use make_jim_dialog everywhere
Neil Muller <neil@dip.sun.ac.za>
parents:
355
diff
changeset
|
14 InteractAnimated, GenericDescThing, |
452230d78541
Use make_jim_dialog everywhere
Neil Muller <neil@dip.sun.ac.za>
parents:
355
diff
changeset
|
15 make_jim_dialog) |
47
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 |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
18 class Map(Scene): |
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 FOLDER = "map" |
408 | 21 BACKGROUND = 'map.png' |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
22 |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
23 INITIAL_DATA = { |
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
24 'accessible': True, |
203 | 25 'implant': True, |
408 | 26 } |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
27 |
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
|
28 def __init__(self, state): |
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 super(Map, self).__init__(state) |
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(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
|
31 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
|
32 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
|
33 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
|
34 self.add_thing(ToMachine()) |
241
b1451b0b906f
Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
224
diff
changeset
|
35 self.add_thing(ToCrew()) |
413
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
36 self.add_thing(InaccessibleArea()) |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
37 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
|
38 |
132
686bb74a52f8
Map shows accessible areas.
Jeremy Thurgood <firxen@gmail.com>
parents:
131
diff
changeset
|
39 def enter(self): |
203 | 40 if self.get_data('implant'): |
41 self.set_data('implant', False) | |
360
452230d78541
Use make_jim_dialog everywhere
Neil Muller <neil@dip.sun.ac.za>
parents:
355
diff
changeset
|
42 ai1 = make_jim_dialog( |
452230d78541
Use make_jim_dialog everywhere
Neil Muller <neil@dip.sun.ac.za>
parents:
355
diff
changeset
|
43 "Under the terms of the emergency conscription " |
224
8d8aef45db4e
fixed some typos
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
212
diff
changeset
|
44 "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
|
45 "neural implant to help you navigate around the ship.", |
41ee3fc71404
Tweaks to text and JIM background.
Jeremy Thurgood <firxen@gmail.com>
parents:
360
diff
changeset
|
46 self.state) |
360
452230d78541
Use make_jim_dialog everywhere
Neil Muller <neil@dip.sun.ac.za>
parents:
355
diff
changeset
|
47 if ai1: |
376
41ee3fc71404
Tweaks to text and JIM background.
Jeremy Thurgood <firxen@gmail.com>
parents:
360
diff
changeset
|
48 return ai1, make_jim_dialog("Prisoner %s, you are classed " |
224
8d8aef45db4e
fixed some typos
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
212
diff
changeset
|
49 "as a class 1 felon. Obtaining access to the ship's schematics " |
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 " |
360
452230d78541
Use make_jim_dialog everywhere
Neil Muller <neil@dip.sun.ac.za>
parents:
355
diff
changeset
|
51 "of an additional 3 years on your sentence.'" % PLAYER_ID, self.state) |
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 | |
59 def interact_without(self): | |
60 """Go to destination.""" | |
61 if self.DEST in self.state.scenes: | |
133
0530547a131f
Better map handling, detail_view stuff in Result.
Jeremy Thurgood <firxen@gmail.com>
parents:
132
diff
changeset
|
62 if self.state.scenes[self.DEST].get_data('accessible'): |
0530547a131f
Better map handling, detail_view stuff in Result.
Jeremy Thurgood <firxen@gmail.com>
parents:
132
diff
changeset
|
63 self.state.set_current_scene(self.DEST) |
0530547a131f
Better map handling, detail_view stuff in Result.
Jeremy Thurgood <firxen@gmail.com>
parents:
132
diff
changeset
|
64 return Result() |
0530547a131f
Better map handling, detail_view stuff in Result.
Jeremy Thurgood <firxen@gmail.com>
parents:
132
diff
changeset
|
65 else: |
0530547a131f
Better map handling, detail_view stuff in Result.
Jeremy Thurgood <firxen@gmail.com>
parents:
132
diff
changeset
|
66 return Result("You can't go there right now.") |
0530547a131f
Better map handling, detail_view stuff in Result.
Jeremy Thurgood <firxen@gmail.com>
parents:
132
diff
changeset
|
67 else: |
0530547a131f
Better map handling, detail_view stuff in Result.
Jeremy Thurgood <firxen@gmail.com>
parents:
132
diff
changeset
|
68 return Result("You *could* go there, but it doesn't actually exist.") |
131 | 69 |
70 | |
71 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
|
72 "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
|
73 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
74 NAME = "map.tocryo" |
131 | 75 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
|
76 |
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 INTERACTS = { |
408 | 78 'door': InteractRectUnion(( |
79 (515, 158, 56, 68), | |
80 (361, 519, 245, 29), | |
81 )) | |
82 } | |
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 |
408 | 84 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
|
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 |
131 | 87 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
|
88 "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
|
89 |
11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
51
diff
changeset
|
90 NAME = "map.tobridge" |
131 | 91 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
|
92 |
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 INTERACTS = { |
408 | 94 'door': InteractRectUnion(( |
95 (36, 260, 60, 83), | |
96 (26, 177, 71, 21), | |
97 )) | |
98 } | |
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
|
99 |
408 | 100 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
|
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 |
131 | 103 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
|
104 "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
|
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 NAME = "map.tomess" |
131 | 107 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
|
108 |
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 INTERACTS = { |
408 | 110 'door': InteractRectUnion(( |
111 (395, 262, 64, 80), | |
112 (341, 434, 110, 27), | |
113 )) | |
114 } | |
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 |
408 | 116 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
|
117 |
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 |
132
686bb74a52f8
Map shows accessible areas.
Jeremy Thurgood <firxen@gmail.com>
parents:
131
diff
changeset
|
119 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
|
120 "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
|
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 NAME = "map.toengine" |
131 | 123 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
|
124 |
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 INTERACTS = { |
408 | 126 'door': InteractRectUnion(( |
127 (691, 279, 76, 54), | |
128 (662, 500, 128, 23), | |
129 )) | |
130 } | |
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 |
408 | 132 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
|
133 |
343
b3bc101171ea
Don't allow access to the engine room without helmet
Neil Muller <neil@dip.sun.ac.za>
parents:
263
diff
changeset
|
134 def interact_without(self): |
b3bc101171ea
Don't allow access to the engine room without helmet
Neil Muller <neil@dip.sun.ac.za>
parents:
263
diff
changeset
|
135 if not self.state.is_in_inventory('helmet'): |
345
782ff7e53928
Make airlock warning not JIM's
Neil Muller <neil@dip.sun.ac.za>
parents:
343
diff
changeset
|
136 return Result('The airlock refuses to open. The automated' |
417
aba8e7895324
map corrections
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
413
diff
changeset
|
137 ' voice says: "Hull breach beyond this door. Personnel' |
aba8e7895324
map corrections
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
413
diff
changeset
|
138 ' 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
|
139 else: |
b3bc101171ea
Don't allow access to the engine room without helmet
Neil Muller <neil@dip.sun.ac.za>
parents:
263
diff
changeset
|
140 return super(ToEngine, self).interact_without() |
b3bc101171ea
Don't allow access to the engine room without helmet
Neil Muller <neil@dip.sun.ac.za>
parents:
263
diff
changeset
|
141 |
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 |
131 | 143 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
|
144 "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
|
145 |
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 NAME = "map.tomachine" |
131 | 147 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
|
148 |
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 INTERACTS = { |
408 | 150 'door': InteractRectUnion(( |
151 (608, 156, 57, 72), | |
152 (578, 91, 140, 23), | |
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 = { |
408 | 166 'door': InteractRectUnion(( |
167 (210, 321, 37, 64), | |
168 (69, 469, 148, 26), | |
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 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
190 def interact_without(self): |
417
aba8e7895324
map corrections
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
413
diff
changeset
|
191 return Result("You look in the door, but just see empty space: " |
413
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
192 "that room appears to be missing.") |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
193 |
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 class HydroponicsArea(Thing): |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
196 NAME = 'map.hydroponics' |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
197 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
198 INTERACTS = { |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
199 'areas': InteractRectUnion(( |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
200 (314, 263, 73, 81), |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
201 (313, 138, 125, 22), |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
202 )) |
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 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
205 INITIAL = 'areas' |
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 def interact_without(self): |
417
aba8e7895324
map corrections
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
413
diff
changeset
|
208 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
|
209 "chamber is overgrown with giant broccoli. It would " |
aba8e7895324
map corrections
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
413
diff
changeset
|
210 "take you years to cut a path through that.") |
413
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
211 |
4ce318029cd1
Map: Inaccessible areas
Stefano Rivera <stefano@rivera.za.net>
parents:
408
diff
changeset
|
212 |
47
8f1fccb8cadf
Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff
changeset
|
213 SCENES = [Map] |