annotate gamelib/scenes/crew_quarters.py @ 765:2f1952748cdb i18n

merge i18n and Russian translation
author Stefano Rivera <stefano@rivera.za.net>
date Tue, 08 Mar 2011 14:37:43 +0200
parents 0ce08d5e2acb a9925aaf5f61
children 43b49f1de828
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
528
0ce08d5e2acb pyflakes-induced cleanup.
Jeremy Thurgood <firxen@gmail.com>
parents: 525
diff changeset
5 from gamelib.scenewidgets import (InteractNoImage, InteractImage,
525
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents: 491
diff changeset
6 InteractAnimated, GenericDescThing)
359
6b94f549443b JIM comments on safe opening, if able
Neil Muller <neil@dip.sun.ac.za>
parents: 355
diff changeset
7
6b94f549443b JIM comments on safe opening, if able
Neil Muller <neil@dip.sun.ac.za>
parents: 355
diff changeset
8 from gamelib.scenes.game_constants import PLAYER_ID
525
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents: 491
diff changeset
9 from gamelib.scenes.game_widgets import Door, BaseCamera, make_jim_dialog
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
10
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
11 from gamelib.i18n import _
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
12
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
13 class CrewQuarters(Scene):
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
14
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
15 FOLDER = "crew_quarters"
275
d78ce15bccc8 Crew quarters background and toolbar on the rect tool.
Jeremy Thurgood <firxen@gmail.com>
parents: 263
diff changeset
16 BACKGROUND = "crew_quarters.png"
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
17
283
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
18 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
19
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
20 def __init__(self, state):
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
21 super(CrewQuarters, self).__init__(state)
242
12c4f87ea424 Unify doors a bit
Neil Muller <neil@dip.sun.ac.za>
parents: 241
diff changeset
22 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
23 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
24 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
25 self.add_item(Fishbowl('fishbowl'))
288
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
26 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
27 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
28 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
29 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
30 self.add_thing(GenericDescThing('crew.plant', 1,
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
31 _("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
32 ((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
33 self.add_thing(GenericDescThing('crew.cat', 2,
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
34 _("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
35 ((722, 382, 66, 72),)))
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
36
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
37
242
12c4f87ea424 Unify doors a bit
Neil Muller <neil@dip.sun.ac.za>
parents: 241
diff changeset
38 class ToMap(Door):
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
39
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 350
diff changeset
40 SCENE = "crew_quarters"
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
41
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
42 INTERACTS = {
287
2a11709cb427 Hook up a few things in the crew quarters
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
43 "door": InteractNoImage(233, 252, 125, 181),
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
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
46 INITIAL = "door"
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 class Safe(Thing):
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
50 "A safe, for keeping things safe."
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 NAME = 'crew.safe'
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
53
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
54 INTERACTS = {
287
2a11709cb427 Hook up a few things in the crew quarters
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
55 'safe': InteractNoImage(447, 238, 72, 73),
288
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
56 'full_safe': InteractImage(445, 227, 'open_safe_full.png'),
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
57 '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
58 }
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 INITIAL = 'safe'
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 INITIAL_DATA = {
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
63 'is_cracked': False,
288
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
64 'has_tape': True,
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
65 }
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 def interact_without(self):
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
68 if self.get_data('is_cracked'):
288
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
69 if self.get_data('has_tape'):
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
70 self.set_data('has_tape', False)
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
71 self.state.add_inventory_item('duct_tape')
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
72 self.set_interact('empty_safe')
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
73 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
74 "ducts, apparently."))
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
75 return Result(_("The perfectly balanced door swings frictionlessly "
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
76 "to and fro. What craftsmanship!"))
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
77 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
78 "challenge, if suitable equipment can be found."))
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
79
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
80 def interact_with_stethoscope(self, item):
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
81 if self.get_data('is_cracked'):
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
82 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
83 # TODO: Add years to the sentence for safecracking.
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
84 # TODO: Wax lyrical some more about safecracking.
288
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
85 self.set_data('is_cracked', True)
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
86 self.set_interact('full_safe')
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
87 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
88 " almost silently into place. Turns out the combination"
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
89 " 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
90 " here.")),
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
91 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
92 "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
93 % PLAYER_ID, self.state))
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
94
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
95 def get_description(self):
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
96 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
97
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
98
283
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
99 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
100 "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
101
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
102 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
103
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
104 INTERACTS = {
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
105 '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
106 '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
107 }
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 INITIAL = 'fishbowl'
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
110
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
111 INITIAL_DATA = {
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
112 '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
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 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
116 if not self.get_data('has_bowl'):
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
117 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
118 "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
119 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
120 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
121 self.state.add_inventory_item('fishbowl')
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
122 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
123
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
124 def get_description(self):
485
5bd6bd3d42fa Tweak description when fishbowl is taken
Neil Muller <neil@dip.sun.ac.za>
parents: 466
diff changeset
125 if self.get_data('has_bowl'):
765
2f1952748cdb merge i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 528 478
diff changeset
126 return _("This fishbowl looks exactly like an old science fiction space helmet.")
485
5bd6bd3d42fa Tweak description when fishbowl is taken
Neil Muller <neil@dip.sun.ac.za>
parents: 466
diff changeset
127 else:
765
2f1952748cdb merge i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 528 478
diff changeset
128 return _("An evicted dead fish and some sand lie forlornly on the table")
2f1952748cdb merge i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 528 478
diff changeset
129
283
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 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
132 "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
133
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
134 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
135 CURSOR = CursorSprite('fishbowl.png')
342
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
136 NAME = "fishbowl"
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
137
491
9f488671c02e No more state in Item interacts.
Jeremy Thurgood <firxen@gmail.com>
parents: 485
diff changeset
138 def interact_with_duct_tape(self, item):
342
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
139 helmet = FishbowlHelmet('helmet')
491
9f488671c02e No more state in Item interacts.
Jeremy Thurgood <firxen@gmail.com>
parents: 485
diff changeset
140 self.state.add_item(helmet)
9f488671c02e No more state in Item interacts.
Jeremy Thurgood <firxen@gmail.com>
parents: 485
diff changeset
141 self.state.replace_inventory_item(self.name, helmet.name)
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
142 return Result(_("You duct tape the edges of the helmet. The seal is"
765
2f1952748cdb merge i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 528 478
diff changeset
143 " 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
144
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 class FishbowlHelmet(Item):
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
147 "A bowl with duct-tape"
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
148
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
149 INVENTORY_IMAGE = "fishbowl_helmet.png"
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
150 CURSOR = CursorSprite('fishbowl_helmet.png')
e1cae2b61443 Add duct_tape + fishbowl = helmet
Neil Muller <neil@dip.sun.ac.za>
parents: 302
diff changeset
151 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
152
3ac2e025478f Fishbowl and laser lights that don't make the universe go away.
Jeremy Thurgood <firxen@gmail.com>
parents: 275
diff changeset
153
288
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
154 class DuctTape(Item):
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
155 "A bowl. Sans fish."
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 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
158 CURSOR = CursorSprite('duct_tape.png')
288
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
159
13b6fbfb39aa Plotting in the crew quarters.
Jeremy Thurgood <firxen@gmail.com>
parents: 287
diff changeset
160
350
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
161 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
162 "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
163
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
164 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
165
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
166 INTERACTS = {
464
54853e61b149 Blinken cameras
Stefano Rivera <stefano@rivera.za.net>
parents: 425
diff changeset
167 'online' : InteractImage(85, 97, 'camera_medium.png'),
54853e61b149 Blinken cameras
Stefano Rivera <stefano@rivera.za.net>
parents: 425
diff changeset
168 'dead': InteractImage(85, 97, 'camera_medium_gray.png'),
54853e61b149 Blinken cameras
Stefano Rivera <stefano@rivera.za.net>
parents: 425
diff changeset
169 'looping': InteractAnimated(85, 97, ('camera_medium.png',
54853e61b149 Blinken cameras
Stefano Rivera <stefano@rivera.za.net>
parents: 425
diff changeset
170 'camera_medium_gray.png'),
54853e61b149 Blinken cameras
Stefano Rivera <stefano@rivera.za.net>
parents: 425
diff changeset
171 15),
54853e61b149 Blinken cameras
Stefano Rivera <stefano@rivera.za.net>
parents: 425
diff changeset
172 }
350
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
173
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 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
176 "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
177
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
178 NAME = 'crew.poster'
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
179
350
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
180 INTERACTS = {
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
181 '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
182 }
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 INITIAL = 'poster'
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
185
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
186 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
187 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
188 self.scene.remove_thing(self)
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
189 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
190
350
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
191 def get_description(self):
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
192 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
193
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
194
350
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
195 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
196 "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
197
125cb389ab90 Hook up poster. Add cameras to crew_quarters and bridge
Neil Muller <neil@dip.sun.ac.za>
parents: 342
diff changeset
198 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
199 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
200 NAME = "escher_poster"
233
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
201
7399b52f196f Add a partial crew quarters (eighths?) implementation.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
202
241
b1451b0b906f Link crew quarters to map.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 233
diff changeset
203 SCENES = [CrewQuarters]