annotate gamelib/scenes/machine.py @ 769:43b49f1de828 pyntnclick-i18n

Merge i18n for before the pyntnclick split
author Stefano Rivera <stefano@rivera.za.net>
date Sat, 26 Jan 2013 16:57:33 +0200
parents 386475464202 2f1952748cdb
children a35f5364437d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
47
8f1fccb8cadf Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff changeset
1 """Machine room where tools and machines are found."""
8f1fccb8cadf Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff changeset
2
769
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
3 from pyntnclick.i18n import _
549
098ea4ea0d0d Rename imports
Neil Muller <neil@dip.sun.ac.za>
parents: 539
diff changeset
4 from pyntnclick.state import Scene, Item, Thing, Result
098ea4ea0d0d Rename imports
Neil Muller <neil@dip.sun.ac.za>
parents: 539
diff changeset
5 from pyntnclick.cursor import CursorSprite
098ea4ea0d0d Rename imports
Neil Muller <neil@dip.sun.ac.za>
parents: 539
diff changeset
6 from pyntnclick.scenewidgets import (InteractNoImage, InteractImage,
525
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents: 519
diff changeset
7 InteractAnimated, GenericDescThing)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents: 519
diff changeset
8
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents: 519
diff changeset
9 from gamelib.scenes.game_widgets import Door
47
8f1fccb8cadf Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff changeset
10
8f1fccb8cadf Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff changeset
11
8f1fccb8cadf Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff changeset
12 class Machine(Scene):
8f1fccb8cadf Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff changeset
13
8f1fccb8cadf Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff changeset
14 FOLDER = "machine"
260
020f83305bf3 Line art machine room.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 252
diff changeset
15 BACKGROUND = "machine_room.png"
47
8f1fccb8cadf Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff changeset
16
592
4e9178215e75 Introduce .setup() for GameDeveloperGizmos.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 549
diff changeset
17 def setup(self):
151
d00aa26941c4 Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 55
diff changeset
18 self.add_thing(ToMap())
317
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
19 self.add_thing(LaserWelderSlot())
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
20 self.add_thing(LaserWelderButton())
281
eb3cfcaff469 Too long since last commit. Felt like showing off some machine room progress.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 263
diff changeset
21 self.add_thing(LaserWelderPowerLights())
194
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
22 self.add_thing(Grinder())
317
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
23 self.add_thing(ManualThing())
219
326300c218a6 Choppable cryopipes and can refactoring.
Jeremy Thurgood <firxen@gmail.com>
parents: 215
diff changeset
24 self.add_item(TitaniumMachete('machete'))
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
25 self.add_item(CryoPipesOne('cryo_pipes_one'))
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
26 self.add_item(CryoPipesTwo('cryo_pipes_two'))
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
27 self.add_item(CryoPipesThree('cryo_pipes_three'))
317
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
28 self.add_item(Manual('manual'))
297
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
29 self.add_thing(GenericDescThing('machine.wires', 2,
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
30 _("Wires run to all the machines in the room"),
297
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
31 (
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
32 (250, 172, 252, 12),
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
33 (388, 183, 114, 13),
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
34 (496, 112, 36, 64),
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
35 (533, 85, 19, 45),
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
36 (647, 114, 10, 308),
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
37 (111, 96, 13, 285),
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
38 (152, 106, 34, 30),
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
39 (189, 136, 27, 28),
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
40 (222, 157, 24, 25),
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
41 (120, 86, 34, 29),
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
42 (110, 80, 21, 15),
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
43 (383, 196, 12, 56),
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
44 (553, 61, 26, 50),
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
45 (574, 39, 16, 48),
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
46 (648, 85, 22, 26),
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
47 (674, 54, 23, 36),
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
48 )))
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
49 self.add_thing(GenericDescThing('machine.diagram', 3,
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
50 _("A wiring diagram of some sort"),
297
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
51 ((694, 140, 94, 185),)))
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
52 self.add_thing(GenericDescThing('machine.powerpoint', 4,
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
53 _("The cables to this power point have been cut"),
297
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
54 ((155, 22, 92, 74),)))
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
55 self.add_thing(GenericDescThing("machine.powerpoint", 5,
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
56 _("All the machines run off this powerpoint"),
297
4adb64d349bc Add some flavour text to machine room. Tweak rects
Neil Muller <neil@dip.sun.ac.za>
parents: 283
diff changeset
57 ((593, 19, 74, 57),)))
317
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
58 self.add_thing(GenericDescThing("machine.drill_press", 6,
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
59 _("An impressive looking laser drill press"),
317
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
60 (
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
61 (519, 338, 36, 63),
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
62 (545, 348, 93, 46),
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
63 (599, 309, 41, 150),
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
64 (588, 445, 66, 42),
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
65 (616, 479, 41, 14),
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
66 (527, 393, 15, 17),
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
67 (510, 360, 13, 11),
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
68 (532, 331, 14, 11),
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
69 (605, 304, 26, 8),
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
70 )))
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
71 self.add_thing(GenericDescThing("machine.drill_press_block", 7,
769
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
72 _("The block for the laser drill press"),
317
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
73 ((461, 446, 38, 27),)))
151
d00aa26941c4 Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 55
diff changeset
74
d00aa26941c4 Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 55
diff changeset
75
242
12c4f87ea424 Unify doors a bit
Neil Muller <neil@dip.sun.ac.za>
parents: 239
diff changeset
76 class ToMap(Door):
151
d00aa26941c4 Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 55
diff changeset
77
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents: 242
diff changeset
78 SCENE = "machine"
151
d00aa26941c4 Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 55
diff changeset
79
d00aa26941c4 Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 55
diff changeset
80 INTERACTS = {
262
5f58da9eeb52 Replace text interacts with doors.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 260
diff changeset
81 "door": InteractNoImage(695, 350, 97, 212),
151
d00aa26941c4 Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 55
diff changeset
82 }
d00aa26941c4 Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 55
diff changeset
83
d00aa26941c4 Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 55
diff changeset
84 INITIAL = "door"
d00aa26941c4 Add machine and engine rooms to map. Fix typo in name of mess hall doorway thing.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 55
diff changeset
85
281
eb3cfcaff469 Too long since last commit. Felt like showing off some machine room progress.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 263
diff changeset
86
317
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
87 class LaserWelderSlot(Thing):
47
8f1fccb8cadf Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff changeset
88
317
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
89 NAME = "machine.welder.slot"
190
30f2308c1efc Fix tests and add a (currently unhooked) laser welder.
Jeremy Thurgood <firxen@gmail.com>
parents: 151
diff changeset
90
30f2308c1efc Fix tests and add a (currently unhooked) laser welder.
Jeremy Thurgood <firxen@gmail.com>
parents: 151
diff changeset
91 INTERACTS = {
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
92 "empty": InteractImage(241, 310, "welder_empty.png"),
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
93 "can": InteractImage(241, 310, "welder_can.png"),
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
94 "tube": InteractImage(241, 310, "welder_pipe.png"),
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
95 "can_and_tube": InteractImage(241, 310, "welder_can_pipe.png"),
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
96 }
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
97
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
98 INITIAL = "empty"
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
99
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
100 INITIAL_DATA = {
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
101 'contents': set(),
190
30f2308c1efc Fix tests and add a (currently unhooked) laser welder.
Jeremy Thurgood <firxen@gmail.com>
parents: 151
diff changeset
102 }
30f2308c1efc Fix tests and add a (currently unhooked) laser welder.
Jeremy Thurgood <firxen@gmail.com>
parents: 151
diff changeset
103
759
386475464202 Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents: 753
diff changeset
104 def select_interact(self):
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
105 contents = self.get_data('contents')
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
106 if not contents:
759
386475464202 Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents: 753
diff changeset
107 return "empty"
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
108 elif len(contents) == 1:
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
109 if "can" in contents:
759
386475464202 Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents: 753
diff changeset
110 return "can"
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
111 elif "tube" in contents:
759
386475464202 Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents: 753
diff changeset
112 return "tube"
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
113 else:
759
386475464202 Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents: 753
diff changeset
114 return "can_and_tube"
190
30f2308c1efc Fix tests and add a (currently unhooked) laser welder.
Jeremy Thurgood <firxen@gmail.com>
parents: 151
diff changeset
115
30f2308c1efc Fix tests and add a (currently unhooked) laser welder.
Jeremy Thurgood <firxen@gmail.com>
parents: 151
diff changeset
116 def interact_without(self):
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
117 return Result(_("You really don't want to put your hand in there."))
190
30f2308c1efc Fix tests and add a (currently unhooked) laser welder.
Jeremy Thurgood <firxen@gmail.com>
parents: 151
diff changeset
118
30f2308c1efc Fix tests and add a (currently unhooked) laser welder.
Jeremy Thurgood <firxen@gmail.com>
parents: 151
diff changeset
119 def interact_with_empty_can(self, item):
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
120 contents = self.get_data('contents')
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
121 if "can" in contents:
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
122 return Result(_("There is already a can in the welder."))
603
3ce19d33b51f Rename state to game to not cause confusion with the other state
Neil Muller <neil@dip.sun.ac.za>
parents: 592
diff changeset
123 self.game.remove_inventory_item(item.name)
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
124 contents.add("can")
759
386475464202 Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents: 753
diff changeset
125 self.set_interact()
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
126 return Result(_("You carefully place the can in the laser welder."))
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
127
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
128 def interact_with_tube_fragment(self, item):
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
129 contents = self.get_data('contents')
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
130 if "tube" in contents:
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
131 return Result(_("There is already a tube fragment in the welder."))
603
3ce19d33b51f Rename state to game to not cause confusion with the other state
Neil Muller <neil@dip.sun.ac.za>
parents: 592
diff changeset
132 self.game.remove_inventory_item(item.name)
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
133 contents.add("tube")
759
386475464202 Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents: 753
diff changeset
134 self.set_interact()
769
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
135 return Result(_("You carefully place the tube fragments in the"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
136 " laser welder."))
190
30f2308c1efc Fix tests and add a (currently unhooked) laser welder.
Jeremy Thurgood <firxen@gmail.com>
parents: 151
diff changeset
137
30f2308c1efc Fix tests and add a (currently unhooked) laser welder.
Jeremy Thurgood <firxen@gmail.com>
parents: 151
diff changeset
138 def get_description(self):
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
139 contents = self.get_data('contents')
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
140 if not contents:
769
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
141 return (_("This is a Smith and Wesson 'zOMG' class high-precision"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
142 " laser welder."))
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
143 if len(contents) == 1:
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
144 msg = _("The laser welder looks hungry, somehow.")
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
145 if "can" in contents:
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
146 msg += _(" It currently contains an empty can.")
731
2f74064bc779 Misc pep8 cleanups
Neil Muller <neil@dip.sun.ac.za>
parents: 603
diff changeset
147 elif "tube" in contents:
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
148 msg += _(" It currently contains a tube fragment.")
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
149 elif len(contents) == 2:
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
150 msg = _("The laser welder looks expectant. ")
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
151 if "can" in contents and "tube" in contents:
769
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
152 msg += _(" It currently contains an empty can and a"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
153 " tube fragment.")
190
30f2308c1efc Fix tests and add a (currently unhooked) laser welder.
Jeremy Thurgood <firxen@gmail.com>
parents: 151
diff changeset
154 return msg
30f2308c1efc Fix tests and add a (currently unhooked) laser welder.
Jeremy Thurgood <firxen@gmail.com>
parents: 151
diff changeset
155
30f2308c1efc Fix tests and add a (currently unhooked) laser welder.
Jeremy Thurgood <firxen@gmail.com>
parents: 151
diff changeset
156
317
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
157 class LaserWelderButton(Thing):
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
158
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
159 NAME = "machine.welder.button"
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
160
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
161 INTERACTS = {
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
162 "button": InteractNoImage(406, 389, 28, 31),
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
163 }
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
164
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
165 INITIAL = "button"
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
166
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
167 def interact_without(self):
539
11530992924a PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 528
diff changeset
168 welder_slot = self.scene.things["machine.welder.slot"]
11530992924a PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 528
diff changeset
169 contents = welder_slot.get_data("contents")
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
170 if not contents:
769
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
171 return Result(_("The laser welder doesn't currently contain"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
172 " anything weldable."))
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
173 elif len(contents) == 1:
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
174 if "can" in contents:
769
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
175 return Result(_("The laser welder needs something to weld the"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
176 " can to."))
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
177 elif "tube" in contents:
769
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
178 return Result(_("The laser welder needs something to weld the"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
179 " tube fragments to."))
317
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
180 else:
539
11530992924a PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 528
diff changeset
181 welder_slot.set_data("contents", set())
759
386475464202 Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
Jeremy Thurgood <firxen@gmail.com>
parents: 753
diff changeset
182 welder_slot.set_interact()
750
ef4bda7d623d Better state and inventory management.
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
183 if self.game.is_in_inventory("cryo_pipes_one"):
603
3ce19d33b51f Rename state to game to not cause confusion with the other state
Neil Muller <neil@dip.sun.ac.za>
parents: 592
diff changeset
184 self.game.replace_inventory_item("cryo_pipes_one",
539
11530992924a PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 528
diff changeset
185 "cryo_pipes_two")
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
186 return Result(_("With high-precision spitzensparken, you weld"
769
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
187 " together a second pipe. You bundle the two"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
188 " pipes together."), soundfile='laser.ogg')
750
ef4bda7d623d Better state and inventory management.
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
189 elif self.game.is_in_inventory("cryo_pipes_two"):
603
3ce19d33b51f Rename state to game to not cause confusion with the other state
Neil Muller <neil@dip.sun.ac.za>
parents: 592
diff changeset
190 self.game.replace_inventory_item("cryo_pipes_two",
539
11530992924a PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 528
diff changeset
191 "cryo_pipes_three")
769
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
192 return Result(_("With high-precision spitzensparken, you"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
193 " create yet another pipe. You store it with"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
194 " the other two."), soundfile='laser.ogg')
750
ef4bda7d623d Better state and inventory management.
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
195 elif self.game.is_in_inventory("cryo_pipes_three"):
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
196 # just for safety
459
786773393e6f Tweak laser text
Neil Muller <neil@dip.sun.ac.za>
parents: 437
diff changeset
197 return None
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
198 else:
603
3ce19d33b51f Rename state to game to not cause confusion with the other state
Neil Muller <neil@dip.sun.ac.za>
parents: 592
diff changeset
199 self.game.add_inventory_item("cryo_pipes_one")
769
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
200 return Result(_("With high-precision spitzensparken, the can"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
201 " and tube are welded into a whole greater"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
202 " than the sum of the parts."),
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
203 soundfile='laser.ogg')
317
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
204
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
205
281
eb3cfcaff469 Too long since last commit. Felt like showing off some machine room progress.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 263
diff changeset
206 class LaserWelderPowerLights(Thing):
eb3cfcaff469 Too long since last commit. Felt like showing off some machine room progress.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 263
diff changeset
207
eb3cfcaff469 Too long since last commit. Felt like showing off some machine room progress.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 263
diff changeset
208 NAME = "machine.welder.lights"
eb3cfcaff469 Too long since last commit. Felt like showing off some machine room progress.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 263
diff changeset
209
eb3cfcaff469 Too long since last commit. Felt like showing off some machine room progress.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 263
diff changeset
210 INTERACTS = {
539
11530992924a PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 528
diff changeset
211 "lights": InteractAnimated(199, 273, ["power_lights_%d.png" % i for i
11530992924a PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 528
diff changeset
212 in range(8) + range(6, 0, -1)],
11530992924a PEP8 clean-up for engine, machine and mess.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 528
diff changeset
213 10),
281
eb3cfcaff469 Too long since last commit. Felt like showing off some machine room progress.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 263
diff changeset
214 }
eb3cfcaff469 Too long since last commit. Felt like showing off some machine room progress.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 263
diff changeset
215
eb3cfcaff469 Too long since last commit. Felt like showing off some machine room progress.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 263
diff changeset
216 INITIAL = 'lights'
eb3cfcaff469 Too long since last commit. Felt like showing off some machine room progress.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 263
diff changeset
217
eb3cfcaff469 Too long since last commit. Felt like showing off some machine room progress.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 263
diff changeset
218 def get_description(self):
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
219 return _("The power lights pulse expectantly.")
281
eb3cfcaff469 Too long since last commit. Felt like showing off some machine room progress.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 263
diff changeset
220
eb3cfcaff469 Too long since last commit. Felt like showing off some machine room progress.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 263
diff changeset
221
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
222 class CryoPipesOne(Item):
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
223 "A single cryo pipe (made from a tube fragment and can)."
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
224
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
225 INVENTORY_IMAGE = "cryo_pipes_one.png"
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
226 CURSOR = CursorSprite('cryo_pipes_one_cursor.png')
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
227 TOOL_NAME = "cryo_pipes_one"
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
228
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
229
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
230 class CryoPipesTwo(Item):
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
231 "Two cryo pipes (each made from a tube fragment and can)."
226
a5325919342e Tubes, pipes and ducts.
Jeremy Thurgood <firxen@gmail.com>
parents: 219
diff changeset
232
329
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
233 INVENTORY_IMAGE = "cryo_pipes_two.png"
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
234 CURSOR = CursorSprite('cryo_pipes_two_cursor.png')
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
235 TOOL_NAME = "cryo_pipes_two"
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
236
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
237
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
238 class CryoPipesThree(Item):
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
239 "Three cryo pipes (each made from a tube fragment and can)."
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
240
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
241 INVENTORY_IMAGE = "cryo_pipes_three.png"
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
242 CURSOR = CursorSprite('cryo_pipes_three_cursor.png')
0bb1ab329bee Link up laser welder
Simon Cross <hodgestar+bzr@gmail.com>
parents: 317
diff changeset
243 TOOL_NAME = "cryo_pipes_three"
226
a5325919342e Tubes, pipes and ducts.
Jeremy Thurgood <firxen@gmail.com>
parents: 219
diff changeset
244
a5325919342e Tubes, pipes and ducts.
Jeremy Thurgood <firxen@gmail.com>
parents: 219
diff changeset
245
194
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
246 class Grinder(Thing):
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
247
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
248 NAME = "machine.grinder"
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
249
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
250 INTERACTS = {
281
eb3cfcaff469 Too long since last commit. Felt like showing off some machine room progress.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 263
diff changeset
251 "grind": InteractNoImage(86, 402, 94, 63),
194
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
252 }
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
253
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
254 INITIAL = "grind"
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
255
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
256 def interact_without(self):
769
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
257 return Result(_("It looks like it eats fingers. Perhaps a different"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
258 " approach is in order?"))
194
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
259
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
260 def interact_with_titanium_leg(self, item):
603
3ce19d33b51f Rename state to game to not cause confusion with the other state
Neil Muller <neil@dip.sun.ac.za>
parents: 592
diff changeset
261 self.game.replace_inventory_item(item.name, 'machete')
769
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
262 return Result(_("After much delicate grinding and a few close calls"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
263 " with various body parts, the titanium femur now"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
264 " resembles a machete more than a bone. Nice and"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
265 " sharp, too."), soundfile="grinder.ogg")
194
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
266
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
267 def get_description(self):
769
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
268 return _("A pretty ordinary, albeit rather industrial, grinding"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
269 " machine.")
194
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
270
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
271
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
272 class TitaniumMachete(Item):
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
273 "Titanium machete, formerly a leg."
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
274
307
5031b84fbb4c Hook up new machete, can_opener, and titanium_femur images
Stefano Rivera <stefano@rivera.za.net>
parents: 306
diff changeset
275 INVENTORY_IMAGE = "machete.png"
5031b84fbb4c Hook up new machete, can_opener, and titanium_femur images
Stefano Rivera <stefano@rivera.za.net>
parents: 306
diff changeset
276 CURSOR = CursorSprite('machete_cursor.png', 23, 1)
194
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
277
9887c68110d8 Sharp things.
Jeremy Thurgood <firxen@gmail.com>
parents: 193
diff changeset
278
317
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
279 class ManualThing(Thing):
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
280
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
281 NAME = "machine.manual"
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
282
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
283 INTERACTS = {
333
81f5fb9f50e4 Hook up manual.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 329
diff changeset
284 "manual": InteractImage(432, 493, "manual_on_floor.png"),
317
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
285 }
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
286
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
287 INITIAL = "manual"
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
288
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
289 def interact_without(self):
333
81f5fb9f50e4 Hook up manual.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 329
diff changeset
290 self.scene.remove_thing(self)
603
3ce19d33b51f Rename state to game to not cause confusion with the other state
Neil Muller <neil@dip.sun.ac.za>
parents: 592
diff changeset
291 self.game.add_inventory_item("manual")
478
a9925aaf5f61 i18n and Russian translation
Stefano Rivera <stefano@rivera.za.net>
parents: 466
diff changeset
292 return Result(_("Ah! The ship's instruction manual. You'd feel better"
769
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
293 " if the previous owner wasn't lying next to it with a"
43b49f1de828 Merge i18n for before the pyntnclick split
Stefano Rivera <stefano@rivera.za.net>
parents: 759 765
diff changeset
294 " gaping hole in his rib cage."))
317
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
295
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
296
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
297 class Manual(Item):
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
298 "A ship instruction manual."
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
299
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
300 INVENTORY_IMAGE = "manual.png"
384
56a05ae56574 Initial manual implementation.
Jeremy Thurgood <firxen@gmail.com>
parents: 372
diff changeset
301 CURSOR = None
56a05ae56574 Initial manual implementation.
Jeremy Thurgood <firxen@gmail.com>
parents: 372
diff changeset
302
519
8f3c82c685a4 Fix is_interactive() by adding tool param.
Jeremy Thurgood <firxen@gmail.com>
parents: 513
diff changeset
303 def is_interactive(self, tool=None):
513
0e8487038834 fixed crash caused by the manual item's special snowflakeness
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 512
diff changeset
304 return True
0e8487038834 fixed crash caused by the manual item's special snowflakeness
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 512
diff changeset
305
512
b10dae40dc32 Fix items.
Jeremy Thurgood <firxen@gmail.com>
parents: 466
diff changeset
306 def interact_without(self):
384
56a05ae56574 Initial manual implementation.
Jeremy Thurgood <firxen@gmail.com>
parents: 372
diff changeset
307 return Result(detail_view='manual_detail')
317
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
308
3d1a5c0c362a Split laser welder slot and on button. Add manual thing. Add descriptions for drill press and block.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 307
diff changeset
309
47
8f1fccb8cadf Skeletons for scenes in plot outline.
Simon Cross <simon@simonx>
parents:
diff changeset
310 SCENES = [Machine]