annotate skaapsteker/sprites/npcs.py @ 516:9a1f8925d227

added facings for kaneda and tetsuo
author Adrianna Pińska <adrianna.pinska@gmail.com>
date Sat, 09 Apr 2011 23:21:42 +0200
parents dbf99f763060
children 8087e95ade2f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
460
8b9b4706a4d6 Blocking NPC's block
Neil Muller <drnlmuller@gmail.com>
parents: 451
diff changeset
1 from .base import NPC, BlockingNPC
475
18427edff33a Add facing support to npcs
Neil Muller <drnlmuller@gmail.com>
parents: 468
diff changeset
2 from pygame import transform
189
9d08f99b5ddf Add npcs to gamestate. Update gamestate. Pass world around a bit. Some other stuff.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
3
9d08f99b5ddf Add npcs to gamestate. Update gamestate. Pass world around a bit. Some other stuff.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
4
9d08f99b5ddf Add npcs to gamestate. Update gamestate. Pass world around a bit. Some other stuff.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
5 class Monk(NPC):
213
c5c4306593d8 Attempt to animate NPCs a bit.
Simon Cross <hodgestar@gmail.com>
parents: 197
diff changeset
6 image_dir = 'sprites/monk'
c5c4306593d8 Attempt to animate NPCs a bit.
Simon Cross <hodgestar@gmail.com>
parents: 197
diff changeset
7 animation_regexes = [
c5c4306593d8 Attempt to animate NPCs a bit.
Simon Cross <hodgestar@gmail.com>
parents: 197
diff changeset
8 ("meditating", "monk.png"),
c5c4306593d8 Attempt to animate NPCs a bit.
Simon Cross <hodgestar@gmail.com>
parents: 197
diff changeset
9 ]
189
9d08f99b5ddf Add npcs to gamestate. Update gamestate. Pass world around a bit. Some other stuff.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
10
9d08f99b5ddf Add npcs to gamestate. Update gamestate. Pass world around a bit. Some other stuff.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
11
460
8b9b4706a4d6 Blocking NPC's block
Neil Muller <drnlmuller@gmail.com>
parents: 451
diff changeset
12 class Guard(BlockingNPC):
213
c5c4306593d8 Attempt to animate NPCs a bit.
Simon Cross <hodgestar@gmail.com>
parents: 197
diff changeset
13 image_dir = 'sprites/guard'
197
6696ffd51ac2 Hordes of NPCs.
Simon Cross <hodgestar@gmail.com>
parents: 189
diff changeset
14
461
c6d1165bb16f Can talk your way past the guard
Neil Muller <drnlmuller@gmail.com>
parents: 460
diff changeset
15 def update(self):
c6d1165bb16f Can talk your way past the guard
Neil Muller <drnlmuller@gmail.com>
parents: 460
diff changeset
16 if not self._me.block and self.block:
c6d1165bb16f Can talk your way past the guard
Neil Muller <drnlmuller@gmail.com>
parents: 460
diff changeset
17 self.collides_with = set([])
c6d1165bb16f Can talk your way past the guard
Neil Muller <drnlmuller@gmail.com>
parents: 460
diff changeset
18 self.block = False
c6d1165bb16f Can talk your way past the guard
Neil Muller <drnlmuller@gmail.com>
parents: 460
diff changeset
19 super(Guard, self).update()
197
6696ffd51ac2 Hordes of NPCs.
Simon Cross <hodgestar@gmail.com>
parents: 189
diff changeset
20
460
8b9b4706a4d6 Blocking NPC's block
Neil Muller <drnlmuller@gmail.com>
parents: 451
diff changeset
21
468
73868503c470 Make road Samuri blocking
Neil Muller <drnlmuller@gmail.com>
parents: 461
diff changeset
22 class Hattori(BlockingNPC):
213
c5c4306593d8 Attempt to animate NPCs a bit.
Simon Cross <hodgestar@gmail.com>
parents: 197
diff changeset
23 image_dir = 'sprites/hattori'
475
18427edff33a Add facing support to npcs
Neil Muller <drnlmuller@gmail.com>
parents: 468
diff changeset
24 facings = {
18427edff33a Add facing support to npcs
Neil Muller <drnlmuller@gmail.com>
parents: 468
diff changeset
25 'running' : (('left', None),
18427edff33a Add facing support to npcs
Neil Muller <drnlmuller@gmail.com>
parents: 468
diff changeset
26 ('right', lambda x: transform.flip(x, True, False))),
18427edff33a Add facing support to npcs
Neil Muller <drnlmuller@gmail.com>
parents: 468
diff changeset
27 'standing' : (('left', None),
18427edff33a Add facing support to npcs
Neil Muller <drnlmuller@gmail.com>
parents: 468
diff changeset
28 ('right', lambda x: transform.flip(x, True, False))),
18427edff33a Add facing support to npcs
Neil Muller <drnlmuller@gmail.com>
parents: 468
diff changeset
29 }
18427edff33a Add facing support to npcs
Neil Muller <drnlmuller@gmail.com>
parents: 468
diff changeset
30
501
9a16483e49cb Remove 1st set of blocking samuri
Neil Muller <drnlmuller@gmail.com>
parents: 475
diff changeset
31 def update(self):
9a16483e49cb Remove 1st set of blocking samuri
Neil Muller <drnlmuller@gmail.com>
parents: 475
diff changeset
32 if not self._me.block:
9a16483e49cb Remove 1st set of blocking samuri
Neil Muller <drnlmuller@gmail.com>
parents: 475
diff changeset
33 self.remove()
9a16483e49cb Remove 1st set of blocking samuri
Neil Muller <drnlmuller@gmail.com>
parents: 475
diff changeset
34
9a16483e49cb Remove 1st set of blocking samuri
Neil Muller <drnlmuller@gmail.com>
parents: 475
diff changeset
35
197
6696ffd51ac2 Hordes of NPCs.
Simon Cross <hodgestar@gmail.com>
parents: 189
diff changeset
36
6696ffd51ac2 Hordes of NPCs.
Simon Cross <hodgestar@gmail.com>
parents: 189
diff changeset
37
468
73868503c470 Make road Samuri blocking
Neil Muller <drnlmuller@gmail.com>
parents: 461
diff changeset
38 class Ichiro(BlockingNPC):
213
c5c4306593d8 Attempt to animate NPCs a bit.
Simon Cross <hodgestar@gmail.com>
parents: 197
diff changeset
39 image_dir = 'sprites/ichiro'
475
18427edff33a Add facing support to npcs
Neil Muller <drnlmuller@gmail.com>
parents: 468
diff changeset
40 facings = {
18427edff33a Add facing support to npcs
Neil Muller <drnlmuller@gmail.com>
parents: 468
diff changeset
41 'running' : (('left', None),
18427edff33a Add facing support to npcs
Neil Muller <drnlmuller@gmail.com>
parents: 468
diff changeset
42 ('right', lambda x: transform.flip(x, True, False))),
18427edff33a Add facing support to npcs
Neil Muller <drnlmuller@gmail.com>
parents: 468
diff changeset
43 'standing' : (('left', None),
18427edff33a Add facing support to npcs
Neil Muller <drnlmuller@gmail.com>
parents: 468
diff changeset
44 ('right', lambda x: transform.flip(x, True, False))),
18427edff33a Add facing support to npcs
Neil Muller <drnlmuller@gmail.com>
parents: 468
diff changeset
45 }
18427edff33a Add facing support to npcs
Neil Muller <drnlmuller@gmail.com>
parents: 468
diff changeset
46
501
9a16483e49cb Remove 1st set of blocking samuri
Neil Muller <drnlmuller@gmail.com>
parents: 475
diff changeset
47 def update(self):
9a16483e49cb Remove 1st set of blocking samuri
Neil Muller <drnlmuller@gmail.com>
parents: 475
diff changeset
48 if not self._me.block:
9a16483e49cb Remove 1st set of blocking samuri
Neil Muller <drnlmuller@gmail.com>
parents: 475
diff changeset
49 self.remove()
9a16483e49cb Remove 1st set of blocking samuri
Neil Muller <drnlmuller@gmail.com>
parents: 475
diff changeset
50
197
6696ffd51ac2 Hordes of NPCs.
Simon Cross <hodgestar@gmail.com>
parents: 189
diff changeset
51
6696ffd51ac2 Hordes of NPCs.
Simon Cross <hodgestar@gmail.com>
parents: 189
diff changeset
52
6696ffd51ac2 Hordes of NPCs.
Simon Cross <hodgestar@gmail.com>
parents: 189
diff changeset
53 class Kaneda(NPC):
213
c5c4306593d8 Attempt to animate NPCs a bit.
Simon Cross <hodgestar@gmail.com>
parents: 197
diff changeset
54 image_dir = 'sprites/kaneda'
197
6696ffd51ac2 Hordes of NPCs.
Simon Cross <hodgestar@gmail.com>
parents: 189
diff changeset
55
516
9a1f8925d227 added facings for kaneda and tetsuo
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 514
diff changeset
56 facings = {
9a1f8925d227 added facings for kaneda and tetsuo
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 514
diff changeset
57 'running' : (('left', None),
9a1f8925d227 added facings for kaneda and tetsuo
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 514
diff changeset
58 ('right', lambda x: transform.flip(x, True, False))),
9a1f8925d227 added facings for kaneda and tetsuo
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 514
diff changeset
59 'standing' : (('left', None),
9a1f8925d227 added facings for kaneda and tetsuo
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 514
diff changeset
60 ('right', lambda x: transform.flip(x, True, False))),
9a1f8925d227 added facings for kaneda and tetsuo
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 514
diff changeset
61 }
9a1f8925d227 added facings for kaneda and tetsuo
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 514
diff changeset
62
197
6696ffd51ac2 Hordes of NPCs.
Simon Cross <hodgestar@gmail.com>
parents: 189
diff changeset
63
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: 224
diff changeset
64 class Tetsuo(NPC):
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: 224
diff changeset
65 image_dir = 'sprites/tetsuo'
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: 224
diff changeset
66
516
9a1f8925d227 added facings for kaneda and tetsuo
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 514
diff changeset
67 facings = {
9a1f8925d227 added facings for kaneda and tetsuo
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 514
diff changeset
68 'running' : (('left', None),
9a1f8925d227 added facings for kaneda and tetsuo
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 514
diff changeset
69 ('right', lambda x: transform.flip(x, True, False))),
9a1f8925d227 added facings for kaneda and tetsuo
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 514
diff changeset
70 'standing' : (('left', None),
9a1f8925d227 added facings for kaneda and tetsuo
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 514
diff changeset
71 ('right', lambda x: transform.flip(x, True, False))),
9a1f8925d227 added facings for kaneda and tetsuo
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 514
diff changeset
72 }
9a1f8925d227 added facings for kaneda and tetsuo
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 514
diff changeset
73
9a1f8925d227 added facings for kaneda and tetsuo
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 514
diff changeset
74
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: 224
diff changeset
75
197
6696ffd51ac2 Hordes of NPCs.
Simon Cross <hodgestar@gmail.com>
parents: 189
diff changeset
76 class Kumiko(NPC):
213
c5c4306593d8 Attempt to animate NPCs a bit.
Simon Cross <hodgestar@gmail.com>
parents: 197
diff changeset
77 image_dir = 'sprites/geisha'
197
6696ffd51ac2 Hordes of NPCs.
Simon Cross <hodgestar@gmail.com>
parents: 189
diff changeset
78
6696ffd51ac2 Hordes of NPCs.
Simon Cross <hodgestar@gmail.com>
parents: 189
diff changeset
79
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: 224
diff changeset
80 class FishMonger(NPC):
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: 224
diff changeset
81 image_dir = 'sprites/fishmonger'
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: 224
diff changeset
82 animation_regexes = [
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: 224
diff changeset
83 ("standing", r"^.*_standing.png$"),
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: 224
diff changeset
84 ]
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: 224
diff changeset
85
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: 224
diff changeset
86
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: 224
diff changeset
87 class Maneki(NPC):
436
32df272a163a maneki neko and fisherman's house
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 418
diff changeset
88 image_dir = 'sprites/maneki neko'
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: 224
diff changeset
89 animation_regexes = [
436
32df272a163a maneki neko and fisherman's house
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 418
diff changeset
90 ("standing", r"^.*_standing.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: 224
diff changeset
91 ]
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: 224
diff changeset
92
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: 224
diff changeset
93
197
6696ffd51ac2 Hordes of NPCs.
Simon Cross <hodgestar@gmail.com>
parents: 189
diff changeset
94 class Actor(NPC):
418
c6e9b3006ef9 stuff in theatre
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 297
diff changeset
95 image_dir = 'sprites/fishmonger'
224
5d37c73d46e2 Fix actor sprite a bit. Add evil kitsune sprite.
Simon Cross <hodgestar@gmail.com>
parents: 213
diff changeset
96 animation_regexes = [
418
c6e9b3006ef9 stuff in theatre
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 297
diff changeset
97 ("standing", r"^.*_standing.png$"),
224
5d37c73d46e2 Fix actor sprite a bit. Add evil kitsune sprite.
Simon Cross <hodgestar@gmail.com>
parents: 213
diff changeset
98 ]
197
6696ffd51ac2 Hordes of NPCs.
Simon Cross <hodgestar@gmail.com>
parents: 189
diff changeset
99
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: 224
diff changeset
100
509
c85363a8ff56 Make Sasuke non-blocking again
Neil Muller <drnlmuller@gmail.com>
parents: 501
diff changeset
101 class Sasuke(NPC):
213
c5c4306593d8 Attempt to animate NPCs a bit.
Simon Cross <hodgestar@gmail.com>
parents: 197
diff changeset
102 image_dir = 'sprites/sasuke'
224
5d37c73d46e2 Fix actor sprite a bit. Add evil kitsune sprite.
Simon Cross <hodgestar@gmail.com>
parents: 213
diff changeset
103
514
dbf99f763060 Make Sasuke standing
Neil Muller <drnlmuller@gmail.com>
parents: 509
diff changeset
104 def setup(self, name, world, dsm, state, facing=None):
dbf99f763060 Make Sasuke standing
Neil Muller <drnlmuller@gmail.com>
parents: 509
diff changeset
105 self._animation = 'standing'
dbf99f763060 Make Sasuke standing
Neil Muller <drnlmuller@gmail.com>
parents: 509
diff changeset
106 super(Sasuke, self).setup(name, world, dsm, state, facing)
dbf99f763060 Make Sasuke standing
Neil Muller <drnlmuller@gmail.com>
parents: 509
diff changeset
107
224
5d37c73d46e2 Fix actor sprite a bit. Add evil kitsune sprite.
Simon Cross <hodgestar@gmail.com>
parents: 213
diff changeset
108
509
c85363a8ff56 Make Sasuke non-blocking again
Neil Muller <drnlmuller@gmail.com>
parents: 501
diff changeset
109
224
5d37c73d46e2 Fix actor sprite a bit. Add evil kitsune sprite.
Simon Cross <hodgestar@gmail.com>
parents: 213
diff changeset
110 class Kitsune(NPC):
5d37c73d46e2 Fix actor sprite a bit. Add evil kitsune sprite.
Simon Cross <hodgestar@gmail.com>
parents: 213
diff changeset
111 image_dir = 'sprites'
5d37c73d46e2 Fix actor sprite a bit. Add evil kitsune sprite.
Simon Cross <hodgestar@gmail.com>
parents: 213
diff changeset
112 animation_regexes = [
451
7f198761a7be boss kitsune
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 436
diff changeset
113 ("being_evil", "boss_kitsune.png"),
224
5d37c73d46e2 Fix actor sprite a bit. Add evil kitsune sprite.
Simon Cross <hodgestar@gmail.com>
parents: 213
diff changeset
114 ]