annotate gamelib/scenes/map.py @ 417:aba8e7895324

map corrections
author Adrianna Pińska <adrianna.pinska@gmail.com>
date Sat, 28 Aug 2010 22:53:40 +0200
parents 4ce318029cd1
children 19aff54b2e73
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
47
8f1fccb8cadf Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff changeset
1 """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
3417cf0e8795 Place for artist credits.
Simon Cross <simon@simonx>
parents: 47
diff changeset
6
3417cf0e8795 Place for artist credits.
Simon Cross <simon@simonx>
parents: 47
diff changeset
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
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
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
12c66793db8f Add neural implant text
Neil Muller <neil@dip.sun.ac.za>
parents: 133
diff changeset
25 'implant': True,
408
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
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
12c66793db8f Add neural implant text
Neil Muller <neil@dip.sun.ac.za>
parents: 133
diff changeset
40 if self.get_data('implant'):
12c66793db8f Add neural implant text
Neil Muller <neil@dip.sun.ac.za>
parents: 133
diff changeset
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
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
54 class DoorThing(Thing):
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
55
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
56 # name of destination
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
57 DEST = None
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
58
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
59 def interact_without(self):
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
60 """Go to destination."""
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
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
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
69
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
70
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
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
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
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
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
78 'door': InteractRectUnion((
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
79 (515, 158, 56, 68),
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
80 (361, 519, 245, 29),
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
81 ))
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
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
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
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
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
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
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
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
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
94 'door': InteractRectUnion((
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
95 (36, 260, 60, 83),
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
96 (26, 177, 71, 21),
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
97 ))
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
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
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
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
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
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
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
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
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
110 'door': InteractRectUnion((
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
111 (395, 262, 64, 80),
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
112 (341, 434, 110, 27),
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
113 ))
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
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
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
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
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
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
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
126 'door': InteractRectUnion((
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
127 (691, 279, 76, 54),
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
128 (662, 500, 128, 23),
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
129 ))
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
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
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
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
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
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
97c5ff0a05bb Hook up map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 130
diff changeset
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
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
150 'door': InteractRectUnion((
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
151 (608, 156, 57, 72),
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
152 (578, 91, 140, 23),
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
153 ))
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
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
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
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
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
166 'door': InteractRectUnion((
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
167 (210, 321, 37, 64),
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
168 (69, 469, 148, 26),
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
169 ))
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
170 }
241
b1451b0b906f Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 224
diff changeset
171
408
308a433c4713 Initial map hookup
Stefano Rivera <stefano@rivera.za.net>
parents: 376
diff changeset
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]