annotate skaapsteker/sprites/items.py @ 470:3b680634c546

Start of tails.
author Simon Cross <hodgestar@gmail.com>
date Sat, 09 Apr 2011 21:10:16 +0200
parents a084af91d5dc
children 14cab059bf39
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
383
87246b84a851 Notification text.
Jeremy Thurgood <firxen@gmail.com>
parents: 354
diff changeset
1 from .. import engine
442
a084af91d5dc Make breakable items break
Neil Muller <drnlmuller@gmail.com>
parents: 434
diff changeset
2 from .base import Item, PC_LAYER, PROJECTILE_LAYER
a084af91d5dc Make breakable items break
Neil Muller <drnlmuller@gmail.com>
parents: 434
diff changeset
3
127
e1dd3b785269 Initial game state stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
4
e1dd3b785269 Initial game state stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
5
388
de71c3fa5626 Tea notification stuff.
Jeremy Thurgood <firxen@gmail.com>
parents: 383
diff changeset
6 def notify(text):
de71c3fa5626 Tea notification stuff.
Jeremy Thurgood <firxen@gmail.com>
parents: 383
diff changeset
7 engine.OpenNotification.post(text=text)
de71c3fa5626 Tea notification stuff.
Jeremy Thurgood <firxen@gmail.com>
parents: 383
diff changeset
8
de71c3fa5626 Tea notification stuff.
Jeremy Thurgood <firxen@gmail.com>
parents: 383
diff changeset
9
354
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
10 class BreakableItem(Item):
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
11 whole_image_file = None
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
12 broken_image_file = None
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
13
442
a084af91d5dc Make breakable items break
Neil Muller <drnlmuller@gmail.com>
parents: 434
diff changeset
14 collides_with = set([PC_LAYER, PROJECTILE_LAYER])
a084af91d5dc Make breakable items break
Neil Muller <drnlmuller@gmail.com>
parents: 434
diff changeset
15
354
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
16 def setup(self, broken, **opts):
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
17 super(BreakableItem, self).setup(**opts)
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
18 self.broken = broken
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
19
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
20
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
21 def setup_image_data(self, pos):
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
22 self.image_file = self.broken_image_file if self._me.broken else self.whole_image_file
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
23 super(BreakableItem, self).setup_image_data(pos)
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
24
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
25
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
26 def smash(self):
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
27 self._me.broken = True
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
28 self.broken = True
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
29 self.setup_image_data(self._starting_tile_pos)
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
30
442
a084af91d5dc Make breakable items break
Neil Muller <drnlmuller@gmail.com>
parents: 434
diff changeset
31 def damage(self, damage):
a084af91d5dc Make breakable items break
Neil Muller <drnlmuller@gmail.com>
parents: 434
diff changeset
32 self.smash()
354
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
33
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
34
335
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
35 ##################################################
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
36 # Collectibles
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
37
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
38 class Aburage(Item):
397
00dbc053f9a0 Some item maintenance.
Jeremy Thurgood <firxen@gmail.com>
parents: 395
diff changeset
39 image_file = 'props/tofu.png'
335
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
40
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
41 def player_action(self, player):
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
42 player.eat_aburage()
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
43 self.remove()
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
44
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
45
340
f870e3122ac7 Collect haiku scrolls.
Jeremy Thurgood <firxen@gmail.com>
parents: 335
diff changeset
46 class HaikuScroll(Item):
397
00dbc053f9a0 Some item maintenance.
Jeremy Thurgood <firxen@gmail.com>
parents: 395
diff changeset
47 image_file = 'props/haiku-scroll.png'
340
f870e3122ac7 Collect haiku scrolls.
Jeremy Thurgood <firxen@gmail.com>
parents: 335
diff changeset
48
f870e3122ac7 Collect haiku scrolls.
Jeremy Thurgood <firxen@gmail.com>
parents: 335
diff changeset
49 def player_action(self, player):
f870e3122ac7 Collect haiku scrolls.
Jeremy Thurgood <firxen@gmail.com>
parents: 335
diff changeset
50 player.collect_scroll(self)
f870e3122ac7 Collect haiku scrolls.
Jeremy Thurgood <firxen@gmail.com>
parents: 335
diff changeset
51 self.remove()
f870e3122ac7 Collect haiku scrolls.
Jeremy Thurgood <firxen@gmail.com>
parents: 335
diff changeset
52
f870e3122ac7 Collect haiku scrolls.
Jeremy Thurgood <firxen@gmail.com>
parents: 335
diff changeset
53
f870e3122ac7 Collect haiku scrolls.
Jeremy Thurgood <firxen@gmail.com>
parents: 335
diff changeset
54 def setup(self, text, **opts):
f870e3122ac7 Collect haiku scrolls.
Jeremy Thurgood <firxen@gmail.com>
parents: 335
diff changeset
55 super(HaikuScroll, self).setup(**opts)
f870e3122ac7 Collect haiku scrolls.
Jeremy Thurgood <firxen@gmail.com>
parents: 335
diff changeset
56 self.text = text
f870e3122ac7 Collect haiku scrolls.
Jeremy Thurgood <firxen@gmail.com>
parents: 335
diff changeset
57
f870e3122ac7 Collect haiku scrolls.
Jeremy Thurgood <firxen@gmail.com>
parents: 335
diff changeset
58
335
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
59
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
60 ##################################################
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
61 # Monk tea mission
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
62
189
9d08f99b5ddf Add npcs to gamestate. Update gamestate. Pass world around a bit. Some other stuff.
Simon Cross <hodgestar@gmail.com>
parents: 162
diff changeset
63 class TeaCup(Item):
397
00dbc053f9a0 Some item maintenance.
Jeremy Thurgood <firxen@gmail.com>
parents: 395
diff changeset
64 image_file = 'props/teacup_empty.png'
189
9d08f99b5ddf Add npcs to gamestate. Update gamestate. Pass world around a bit. Some other stuff.
Simon Cross <hodgestar@gmail.com>
parents: 162
diff changeset
65
9d08f99b5ddf Add npcs to gamestate. Update gamestate. Pass world around a bit. Some other stuff.
Simon Cross <hodgestar@gmail.com>
parents: 162
diff changeset
66
9d08f99b5ddf Add npcs to gamestate. Update gamestate. Pass world around a bit. Some other stuff.
Simon Cross <hodgestar@gmail.com>
parents: 162
diff changeset
67 class TeaLeaf(Item):
397
00dbc053f9a0 Some item maintenance.
Jeremy Thurgood <firxen@gmail.com>
parents: 395
diff changeset
68 image_file = 'props/tealeaf.png'
127
e1dd3b785269 Initial game state stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
69
189
9d08f99b5ddf Add npcs to gamestate. Update gamestate. Pass world around a bit. Some other stuff.
Simon Cross <hodgestar@gmail.com>
parents: 162
diff changeset
70
191
993f4f55eb93 Minor item changes.
Jeremy Thurgood <firxen@gmail.com>
parents: 189
diff changeset
71 class TeaCupFull(Item):
397
00dbc053f9a0 Some item maintenance.
Jeremy Thurgood <firxen@gmail.com>
parents: 395
diff changeset
72 image_file = 'props/teacup_full.png'
191
993f4f55eb93 Minor item changes.
Jeremy Thurgood <firxen@gmail.com>
parents: 189
diff changeset
73
993f4f55eb93 Minor item changes.
Jeremy Thurgood <firxen@gmail.com>
parents: 189
diff changeset
74
189
9d08f99b5ddf Add npcs to gamestate. Update gamestate. Pass world around a bit. Some other stuff.
Simon Cross <hodgestar@gmail.com>
parents: 162
diff changeset
75 class TeaPot(Item):
397
00dbc053f9a0 Some item maintenance.
Jeremy Thurgood <firxen@gmail.com>
parents: 395
diff changeset
76 image_file = 'props/teapot.png'
237
e06c54d7701f Add vase to demonstrate item state testing in dialogues.
Simon Cross <hodgestar@gmail.com>
parents: 191
diff changeset
77
296
15b2be883a40 Ancient and honorable tea ceremony.
Jeremy Thurgood <firxen@gmail.com>
parents: 237
diff changeset
78 def setup(self, brewed, **opts):
15b2be883a40 Ancient and honorable tea ceremony.
Jeremy Thurgood <firxen@gmail.com>
parents: 237
diff changeset
79 super(TeaPot, self).setup(**opts)
15b2be883a40 Ancient and honorable tea ceremony.
Jeremy Thurgood <firxen@gmail.com>
parents: 237
diff changeset
80
15b2be883a40 Ancient and honorable tea ceremony.
Jeremy Thurgood <firxen@gmail.com>
parents: 237
diff changeset
81
15b2be883a40 Ancient and honorable tea ceremony.
Jeremy Thurgood <firxen@gmail.com>
parents: 237
diff changeset
82 def player_action(self, player):
15b2be883a40 Ancient and honorable tea ceremony.
Jeremy Thurgood <firxen@gmail.com>
parents: 237
diff changeset
83 if player.has_item('tealeaf'):
335
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
84 self._me.brewed = True
296
15b2be883a40 Ancient and honorable tea ceremony.
Jeremy Thurgood <firxen@gmail.com>
parents: 237
diff changeset
85 player.discard_item()
388
de71c3fa5626 Tea notification stuff.
Jeremy Thurgood <firxen@gmail.com>
parents: 383
diff changeset
86 notify("A nice cup of tea is brewing.")
296
15b2be883a40 Ancient and honorable tea ceremony.
Jeremy Thurgood <firxen@gmail.com>
parents: 237
diff changeset
87 return
15b2be883a40 Ancient and honorable tea ceremony.
Jeremy Thurgood <firxen@gmail.com>
parents: 237
diff changeset
88 if player.has_item('teacup'):
335
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
89 if self._me.brewed:
296
15b2be883a40 Ancient and honorable tea ceremony.
Jeremy Thurgood <firxen@gmail.com>
parents: 237
diff changeset
90 player.discard_item()
15b2be883a40 Ancient and honorable tea ceremony.
Jeremy Thurgood <firxen@gmail.com>
parents: 237
diff changeset
91 player.take_item_by_name('teacupfull')
335
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
92 self._me.brewed = False
403
2da0db41cdf0 edited items text
anna <annamalczyk@gmail.com>
parents: 397
diff changeset
93 notify("You pour a cup of tea.")
296
15b2be883a40 Ancient and honorable tea ceremony.
Jeremy Thurgood <firxen@gmail.com>
parents: 237
diff changeset
94 else:
388
de71c3fa5626 Tea notification stuff.
Jeremy Thurgood <firxen@gmail.com>
parents: 383
diff changeset
95 notify("Sadly, the teapot is empty.")
383
87246b84a851 Notification text.
Jeremy Thurgood <firxen@gmail.com>
parents: 354
diff changeset
96 return
388
de71c3fa5626 Tea notification stuff.
Jeremy Thurgood <firxen@gmail.com>
parents: 383
diff changeset
97 notify("A proper tea ceremony requires a cup.")
296
15b2be883a40 Ancient and honorable tea ceremony.
Jeremy Thurgood <firxen@gmail.com>
parents: 237
diff changeset
98
15b2be883a40 Ancient and honorable tea ceremony.
Jeremy Thurgood <firxen@gmail.com>
parents: 237
diff changeset
99
354
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
100
335
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
101 ##################################################
354
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
102 # Guard seduction
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
103
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
104
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
105 class Fan(Item):
397
00dbc053f9a0 Some item maintenance.
Jeremy Thurgood <firxen@gmail.com>
parents: 395
diff changeset
106 image_file = 'props/fan.png'
354
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
107
395
135cbb99511f Hook up fan.
Jeremy Thurgood <firxen@gmail.com>
parents: 388
diff changeset
108 def player_action(self, player):
135cbb99511f Hook up fan.
Jeremy Thurgood <firxen@gmail.com>
parents: 388
diff changeset
109 player.get_fan(self)
135cbb99511f Hook up fan.
Jeremy Thurgood <firxen@gmail.com>
parents: 388
diff changeset
110
135cbb99511f Hook up fan.
Jeremy Thurgood <firxen@gmail.com>
parents: 388
diff changeset
111
354
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
112
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
113 ##################################################
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
114 # Samurai distraction
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
115
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
116
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
117 class Kindling(Item):
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
118 image_file = 'props/kindling.png'
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
119
412
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
120 def player_action(self, player):
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
121 if player.has_item('oil'):
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
122 set_fire(player, self)
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
123 else:
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
124 player.take_item(self)
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
125
354
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
126
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
127 class Oil(Item):
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
128 image_file = 'props/oil.png'
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
129
412
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
130 def player_action(self, player):
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
131 if player.has_item('kindling'):
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
132 set_fire(player, self)
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
133 else:
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
134 player.take_item(self)
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
135
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
136
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
137
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
138 # TODO: Finish this thing's behaviour
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
139 class SignalFire(Item):
432
e65f6783a9f7 placed fire on the road; animation not yet hooked up
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 417
diff changeset
140 image_file = 'props/signal_fire/signal_fire_unlit.png'
412
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
141
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
142 def setup(self, litness, **opts):
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
143 super(SignalFire, self).setup(**opts)
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
144
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
145
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
146 def player_action(self, player):
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
147 if self._me.litness == 'set':
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
148 if player.has_item('kindling'):
417
e289a111c743 edited item text
anna <annamalczyk@gmail.com>
parents: 412
diff changeset
149 notify("You put the kindling in the signal fire.")
412
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
150 elif player.has_item('oil'):
417
e289a111c743 edited item text
anna <annamalczyk@gmail.com>
parents: 412
diff changeset
151 notify("You pour the oil on the signal fire.")
412
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
152 else:
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
153 return
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
154 player.discard_item()
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
155 self._me.litness = 'kindled'
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
156 elif self._me.litness == 'kindled':
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
157 if player.has_item('kindling'):
417
e289a111c743 edited item text
anna <annamalczyk@gmail.com>
parents: 412
diff changeset
158 notify("You put the kindling on the signal fire and light it.")
412
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
159 elif player.has_item('oil'):
417
e289a111c743 edited item text
anna <annamalczyk@gmail.com>
parents: 412
diff changeset
160 notify("You pour the oil on the signal fire and light it.")
412
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
161 else:
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
162 return
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
163 player.discard_item()
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
164 self._me.litness = 'burning'
8ac5b3d619fe Signal fire.
Jeremy Thurgood <firxen@gmail.com>
parents: 406
diff changeset
165 self.world.missions.fire_started_on_road = True
354
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
166
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
167
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
168 ##################################################
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
169 # Cannon destruction
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
170
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
171
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
172 class Cannon(BreakableItem):
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
173 whole_image_file = 'props/cannon-whole.png'
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
174 broken_image_file = 'props/cannon-broken.png'
335
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
175
434
827c5d045cf5 Don't allow the cannon to be picked up
Neil Muller <drnlmuller@gmail.com>
parents: 432
diff changeset
176 liftable = False
827c5d045cf5 Don't allow the cannon to be picked up
Neil Muller <drnlmuller@gmail.com>
parents: 432
diff changeset
177
335
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
178
237
e06c54d7701f Add vase to demonstrate item state testing in dialogues.
Simon Cross <hodgestar@gmail.com>
parents: 191
diff changeset
179
354
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
180 ##################################################
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
181 # Geisha character assassination
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
182
237
e06c54d7701f Add vase to demonstrate item state testing in dialogues.
Simon Cross <hodgestar@gmail.com>
parents: 191
diff changeset
183
354
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
184 class Vase(BreakableItem):
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
185 whole_image_file = 'props/vase-whole.png'
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
186 broken_image_file = 'props/vase-broken.png'
297
2844edb6c1cc Hook up maneki, kaneda2 and the fishmonger who were hiding in limbo (i.e. not in game.json).
Simon Cross <hodgestar@gmail.com>
parents: 296
diff changeset
187
2844edb6c1cc Hook up maneki, kaneda2 and the fishmonger who were hiding in limbo (i.e. not in game.json).
Simon Cross <hodgestar@gmail.com>
parents: 296
diff changeset
188
2844edb6c1cc Hook up maneki, kaneda2 and the fishmonger who were hiding in limbo (i.e. not in game.json).
Simon Cross <hodgestar@gmail.com>
parents: 296
diff changeset
189 class Salmon(Item):
354
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
190 image_file = 'props/fish.png'
335
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
191
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
192
c6552e9fc2e1 Added aburage.
Jeremy Thurgood <firxen@gmail.com>
parents: 297
diff changeset
193
354
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
194 ##################################################
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
195 # Theatrical debut
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
196
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
197
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
198 class NoMask(BreakableItem):
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
199 whole_image_file = 'props/no-mask-whole.png'
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
200 broken_image_file = 'props/no-mask-broken.png'
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
201
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
202
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
203 class NoCostume(Item):
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
204 image_file = 'props/no-costume.png'
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
205
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
206
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
207
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
208 ##################################################
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
209 # Big business
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
210
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
211
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
212 class Rice(BreakableItem):
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
213 whole_image_file = 'props/rice-whole.png'
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
214 broken_image_file = 'props/rice-broken.png'
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
215
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
216
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
217 class Documents(Item):
406
9c043be746fa stuff in the teahouse
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 403
diff changeset
218 image_file = 'props/haiku-scroll.png'
354
b37dbc557ae0 Stub classes for all items.
Jeremy Thurgood <firxen@gmail.com>
parents: 340
diff changeset
219
470
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
220 ##################################################
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
221 # Tails
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
222
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
223 class Tail(Item):
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
224
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
225 image_file = None
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
226 tail_type = None
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
227
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
228 def player_action(self, player):
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
229 player.add_tail(self.tail_type)
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
230 self.remove()
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
231
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
232
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
233 class ShapeshiftTail(Tail):
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
234 image_file = 'icons/tails/shapeshifted.png'
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
235 tail_type = 'shapeshift'
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
236
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
237
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
238 class FireballTail(Tail):
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
239 image_file = 'icons/tails/fireball.png'
3b680634c546 Start of tails.
Simon Cross <hodgestar@gmail.com>
parents: 442
diff changeset
240 tail_type = 'fireball'