annotate gamelib/scenes/crew_quarters.py @ 359:6b94f549443b

JIM comments on safe opening, if able
author Neil Muller <neil@dip.sun.ac.za>
date Sat, 28 Aug 2010 16:36:38 +0200
parents bfb6c682b4fb
children 452230d78541
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
1 """Crew quarters."""
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
2
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
3 from gamelib.cursor import CursorSprite
263
3b4a78422201 Shuffled a bunch of stuff into more appropriate places.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
4 from gamelib.state import Scene, Item, Thing, Result
359
6b94f549443b JIM comments on safe opening, if able
Neil Muller <neil@dip.sun.ac.za>
parents: 355
diff changeset
5
6b94f549443b JIM comments on safe opening, if able
Neil Muller <neil@dip.sun.ac.za>
parents: 355
diff changeset
6 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: 252
diff changeset
7 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: 252
diff changeset
8 InteractRectUnion, InteractImage,
350
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
9 InteractAnimated, GenericDescThing,
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
10 BaseCamera)
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
11
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
12 class CrewQuarters(Scene):
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
13
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
14 FOLDER = "crew_quarters"
275
d78ce15bccc8 Crew quarters background and toolbar on the rect tool.
Jeremy Thurgood <firxen@gmail.com>
parents: 263
diff changeset
15 BACKGROUND = "crew_quarters.png"
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
16
283
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
17 OFFSET = (0, -50)
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
18
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
19 INITIAL_DATA = {
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
20 'accessible': True,
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
21 }
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
22
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
23 def __init__(self, state):
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
24 super(CrewQuarters, self).__init__(state)
242
12c4f87ea424 Unify doors a bit
Neil Muller <neil@dip.sun.ac.za>
parents: 241
diff changeset
25 self.add_thing(ToMap())
287
2a11709cb427 Hook up a few things in the crew quarters
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
26 self.add_thing(Safe())
283
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
27 self.add_thing(FishbowlThing())
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
28 self.add_item(Fishbowl('fishbowl'))
288
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
29 self.add_item(DuctTape('duct_tape'))
350
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
30 self.add_item(EscherPoster('escher_poster'))
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
31 self.add_thing(PosterThing())
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
32 self.add_thing(MonitorCamera())
287
2a11709cb427 Hook up a few things in the crew quarters
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
33 self.add_thing(GenericDescThing('crew.plant', 1,
2a11709cb427 Hook up a few things in the crew quarters
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
34 "The plant is doing surprisingly well for centuries of neglect",
2a11709cb427 Hook up a few things in the crew quarters
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
35 ((624, 215, 61, 108),)))
2a11709cb427 Hook up a few things in the crew quarters
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
36 self.add_thing(GenericDescThing('crew.cat', 2,
2a11709cb427 Hook up a few things in the crew quarters
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
37 "A picture of a cat labelled 'Clementine'",
2a11709cb427 Hook up a few things in the crew quarters
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
38 ((722, 382, 66, 72),)))
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
39
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
40
242
12c4f87ea424 Unify doors a bit
Neil Muller <neil@dip.sun.ac.za>
parents: 241
diff changeset
41 class ToMap(Door):
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
42
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 350
diff changeset
43 SCENE = "crew_quarters"
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
44
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
45 INTERACTS = {
287
2a11709cb427 Hook up a few things in the crew quarters
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
46 "door": InteractNoImage(233, 252, 125, 181),
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
47 }
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
48
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
49 INITIAL = "door"
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
50
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
51
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
52 class Safe(Thing):
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
53 "A safe, for keeping things safe."
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
54
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
55 NAME = 'crew.safe'
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
56
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
57 INTERACTS = {
287
2a11709cb427 Hook up a few things in the crew quarters
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
58 'safe': InteractNoImage(447, 238, 72, 73),
288
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
59 'full_safe': InteractImage(445, 227, 'open_safe_full.png'),
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
60 'empty_safe': InteractImage(445, 227, 'open_safe_empty.png'),
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
61 }
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
62
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
63 INITIAL = 'safe'
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
64
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
65 INITIAL_DATA = {
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
66 'is_cracked': False,
288
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
67 'has_tape': True,
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
68 }
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
69
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
70 def interact_without(self):
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
71 if self.get_data('is_cracked'):
288
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
72 if self.get_data('has_tape'):
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
73 self.set_data('has_tape', False)
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
74 self.state.add_inventory_item('duct_tape')
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
75 self.set_interact('empty_safe')
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
76 return Result("Duct tape. It'll stick to everything except "
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
77 "ducts, apparently.")
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
78 return Result("The perfactly balanced door swings frictionlessly "
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
79 "to and fro. What craftsmanship!")
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
80 return Result("The safe is locked. This might be an interesting "
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
81 "challenge, if suitable equipment can be found.")
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
82
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
83 def interact_with_stethoscope(self, item):
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
84 if self.get_data('is_cracked'):
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
85 return Result("It's already unlocked. There's no more challenge.")
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
86 # TODO: Add years to the sentence for safecracking.
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
87 # TODO: Wax lyrical some more about safecracking.
288
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
88 self.set_data('is_cracked', True)
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
89 self.set_interact('full_safe')
359
6b94f549443b JIM comments on safe opening, if able
Neil Muller <neil@dip.sun.ac.za>
parents: 355
diff changeset
90 open_result = Result("Even after centuries of neglect, the tumblers slide"
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
91 " almost silently into place. Turns out the combination"
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
92 " was '1 2 3 4 5'. An idiot must keep his luggage in"
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
93 " here.")
359
6b94f549443b JIM comments on safe opening, if able
Neil Muller <neil@dip.sun.ac.za>
parents: 355
diff changeset
94 if self.state.scenes['bridge'].get_data('ai status') == 'online':
6b94f549443b JIM comments on safe opening, if able
Neil Muller <neil@dip.sun.ac.za>
parents: 355
diff changeset
95 return open_result, Result("JIM says: 'Prisoner %s, you have been observed commiting a felony violation. "
6b94f549443b JIM comments on safe opening, if able
Neil Muller <neil@dip.sun.ac.za>
parents: 355
diff changeset
96 "This will go onto your permenant record, and your sentence may be extended by up to twenty years."
6b94f549443b JIM comments on safe opening, if able
Neil Muller <neil@dip.sun.ac.za>
parents: 355
diff changeset
97 % PLAYER_ID, style="JIM")
6b94f549443b JIM comments on safe opening, if able
Neil Muller <neil@dip.sun.ac.za>
parents: 355
diff changeset
98 else:
6b94f549443b JIM comments on safe opening, if able
Neil Muller <neil@dip.sun.ac.za>
parents: 355
diff changeset
99 return open_result
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
100
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
101 def get_description(self):
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
102 return "Ah, a vintage Knoxx & Co. model QR3. Quaint, but reasonably secure."
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
103
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
104
283
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
105 class FishbowlThing(Thing):
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
106 "A safe, for keeping things safe."
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
107
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
108 NAME = 'crew.fishbowl'
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
109
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
110 INTERACTS = {
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
111 'fishbowl': InteractImage(356, 495, 'fishbowl_on_table.png'),
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
112 'fish_no_bowl': InteractImage(372, 517, 'fish_minus_bowl.png'),
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
113 }
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
114
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
115 INITIAL = 'fishbowl'
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
116
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
117 INITIAL_DATA = {
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
118 'has_bowl': True,
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
119 }
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
120
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
121 def interact_without(self):
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
122 if not self.get_data('has_bowl'):
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
123 return Result("What's the point of lugging around a very dead fish "
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
124 "and a kilogram or so of sand?")
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
125 self.set_interact('fish_no_bowl')
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
126 self.set_data('has_bowl', False)
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
127 self.state.add_inventory_item('fishbowl')
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
128 return Result("The fishbowl is useful, but its contents aren't.")
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
129
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
130 def get_description(self):
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
131 return "This fishbowl looks exactly like an old science fiction space helmet."
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
132
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
133 class Fishbowl(Item):
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
134 "A bowl. Sans fish."
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
135
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
136 INVENTORY_IMAGE = 'fishbowl.png'
302
6d93e04036c9 CursorSprite: Default pointer-position to the centre of the cursor
Stefano Rivera <stefano@rivera.za.net>
parents: 288
diff changeset
137 CURSOR = CursorSprite('fishbowl.png')
342
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
138 NAME = "fishbowl"
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
139
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
140 def interact_with_duct_tape(self, item, state):
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
141 helmet = FishbowlHelmet('helmet')
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
142 state.add_item(helmet)
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
143 state.replace_inventory_item(self.name, helmet.name)
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
144 return Result("You duct tape the edges of the helmet. The seal is"
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
145 " crude, but it will serve as a workable helmet if needed")
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
146
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
147
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
148 class FishbowlHelmet(Item):
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
149 "A bowl with duct-tape"
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
150
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
151 INVENTORY_IMAGE = "fishbowl_helmet.png"
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
152 CURSOR = CursorSprite('fishbowl_helmet.png')
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
153 NAME = "helmet"
283
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
154
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
155
288
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
156 class DuctTape(Item):
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
157 "A bowl. Sans fish."
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
158
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
159 INVENTORY_IMAGE = 'duct_tape.png'
302
6d93e04036c9 CursorSprite: Default pointer-position to the centre of the cursor
Stefano Rivera <stefano@rivera.za.net>
parents: 288
diff changeset
160 CURSOR = CursorSprite('duct_tape.png')
288
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
161
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
162
350
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
163 class MonitorCamera(BaseCamera):
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
164 "A Camera pointing to JIM"
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
165
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
166 NAME = 'crew.camera'
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
167
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
168 INTERACTS = {
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
169 'camera' : InteractImage(85, 97, 'camera_medium.png')
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
170 }
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
171
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
172
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
173 class PosterThing(Thing):
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
174 "A innocent poster on the wall"
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
175
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
176 NAME = 'crew.poster'
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
177
350
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
178 INTERACTS = {
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
179 'poster': InteractImage(29, 166, 'triangle_poster.png'),
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
180 }
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
181
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
182 INITIAL = 'poster'
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
183
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
184 def interact_without(self):
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
185 self.state.add_inventory_item('escher_poster')
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
186 self.scene.remove_thing(self)
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
187 return Result("This poster will go nicely on your bedroom wall.")
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
188
350
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
189 def get_description(self):
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
190 return "A paradoxial poster hanges below the security camera"
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
191
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
192
350
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
193 class EscherPoster(Item):
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
194 "A confusing poster to disable JIM"
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
195
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
196 INVENTORY_IMAGE = "triangle_poster.png"
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
197 CURSOR = CursorSprite('triangle_poster.png')
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
198 NAME = "escher_poster"
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
199
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
200
241
b1451b0b906f Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 233
diff changeset
201 SCENES = [CrewQuarters]