Mercurial > boomslang
annotate gamelib/scenes/cryo.py @ 854:79b5c1be9a5e default tip
Remove pyntnclick, it's its own library, now
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Sat, 21 Jun 2014 22:06:09 +0200 |
parents | bdebe693453f |
children |
rev | line source |
---|---|
39
088a101f5b94
Add an example Thing to cryo scene.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
35
diff
changeset
|
1 """Cryo room where the prisoner starts out.""" |
088a101f5b94
Add an example Thing to cryo scene.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
35
diff
changeset
|
2 |
41
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
3 import random |
433 | 4 |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
5 from pyntnclick.i18n import _ |
830
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
6 from pyntnclick.utils import render_text |
549 | 7 from pyntnclick.cursor import CursorSprite |
8 from pyntnclick.state import Scene, Item, CloneableItem, Thing, Result | |
764
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
9 from pyntnclick.scenewidgets import ( |
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
10 InteractNoImage, InteractRectUnion, InteractImage, InteractAnimated, |
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
11 GenericDescThing, TakeableThing) |
525
821b322e903b
Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
519
diff
changeset
|
12 |
212
2b820b4ba3bf
Add constant for player id. Make IDs uppercase
Neil Muller <neil@dip.sun.ac.za>
parents:
210
diff
changeset
|
13 from gamelib.scenes.game_constants import PLAYER_ID |
525
821b322e903b
Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
519
diff
changeset
|
14 from gamelib.scenes.game_widgets import Door, make_jim_dialog |
39
088a101f5b94
Add an example Thing to cryo scene.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
35
diff
changeset
|
15 |
28
0f25f7b9b37a
Add loading of initial state.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
diff
changeset
|
16 |
0f25f7b9b37a
Add loading of initial state.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
diff
changeset
|
17 class Cryo(Scene): |
0f25f7b9b37a
Add loading of initial state.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
diff
changeset
|
18 |
0f25f7b9b37a
Add loading of initial state.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
diff
changeset
|
19 FOLDER = "cryo" |
0f25f7b9b37a
Add loading of initial state.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
diff
changeset
|
20 BACKGROUND = "cryo_room.png" |
0f25f7b9b37a
Add loading of initial state.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
diff
changeset
|
21 |
41
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
22 INITIAL_DATA = { |
540 | 23 'greet': True, |
375
c80a1bd291d1
Only give vandalism warning once
Stefano Rivera <stefano@rivera.za.net>
parents:
368
diff
changeset
|
24 'vandalism_warn': True, |
837 | 25 'sentence': 30, |
41
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
26 } |
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
27 |
141
4f18e68fd0dc
Add a few sounds to the cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
136
diff
changeset
|
28 # sounds that will be played randomly as background noise |
4f18e68fd0dc
Add a few sounds to the cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
136
diff
changeset
|
29 MUSIC = [ |
4f18e68fd0dc
Add a few sounds to the cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
136
diff
changeset
|
30 'drip1.ogg', |
4f18e68fd0dc
Add a few sounds to the cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
136
diff
changeset
|
31 'drip2.ogg', |
209
aeb96ca5f76c
Add more sounds to cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
202
diff
changeset
|
32 'drip3.ogg', |
141
4f18e68fd0dc
Add a few sounds to the cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
136
diff
changeset
|
33 'creaking.ogg', |
4f18e68fd0dc
Add a few sounds to the cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
136
diff
changeset
|
34 'silent.ogg', |
4f18e68fd0dc
Add a few sounds to the cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
136
diff
changeset
|
35 'silent.ogg', |
4f18e68fd0dc
Add a few sounds to the cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
136
diff
changeset
|
36 ] |
4f18e68fd0dc
Add a few sounds to the cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
136
diff
changeset
|
37 |
592
4e9178215e75
Introduce .setup() for GameDeveloperGizmos.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
566
diff
changeset
|
38 def setup(self): |
816 | 39 self.add_item_factory(TitaniumLeg) |
40 self.add_item_factory(TubeFragment) | |
41 self.add_item_factory(FullBottle) | |
86
593bddfacf18
Refactor Things a bit to render images.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
78
diff
changeset
|
42 self.add_thing(CryoUnitAlpha()) |
593bddfacf18
Refactor Things a bit to render images.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
78
diff
changeset
|
43 self.add_thing(CryoRoomDoor()) |
89
4625efe69c37
Hook up cryo computer.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
87
diff
changeset
|
44 self.add_thing(CryoComputer()) |
219
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
45 self.add_thing(CryoPipeLeft()) |
348
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
46 self.add_thing(CryoPipeRightTop()) |
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
47 self.add_thing(CryoPipeRightBottom()) |
353
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
48 self.add_thing(CryoPools()) |
213
20998c650ce1
Fixed rect_drawer tool and adjusted JIM message background.
Jeremy Thurgood <firxen@gmail.com>
parents:
212
diff
changeset
|
49 |
183
829551aad0f1
Add some flavour descriptions
Neil Muller <neil@dip.sun.ac.za>
parents:
182
diff
changeset
|
50 # Flavour items |
829551aad0f1
Add some flavour descriptions
Neil Muller <neil@dip.sun.ac.za>
parents:
182
diff
changeset
|
51 # pipes |
829551aad0f1
Add some flavour descriptions
Neil Muller <neil@dip.sun.ac.za>
parents:
182
diff
changeset
|
52 self.add_thing(GenericDescThing('cryo.pipes', 1, |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
53 _("These pipes carry cooling fluid to the cryo units."), |
183
829551aad0f1
Add some flavour descriptions
Neil Muller <neil@dip.sun.ac.za>
parents:
182
diff
changeset
|
54 ( |
829551aad0f1
Add some flavour descriptions
Neil Muller <neil@dip.sun.ac.za>
parents:
182
diff
changeset
|
55 (552, 145, 129, 66), |
829551aad0f1
Add some flavour descriptions
Neil Muller <neil@dip.sun.ac.za>
parents:
182
diff
changeset
|
56 (636, 82, 165, 60), |
829551aad0f1
Add some flavour descriptions
Neil Muller <neil@dip.sun.ac.za>
parents:
182
diff
changeset
|
57 (140, 135, 112, 73), |
829551aad0f1
Add some flavour descriptions
Neil Muller <neil@dip.sun.ac.za>
parents:
182
diff
changeset
|
58 (11, 63, 140, 67), |
829551aad0f1
Add some flavour descriptions
Neil Muller <neil@dip.sun.ac.za>
parents:
182
diff
changeset
|
59 ))) |
328
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
60 self.add_thing(UncuttableCryoPipes()) |
213
20998c650ce1
Fixed rect_drawer tool and adjusted JIM message background.
Jeremy Thurgood <firxen@gmail.com>
parents:
212
diff
changeset
|
61 |
183
829551aad0f1
Add some flavour descriptions
Neil Muller <neil@dip.sun.ac.za>
parents:
182
diff
changeset
|
62 # cryo units |
157
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
63 self.add_thing(GenericCryoUnit(2, |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
64 _("An empty cryo chamber."), |
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
65 _("Prisoner 81E4-C8900480E635. Embezzlement. 20 years."), |
180
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
66 ( |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
67 (155, 430, 50, 35), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
68 (125, 450, 60, 35), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
69 (95, 470, 60, 35), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
70 (55, 490, 60, 55), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
71 ))) |
213
20998c650ce1
Fixed rect_drawer tool and adjusted JIM message background.
Jeremy Thurgood <firxen@gmail.com>
parents:
212
diff
changeset
|
72 |
157
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
73 self.add_thing(GenericCryoUnit(3, |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
74 _("A working cryo chamber. The frosted glass obscures the details" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
75 " of the occupant."), |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
76 _("Prisoner 9334-CE1EB0243BAB. Murder. 40 years."), |
180
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
77 ( |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
78 (215, 430, 50, 35), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
79 (205, 450, 50, 35), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
80 (185, 470, 50, 35), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
81 (125, 505, 80, 40), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
82 ))) |
213
20998c650ce1
Fixed rect_drawer tool and adjusted JIM message background.
Jeremy Thurgood <firxen@gmail.com>
parents:
212
diff
changeset
|
83 |
157
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
84 self.add_thing(GenericCryoUnit(4, |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
85 _("A broken cryo chamber. The skeleton inside has been picked" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
86 " clean."), |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
87 _("Prisoner BFBC-8BF4C6B7492B. Importing illegal alien biomatter." |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
88 " 15 years."), |
180
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
89 ( |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
90 (275, 430, 50, 70), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
91 (255, 460, 50, 70), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
92 (235, 490, 50, 60), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
93 ))) |
213
20998c650ce1
Fixed rect_drawer tool and adjusted JIM message background.
Jeremy Thurgood <firxen@gmail.com>
parents:
212
diff
changeset
|
94 |
157
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
95 self.add_thing(GenericCryoUnit(5, |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
96 _("A working cryo chamber. The frosted glass obscures the details " |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
97 "of the occupant."), |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
98 _("Prisoner B520-99495B8C41CE. Copyright infringement. 60 years."), |
180
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
99 ( |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
100 (340, 430, 50, 70), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
101 (330, 500, 60, 50), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
102 ))) |
213
20998c650ce1
Fixed rect_drawer tool and adjusted JIM message background.
Jeremy Thurgood <firxen@gmail.com>
parents:
212
diff
changeset
|
103 |
180
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
104 self.add_thing(GenericCryoUnit(6, |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
105 _("An empty cryo unit. Recently filled by you."), |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
106 _("Prisoner %s. Safecracking, grand larceny. 30 years.") |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
107 % PLAYER_ID, |
180
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
108 ( |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
109 (399, 426, 70, 56), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
110 (404, 455, 69, 120), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
111 ))) |
213
20998c650ce1
Fixed rect_drawer tool and adjusted JIM message background.
Jeremy Thurgood <firxen@gmail.com>
parents:
212
diff
changeset
|
112 |
180
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
113 self.add_thing(GenericCryoUnit(7, |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
114 _("An empty cryo unit."), |
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
115 _("Prisoner 83F1-CE32D3234749. Spamming. 5 years."), |
180
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
116 ( |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
117 (472, 432, 58, 51), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
118 (488, 455, 41, 134), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
119 (517, 487, 42, 93), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
120 ))) |
213
20998c650ce1
Fixed rect_drawer tool and adjusted JIM message background.
Jeremy Thurgood <firxen@gmail.com>
parents:
212
diff
changeset
|
121 |
180
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
122 self.add_thing(GenericCryoUnit(8, |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
123 _("An empty cryo unit."), |
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
124 _("Prisoner A455-9DF9F43C43E5. Medical malpractice. 10 years."), |
180
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
125 ( |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
126 (596, 419, 69, 39), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
127 (616, 442, 82, 40), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
128 (648, 467, 84, 37), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
129 (681, 491, 97, 60), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
130 ))) |
35 | 131 |
120 | 132 def enter(self): |
141
4f18e68fd0dc
Add a few sounds to the cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
136
diff
changeset
|
133 # Setup music |
629 | 134 pieces = [self.sound.get_music(x) for x in self.MUSIC] |
566
ea9dd2b9186a
Hook up sound in gamelib/scenes.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
549
diff
changeset
|
135 background_playlist = self.sound.get_playlist(pieces, random=True, |
ea9dd2b9186a
Hook up sound in gamelib/scenes.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
549
diff
changeset
|
136 repeat=True) |
ea9dd2b9186a
Hook up sound in gamelib/scenes.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
549
diff
changeset
|
137 self.sound.change_playlist(background_playlist) |
120 | 138 if self.get_data('greet'): |
139 self.set_data('greet', False) | |
360
452230d78541
Use make_jim_dialog everywhere
Neil Muller <neil@dip.sun.ac.za>
parents:
353
diff
changeset
|
140 return make_jim_dialog( |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
141 _("Greetings, Prisoner %s. I am the Judicial " |
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
142 "Incarceration Monitor. " |
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
143 "You have been woken early under the terms of the " |
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
144 "emergency conscription act to assist with repairs to " |
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
145 "the ship. Your behaviour during this time will " |
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
146 "be noted on your record and will be relayed to " |
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
147 "prison officials when we reach the destination. " |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
148 "Please report to the bridge.") % PLAYER_ID, self.game) |
35 | 149 |
141
4f18e68fd0dc
Add a few sounds to the cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
136
diff
changeset
|
150 def leave(self): |
4f18e68fd0dc
Add a few sounds to the cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
136
diff
changeset
|
151 # Stop music |
566
ea9dd2b9186a
Hook up sound in gamelib/scenes.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
549
diff
changeset
|
152 self.sound.change_playlist(None) |
141
4f18e68fd0dc
Add a few sounds to the cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
136
diff
changeset
|
153 |
35 | 154 |
219
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
155 class CryoPipeBase(Thing): |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
156 "Base class for cryo pipes that need to be stolen." |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
157 |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
158 INITIAL = "fixed" |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
159 |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
160 INITIAL_DATA = { |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
161 'fixed': True, |
375
c80a1bd291d1
Only give vandalism warning once
Stefano Rivera <stefano@rivera.za.net>
parents:
368
diff
changeset
|
162 } |
219
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
163 |
759
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
745
diff
changeset
|
164 def select_interact(self): |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
745
diff
changeset
|
165 if not self.get_data('fixed'): |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
745
diff
changeset
|
166 return 'chopped' |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
745
diff
changeset
|
167 return self.INITIAL |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
745
diff
changeset
|
168 |
219
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
169 def interact_with_machete(self, item): |
247
0bad554d0926
More tests, some cryo room fixes and docs in the build.
Jeremy Thurgood <firxen@gmail.com>
parents:
242
diff
changeset
|
170 if self.get_data('fixed'): |
0bad554d0926
More tests, some cryo room fixes and docs in the build.
Jeremy Thurgood <firxen@gmail.com>
parents:
242
diff
changeset
|
171 self.set_data('fixed', False) |
816 | 172 self.game.add_inventory_item('tube_fragment') |
759
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
745
diff
changeset
|
173 self.set_interact() |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
174 responses = [Result(_("It takes more effort than one would expect," |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
175 " but eventually the pipe is separated from" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
176 " the wall."), soundfile="chop-chop.ogg")] |
792
bdaffaa8b6bf
Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents:
770
diff
changeset
|
177 if self.game.get_current_scene().get_data('vandalism_warn'): |
bdaffaa8b6bf
Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents:
770
diff
changeset
|
178 self.game.get_current_scene().set_data('vandalism_warn', False) |
375
c80a1bd291d1
Only give vandalism warning once
Stefano Rivera <stefano@rivera.za.net>
parents:
368
diff
changeset
|
179 responses.append(make_jim_dialog( |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
180 _("Prisoner %s. Vandalism is an offence punishable by a " |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
181 "minimum of an additional 6 months to your sentence." |
800 | 182 ) % PLAYER_ID, self.game)) |
375
c80a1bd291d1
Only give vandalism warning once
Stefano Rivera <stefano@rivera.za.net>
parents:
368
diff
changeset
|
183 return responses |
219
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
184 |
519
8f3c82c685a4
Fix is_interactive() by adding tool param.
Jeremy Thurgood <firxen@gmail.com>
parents:
518
diff
changeset
|
185 def is_interactive(self, tool=None): |
219
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
186 return self.get_data('fixed') |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
187 |
247
0bad554d0926
More tests, some cryo room fixes and docs in the build.
Jeremy Thurgood <firxen@gmail.com>
parents:
242
diff
changeset
|
188 def interact_without(self): |
0bad554d0926
More tests, some cryo room fixes and docs in the build.
Jeremy Thurgood <firxen@gmail.com>
parents:
242
diff
changeset
|
189 if self.get_data('fixed'): |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
190 return Result(_("These pipes aren't attached to the wall very" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
191 " solidly.")) |
247
0bad554d0926
More tests, some cryo room fixes and docs in the build.
Jeremy Thurgood <firxen@gmail.com>
parents:
242
diff
changeset
|
192 return None |
0bad554d0926
More tests, some cryo room fixes and docs in the build.
Jeremy Thurgood <firxen@gmail.com>
parents:
242
diff
changeset
|
193 |
228
ce1e85768f7b
Flavour interactions for mess hall
Neil Muller <neil@dip.sun.ac.za>
parents:
227
diff
changeset
|
194 def get_description(self): |
ce1e85768f7b
Flavour interactions for mess hall
Neil Muller <neil@dip.sun.ac.za>
parents:
227
diff
changeset
|
195 if self.get_data('fixed'): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
196 return _("These pipes carry cooling fluid to empty cryo units.") |
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
197 return _("There used to be a pipe carrying cooling fluid here.") |
228
ce1e85768f7b
Flavour interactions for mess hall
Neil Muller <neil@dip.sun.ac.za>
parents:
227
diff
changeset
|
198 |
219
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
199 |
328
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
200 class UncuttableCryoPipes(Thing): |
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
201 "Base class for cryo pipes that can't be cut down." |
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
202 |
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
203 NAME = "cryo.pipes.2" |
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
204 |
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
205 INTERACTS = { |
540 | 206 "fixed": InteractRectUnion(( |
328
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
207 (2, 130, 44, 394), |
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
208 (756, 127, 52, 393),)) |
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
209 } |
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
210 |
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
211 INITIAL = "fixed" |
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
212 |
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
213 def interact_with_machete(self, item): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
214 return Result(_("These pipes carry fluid to the working cryo units." |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
215 " Chopping them down doesn't seem sensible.")) |
328
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
216 |
519
8f3c82c685a4
Fix is_interactive() by adding tool param.
Jeremy Thurgood <firxen@gmail.com>
parents:
518
diff
changeset
|
217 def is_interactive(self, tool=None): |
328
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
218 return True |
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
219 |
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
220 def interact_without(self): |
800 | 221 return Result( |
222 _("These pipes aren't attached to the wall very solidly.")) | |
328
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
223 |
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
224 def get_description(self): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
225 return _("These pipes carry cooling fluid to the working cryo units.") |
328
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
226 |
3cb48621759a
Add uncuttable cryo pipe interact
Neil Muller <neil@dip.sun.ac.za>
parents:
307
diff
changeset
|
227 |
329 | 228 class TubeFragment(CloneableItem): |
229 "Obtained after cutting down a cryo room pipe." | |
219
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
230 |
816 | 231 NAME = "tube_fragment" |
329 | 232 INVENTORY_IMAGE = "tube_fragment.png" |
233 CURSOR = CursorSprite('tube_fragment_cursor.png') | |
234 TOOL_NAME = "tube_fragment" | |
816 | 235 MAX_COUNT = 3 |
219
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
236 |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
237 |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
238 class CryoPipeLeft(CryoPipeBase): |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
239 "Left cryo pipe." |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
240 |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
241 NAME = "cryo.pipe.left" |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
242 INTERACTS = { |
271 | 243 "fixed": InteractImage(117, 226, "intact_cryo_pipe_left.png"), |
244 "chopped": InteractNoImage(125, 192, 27, 258), | |
219
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
245 } |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
246 |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
247 |
348
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
248 class CryoPipeRightTop(CryoPipeBase): |
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
249 "Right cryo pipe, top." |
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
250 |
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
251 NAME = "cryo.pipe.right.top" |
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
252 INTERACTS = { |
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
253 "fixed": InteractImage(645, 212, "intact_cryo_pipe_right_top.png"), |
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
254 "chopped": InteractNoImage(643, 199, 31, 111), |
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
255 } |
219
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
256 |
348
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
257 |
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
258 class CryoPipeRightBottom(CryoPipeBase): |
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
259 "Right cryo pipe, bottom." |
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
260 |
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
261 NAME = "cryo.pipe.right.bottom" |
219
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
262 INTERACTS = { |
348
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
263 "fixed": InteractImage(644, 333, "intact_cryo_pipe_right_bottom.png"), |
c193cbff785d
The environment / pipe puzzle is now solveable
Stefano Rivera <stefano@rivera.za.net>
parents:
329
diff
changeset
|
264 "chopped": InteractNoImage(644, 333, 31, 107), |
219
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
265 } |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
266 |
326300c218a6
Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
218
diff
changeset
|
267 |
41
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
268 class TitaniumLeg(Item): |
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
269 "Titanium leg, found on a piratical corpse." |
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
270 |
816 | 271 NAME = 'titanium_leg' |
91
542ede2896bb
Link in femur inventory image.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
89
diff
changeset
|
272 INVENTORY_IMAGE = "titanium_femur.png" |
307
5031b84fbb4c
Hook up new machete, can_opener, and titanium_femur images
Stefano Rivera <stefano@rivera.za.net>
parents:
302
diff
changeset
|
273 CURSOR = CursorSprite('titanium_femur_cursor.png', 13, 5) |
28
0f25f7b9b37a
Add loading of initial state.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
diff
changeset
|
274 |
0f25f7b9b37a
Add loading of initial state.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
diff
changeset
|
275 |
39
088a101f5b94
Add an example Thing to cryo scene.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
35
diff
changeset
|
276 class CryoUnitAlpha(Thing): |
67
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
63
diff
changeset
|
277 "Cryo unit containing titanium leg." |
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
63
diff
changeset
|
278 |
86
593bddfacf18
Refactor Things a bit to render images.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
78
diff
changeset
|
279 NAME = "cryo.unit.1" |
593bddfacf18
Refactor Things a bit to render images.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
78
diff
changeset
|
280 |
593bddfacf18
Refactor Things a bit to render images.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
78
diff
changeset
|
281 INTERACTS = { |
133
0530547a131f
Better map handling, detail_view stuff in Result.
Jeremy Thurgood <firxen@gmail.com>
parents:
131
diff
changeset
|
282 "unit": InteractRectUnion(( |
180
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
283 (531, 430, 64, 49), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
284 (560, 460, 57, 47), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
285 (583, 482, 65, 69), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
286 (600, 508, 71, 48), |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
287 )) |
86
593bddfacf18
Refactor Things a bit to render images.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
78
diff
changeset
|
288 } |
593bddfacf18
Refactor Things a bit to render images.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
78
diff
changeset
|
289 |
593bddfacf18
Refactor Things a bit to render images.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
78
diff
changeset
|
290 INITIAL = "unit" |
67
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
63
diff
changeset
|
291 |
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
63
diff
changeset
|
292 INITIAL_DATA = { |
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
63
diff
changeset
|
293 'contains_titanium_leg': True, |
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
63
diff
changeset
|
294 } |
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
63
diff
changeset
|
295 |
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
63
diff
changeset
|
296 def interact_without(self): |
134
faac82748f5a
Put the leg inside the cryo unit.
Jeremy Thurgood <firxen@gmail.com>
parents:
133
diff
changeset
|
297 return Result(detail_view='cryo_detail') |
39
088a101f5b94
Add an example Thing to cryo scene.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
35
diff
changeset
|
298 |
180
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
299 def interact_with_titanium_leg(self, item): |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
300 return Result(_("You hit the chamber that used to hold this very leg." |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
301 " Nothing happens as a result."), |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
302 soundfile="clang2.ogg") |
180
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
303 |
94
ce23fad8ecb3
More complex shaped interactables
Neil Muller <neil@dip.sun.ac.za>
parents:
91
diff
changeset
|
304 def get_description(self): |
ce23fad8ecb3
More complex shaped interactables
Neil Muller <neil@dip.sun.ac.za>
parents:
91
diff
changeset
|
305 if self.get_data('contains_titanium_leg'): |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
306 return _("A broken cryo chamber, with a poor unfortunate corpse" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
307 " inside.") |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
308 return _("A broken cryo chamber. The corpse inside is missing a leg.") |
157
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
309 |
180
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
310 |
182
5cb3fbe61f75
Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
180
diff
changeset
|
311 class GenericCryoUnit(GenericDescThing): |
157
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
312 "Generic Cryo unit" |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
313 |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
314 def __init__(self, number, description, detailed_description, areas): |
540 | 315 super(GenericCryoUnit, self).__init__('cryo.unit', number, |
316 description, areas) | |
157
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
317 self.detailed_description = detailed_description |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
318 |
519
8f3c82c685a4
Fix is_interactive() by adding tool param.
Jeremy Thurgood <firxen@gmail.com>
parents:
518
diff
changeset
|
319 def is_interactive(self, tool=None): |
270
d4f08abc58fb
Interactivity status tweaks
Neil Muller <neil@dip.sun.ac.za>
parents:
263
diff
changeset
|
320 return True |
d4f08abc58fb
Interactivity status tweaks
Neil Muller <neil@dip.sun.ac.za>
parents:
263
diff
changeset
|
321 |
157
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
322 def interact_without(self): |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
323 return Result(self.detailed_description) |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
324 |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
325 def get_description(self): |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
326 return self.description |
94
ce23fad8ecb3
More complex shaped interactables
Neil Muller <neil@dip.sun.ac.za>
parents:
91
diff
changeset
|
327 |
180
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
328 def interact_with_titanium_leg(self, item): |
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
329 return Result(random.choice([ |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
330 _("You bang on the chamber with the titanium femur. Nothing" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
331 " much happens."), |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
332 _("Hitting the cryo unit with the femur doesn't achieve" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
333 " anything."), |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
334 _("You hit the chamber with the femur. Nothing happens."), |
209
aeb96ca5f76c
Add more sounds to cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
202
diff
changeset
|
335 ]), soundfile="clang2.ogg") |
180
6b3ccee6f3f9
Fill in more flavour for cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
167
diff
changeset
|
336 |
39
088a101f5b94
Add an example Thing to cryo scene.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
35
diff
changeset
|
337 |
242 | 338 class CryoRoomDoor(Door): |
41
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
339 "Door to the cryo room." |
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
340 |
252
dfc89bc64fdb
Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
247
diff
changeset
|
341 SCENE = "cryo" |
86
593bddfacf18
Refactor Things a bit to render images.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
78
diff
changeset
|
342 |
593bddfacf18
Refactor Things a bit to render images.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
78
diff
changeset
|
343 INTERACTS = { |
95
7590586180f5
door goes from shut to ajar to open
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
94
diff
changeset
|
344 "shut": InteractNoImage(290, 260, 99, 152), |
87
4c6fea1b242b
Fix interact positions.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
86
diff
changeset
|
345 "ajar": InteractImage(290, 260, "door_ajar.png"), |
4c6fea1b242b
Fix interact positions.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
86
diff
changeset
|
346 "open": InteractImage(290, 260, "door_open.png"), |
86
593bddfacf18
Refactor Things a bit to render images.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
78
diff
changeset
|
347 } |
593bddfacf18
Refactor Things a bit to render images.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
78
diff
changeset
|
348 |
95
7590586180f5
door goes from shut to ajar to open
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
94
diff
changeset
|
349 INITIAL = "shut" |
41
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
350 |
55
2e2f6ff54780
Part of the cryo door puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents:
41
diff
changeset
|
351 INITIAL_DATA = { |
95
7590586180f5
door goes from shut to ajar to open
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
94
diff
changeset
|
352 'door': "shut", |
55
2e2f6ff54780
Part of the cryo door puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents:
41
diff
changeset
|
353 } |
2e2f6ff54780
Part of the cryo door puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents:
41
diff
changeset
|
354 |
41
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
355 def interact_with_titanium_leg(self, item): |
95
7590586180f5
door goes from shut to ajar to open
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
94
diff
changeset
|
356 if self.get_data('door') == "ajar": |
7590586180f5
door goes from shut to ajar to open
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
94
diff
changeset
|
357 self.open_door() |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
358 return Result(_("You wedge the titanium femur into the chain and" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
359 " twist. With a satisfying *snap*, the chain" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
360 " breaks and the door opens."), |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
361 soundfile='break.ogg') |
118
e548f4a13741
Add a transition, on general principles
Neil Muller <neil@dip.sun.ac.za>
parents:
109
diff
changeset
|
362 elif self.get_data('door') == "shut": |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
363 text = _("You bang on the door with the titanium femur. It makes a" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
364 " clanging sound.") |
141
4f18e68fd0dc
Add a few sounds to the cryo room
Neil Muller <neil@dip.sun.ac.za>
parents:
136
diff
changeset
|
365 return Result(text, soundfile='clang.ogg') |
118
e548f4a13741
Add a transition, on general principles
Neil Muller <neil@dip.sun.ac.za>
parents:
109
diff
changeset
|
366 else: |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
367 return Result(_("You wave the femur in the doorway. Nothing" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
368 " happens.")) |
41
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
369 |
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
370 def interact_without(self): |
95
7590586180f5
door goes from shut to ajar to open
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
94
diff
changeset
|
371 if self.get_data('door') == "shut": |
7590586180f5
door goes from shut to ajar to open
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
94
diff
changeset
|
372 self.half_open_door() |
118
e548f4a13741
Add a transition, on general principles
Neil Muller <neil@dip.sun.ac.za>
parents:
109
diff
changeset
|
373 if self.get_data('door') != "open": |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
374 return Result(_("It moves slightly and then stops. A chain on the" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
375 " other side is preventing it from opening" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
376 " completely."), soundfile='chain.ogg') |
118
e548f4a13741
Add a transition, on general principles
Neil Muller <neil@dip.sun.ac.za>
parents:
109
diff
changeset
|
377 else: |
692
d6ded808cc33
Much scene management refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents:
653
diff
changeset
|
378 self.game.change_scene('map') |
144
29ba5456e8b3
Removed a bunch of cruft.
Jeremy Thurgood <firxen@gmail.com>
parents:
141
diff
changeset
|
379 return None |
41
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
380 |
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
381 def interact_default(self, item): |
435 | 382 return self.interact_without() |
41
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
383 |
759
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
745
diff
changeset
|
384 def select_interact(self): |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
745
diff
changeset
|
385 return self.get_data('door') or self.INITIAL |
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
745
diff
changeset
|
386 |
95
7590586180f5
door goes from shut to ajar to open
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
94
diff
changeset
|
387 def half_open_door(self): |
7590586180f5
door goes from shut to ajar to open
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
94
diff
changeset
|
388 self.set_data('door', "ajar") |
759
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
745
diff
changeset
|
389 self.set_interact() |
56
75bf3d3689e9
Refactor thing interactivity and add "fake" bridge scene.
Jeremy Thurgood <firxen@gmail.com>
parents:
55
diff
changeset
|
390 |
55
2e2f6ff54780
Part of the cryo door puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents:
41
diff
changeset
|
391 def open_door(self): |
95
7590586180f5
door goes from shut to ajar to open
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
94
diff
changeset
|
392 self.set_data('door', "open") |
759
386475464202
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents:
745
diff
changeset
|
393 self.set_interact() |
55
2e2f6ff54780
Part of the cryo door puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents:
41
diff
changeset
|
394 |
63
3087be3463e0
Some framework support for better message handling
Neil Muller <neil@dip.sun.ac.za>
parents:
56
diff
changeset
|
395 def get_description(self): |
95
7590586180f5
door goes from shut to ajar to open
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
94
diff
changeset
|
396 if self.get_data('door') == "open": |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
397 return _('An open doorway leads to the rest of the ship.') |
103 | 398 elif self.get_data('door') == "ajar": |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
399 return _("A rusty door. It can't open all the way because of a " |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
400 "chain on the other side.") |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
401 return _('A rusty door. It is currently closed.') |
63
3087be3463e0
Some framework support for better message handling
Neil Muller <neil@dip.sun.ac.za>
parents:
56
diff
changeset
|
402 |
41
ad6f56bfa8b7
Cryo door, titanium leg and some interaction prototypes.
Jeremy Thurgood <firxen@gmail.com>
parents:
39
diff
changeset
|
403 |
89
4625efe69c37
Hook up cryo computer.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
87
diff
changeset
|
404 class CryoComputer(Thing): |
4625efe69c37
Hook up cryo computer.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
87
diff
changeset
|
405 "Computer in the cryo room." |
4625efe69c37
Hook up cryo computer.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
87
diff
changeset
|
406 |
4625efe69c37
Hook up cryo computer.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
87
diff
changeset
|
407 NAME = "cryo.computer" |
4625efe69c37
Hook up cryo computer.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
87
diff
changeset
|
408 |
4625efe69c37
Hook up cryo computer.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
87
diff
changeset
|
409 INTERACTS = { |
189
c18ef647ffe6
Add detail view for cryo screen. Tweak animation
Neil Muller <neil@dip.sun.ac.za>
parents:
183
diff
changeset
|
410 "info": InteractAnimated(416, 290, ["comp_info.png", "comp_info2.png"], |
105
65976205fc2d
Rough Stab at basic animation support
Neil Muller <neil@dip.sun.ac.za>
parents:
103
diff
changeset
|
411 10), |
89
4625efe69c37
Hook up cryo computer.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
87
diff
changeset
|
412 "warn": InteractImage(416, 290, "comp_warn.png"), |
4625efe69c37
Hook up cryo computer.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
87
diff
changeset
|
413 "error": InteractImage(416, 290, "comp_error.png"), |
4625efe69c37
Hook up cryo computer.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
87
diff
changeset
|
414 } |
4625efe69c37
Hook up cryo computer.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
87
diff
changeset
|
415 |
4625efe69c37
Hook up cryo computer.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
87
diff
changeset
|
416 INITIAL = "info" |
4625efe69c37
Hook up cryo computer.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
87
diff
changeset
|
417 |
189
c18ef647ffe6
Add detail view for cryo screen. Tweak animation
Neil Muller <neil@dip.sun.ac.za>
parents:
183
diff
changeset
|
418 def interact_without(self): |
c18ef647ffe6
Add detail view for cryo screen. Tweak animation
Neil Muller <neil@dip.sun.ac.za>
parents:
183
diff
changeset
|
419 return Result(detail_view='cryo_comp_detail') |
c18ef647ffe6
Add detail view for cryo screen. Tweak animation
Neil Muller <neil@dip.sun.ac.za>
parents:
183
diff
changeset
|
420 |
c18ef647ffe6
Add detail view for cryo screen. Tweak animation
Neil Muller <neil@dip.sun.ac.za>
parents:
183
diff
changeset
|
421 def interact_with_titanium_leg(self, item): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
422 return Result(_("Hitting it with the leg accomplishes nothing.")) |
189
c18ef647ffe6
Add detail view for cryo screen. Tweak animation
Neil Muller <neil@dip.sun.ac.za>
parents:
183
diff
changeset
|
423 |
c18ef647ffe6
Add detail view for cryo screen. Tweak animation
Neil Muller <neil@dip.sun.ac.za>
parents:
183
diff
changeset
|
424 def get_description(self): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
425 return _("A computer terminal, with some text on it.") |
189
c18ef647ffe6
Add detail view for cryo screen. Tweak animation
Neil Muller <neil@dip.sun.ac.za>
parents:
183
diff
changeset
|
426 |
89
4625efe69c37
Hook up cryo computer.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
87
diff
changeset
|
427 |
764
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
428 class TitaniumLegThing(TakeableThing): |
119
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
429 "Triangle in the cryo room." |
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
430 |
125
d3ca34a664fd
Some detail view and data cleanup.
Jeremy Thurgood <firxen@gmail.com>
parents:
120
diff
changeset
|
431 NAME = "cryo.titanium_leg" |
119
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
432 |
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
433 INTERACTS = { |
232
ca490aecbe0e
Updated cryo unit to use new stuff. No more triangles! (Except for the ones that are still there.)
Jeremy Thurgood <firxen@gmail.com>
parents:
228
diff
changeset
|
434 "leg": InteractImage(180, 132, "leg.png"), |
119
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
435 } |
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
436 |
134
faac82748f5a
Put the leg inside the cryo unit.
Jeremy Thurgood <firxen@gmail.com>
parents:
133
diff
changeset
|
437 INITIAL = "leg" |
764
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
438 ITEM = 'titanium_leg' |
119
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
439 |
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
440 def interact_without(self): |
745
b9504e6ecde1
Make a couple of interactions less dependent on current_scene, so the 'mad clicker' test works
Neil Muller <neil@dip.sun.ac.za>
parents:
692
diff
changeset
|
441 self.game.scenes['cryo'].things['cryo.unit.1'].set_data( |
540 | 442 'contains_titanium_leg', False) |
764
a8510f4e2ea1
Conditionally add things based on state.
Jeremy Thurgood <firxen@gmail.com>
parents:
759
diff
changeset
|
443 self.take() |
769
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
444 return Result(_("The skeletal occupant of this cryo unit has an" |
43b49f1de828
Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
445 " artificial femur made of titanium. You take it.")) |
119
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
446 |
136
d264850806dc
Better description handling in detail windows. (Sort of.)
Jeremy Thurgood <firxen@gmail.com>
parents:
135
diff
changeset
|
447 def get_description(self): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
448 return _("This femur looks synthetic.") |
136
d264850806dc
Better description handling in detail windows. (Sort of.)
Jeremy Thurgood <firxen@gmail.com>
parents:
135
diff
changeset
|
449 |
353
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
450 |
157
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
451 class PlaqueThing(Thing): |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
452 "Plaque on the detailed cryo chamber" |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
453 |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
454 NAME = "cryo.plaque" |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
455 |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
456 INTERACTS = { |
232
ca490aecbe0e
Updated cryo unit to use new stuff. No more triangles! (Except for the ones that are still there.)
Jeremy Thurgood <firxen@gmail.com>
parents:
228
diff
changeset
|
457 "plaque": InteractNoImage(60, 40, 35, 24), |
157
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
458 } |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
459 |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
460 INITIAL = "plaque" |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
461 |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
462 def interact_without(self): |
800 | 463 return Result( |
464 _("The plaque is welded to the unit. You can't shift it.")) | |
157
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
465 |
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
466 def get_description(self): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
467 return _("'Prisoner 98CC-764E646391EE. War crimes. 45 years.") |
157
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
468 |
353
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
469 |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
470 class FullBottle(Item): |
816 | 471 NAME = 'full_detergent_bottle' |
363
2cadb47405a4
Use bottle image. The boomslang is now triangle-free
Stefano Rivera <stefano@rivera.za.net>
parents:
362
diff
changeset
|
472 INVENTORY_IMAGE = 'bottle_full.png' |
2cadb47405a4
Use bottle image. The boomslang is now triangle-free
Stefano Rivera <stefano@rivera.za.net>
parents:
362
diff
changeset
|
473 CURSOR = CursorSprite('bottle_full_cursor.png', 27, 7) |
353
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
474 |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
475 |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
476 class CryoPools(Thing): |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
477 "Handy for cooling engines" |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
478 |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
479 NAME = 'cryo.pool' |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
480 |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
481 INTERACTS = { |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
482 'pools': InteractRectUnion(( |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
483 (444, 216, 125, 67), |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
484 (44, 133, 74, 107), |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
485 (485, 396, 97, 34), |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
486 )), |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
487 } |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
488 |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
489 INITIAL = 'pools' |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
490 |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
491 def get_description(self): |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
492 return _("Coolant leaks disturbingly from the bulkheads.") |
353
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
493 |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
494 def interact_without(self): |
765
2f1952748cdb
merge i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
diff
changeset
|
495 return Result(_("It's gooey")) |
353
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
496 |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
497 def interact_with_detergent_bottle(self, item): |
816 | 498 self.game.replace_inventory_item(item.name, 'full_detergent_bottle') |
478
a9925aaf5f61
i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents:
466
diff
changeset
|
499 return Result(_("You scoop up some coolant and fill the bottle.")) |
353
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
500 |
b61dccc7fb42
Detergent + cryo fluid puzzle (currently triangular)
Stefano Rivera <stefano@rivera.za.net>
parents:
348
diff
changeset
|
501 |
189
c18ef647ffe6
Add detail view for cryo screen. Tweak animation
Neil Muller <neil@dip.sun.ac.za>
parents:
183
diff
changeset
|
502 class CryoCompDetail(Scene): |
c18ef647ffe6
Add detail view for cryo screen. Tweak animation
Neil Muller <neil@dip.sun.ac.za>
parents:
183
diff
changeset
|
503 |
c18ef647ffe6
Add detail view for cryo screen. Tweak animation
Neil Muller <neil@dip.sun.ac.za>
parents:
183
diff
changeset
|
504 FOLDER = "cryo" |
c18ef647ffe6
Add detail view for cryo screen. Tweak animation
Neil Muller <neil@dip.sun.ac.za>
parents:
183
diff
changeset
|
505 BACKGROUND = "comp_info_detail.png" |
c18ef647ffe6
Add detail view for cryo screen. Tweak animation
Neil Muller <neil@dip.sun.ac.za>
parents:
183
diff
changeset
|
506 NAME = "cryo_comp_detail" |
c18ef647ffe6
Add detail view for cryo screen. Tweak animation
Neil Muller <neil@dip.sun.ac.za>
parents:
183
diff
changeset
|
507 |
597 | 508 def setup(self): |
830
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
509 background = self.get_image( |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
510 self.FOLDER, self.BACKGROUND) |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
511 # Add the common text strings |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
512 bg = (0, 0, 0, 0) |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
513 fg = 'lightgreen' |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
514 font = 'DejaVuSans-Bold.ttf' |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
515 size = 18 |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
516 |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
517 background.blit(render_text(_("Info"), |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
518 font, 24, fg, bg, self.resource, (90, 25), False), (25, 60)) |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
519 background.blit(render_text(_("Cryo Units Online: 2, 4"), |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
520 font, size, fg, bg, self.resource, (240, 30), False), (15, 120)) |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
521 background.blit(render_text(_("Crew Active: 0"), |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
522 font, size, fg, bg, self.resource, (240, 30), False), (15, 170)) |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
523 background.blit(render_text(_("Current Trip Time: 97558 days"), |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
524 font, size, fg, bg, self.resource, (340, 30), False), (15, 210)) |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
525 background.blit(render_text(_("Expected Time of Arrival:"), |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
526 font, size, fg, bg, self.resource, (340, 30), False), (15, 240)) |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
527 |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
528 self._background_fixed = background.copy() |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
529 self._background_offline = background.copy() |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
530 |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
531 self._background_fixed.blit(render_text(_("397 days"), |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
532 font, size, fg, bg, self.resource, (340, 30), False), (275, 240)) |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
533 |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
534 self._background_offline.blit(render_text( |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
535 _("<Error: Division by Zero Error>"), |
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
536 font, size, fg, bg, self.resource, (340, 30), False), (275, 240)) |
433 | 537 |
538 def draw_background(self, surface): | |
603
3ce19d33b51f
Rename state to game to not cause confusion with the other state
Neil Muller <neil@dip.sun.ac.za>
parents:
597
diff
changeset
|
539 if self.game.scenes['engine'].get_data('engine online'): |
433 | 540 surface.blit(self._background_fixed, self.OFFSET, None) |
541 else: | |
830
a1c0c1078342
Convert cryo computer detail to use text
Neil Muller <neil@dip.sun.ac.za>
parents:
816
diff
changeset
|
542 surface.blit(self._background_offline, self.OFFSET, None) |
189
c18ef647ffe6
Add detail view for cryo screen. Tweak animation
Neil Muller <neil@dip.sun.ac.za>
parents:
183
diff
changeset
|
543 |
119
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
544 |
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
545 class CryoUnitWithCorpse(Scene): |
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
546 |
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
547 FOLDER = "cryo" |
127
9646e7c8bb97
Size detail window based on the Scene background image.
Jeremy Thurgood <firxen@gmail.com>
parents:
125
diff
changeset
|
548 BACKGROUND = "cryo_unit_detail.png" |
119
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
549 NAME = "cryo_detail" |
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
550 |
592
4e9178215e75
Introduce .setup() for GameDeveloperGizmos.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
566
diff
changeset
|
551 def setup(self): |
125
d3ca34a664fd
Some detail view and data cleanup.
Jeremy Thurgood <firxen@gmail.com>
parents:
120
diff
changeset
|
552 self.add_thing(TitaniumLegThing()) |
157
153dcb313057
Fill in more cryo room stuff
Neil Muller <neil@dip.sun.ac.za>
parents:
148
diff
changeset
|
553 self.add_thing(PlaqueThing()) |
119
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
554 |
d5f7cccfdb6c
Hook up "detail view" scenes.
Jeremy Thurgood <firxen@gmail.com>
parents:
118
diff
changeset
|
555 |
28
0f25f7b9b37a
Add loading of initial state.
Simon Cross <hodgestar+bzr@gmail.com>
parents:
diff
changeset
|
556 SCENES = [Cryo] |
189
c18ef647ffe6
Add detail view for cryo screen. Tweak animation
Neil Muller <neil@dip.sun.ac.za>
parents:
183
diff
changeset
|
557 DETAIL_VIEWS = [CryoUnitWithCorpse, CryoCompDetail] |