annotate gamelib/scenes/crew_quarters.py @ 478:a9925aaf5f61 1.0.1

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