view 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
line wrap: on
line source

from .base import NPC, BlockingNPC
from pygame import transform


class Monk(NPC):
    image_dir = 'sprites/monk'
    animation_regexes = [
        ("meditating", "monk.png"),
    ]


class Guard(BlockingNPC):
    image_dir = 'sprites/guard'

    def update(self):
        if not self._me.block and self.block:
            self.collides_with = set([])
            self.block = False
        super(Guard, self).update()


class Hattori(BlockingNPC):
    image_dir = 'sprites/hattori'
    facings = {
            'running' : (('left', None),
                ('right', lambda x: transform.flip(x, True, False))),
            'standing' : (('left', None),
                ('right', lambda x: transform.flip(x, True, False))),
                }

    def update(self):
        if not self._me.block:
            self.remove()




class Ichiro(BlockingNPC):
    image_dir = 'sprites/ichiro'
    facings = {
            'running' : (('left', None),
                ('right', lambda x: transform.flip(x, True, False))),
            'standing' : (('left', None),
                ('right', lambda x: transform.flip(x, True, False))),
                }

    def update(self):
        if not self._me.block:
            self.remove()



class Kaneda(NPC):
    image_dir = 'sprites/kaneda'

    facings = {
            'running' : (('left', None),
                ('right', lambda x: transform.flip(x, True, False))),
            'standing' : (('left', None),
                ('right', lambda x: transform.flip(x, True, False))),
                }


class Tetsuo(NPC):
    image_dir = 'sprites/tetsuo'

    facings = {
            'running' : (('left', None),
                ('right', lambda x: transform.flip(x, True, False))),
            'standing' : (('left', None),
                ('right', lambda x: transform.flip(x, True, False))),
                }



class Kumiko(NPC):
    image_dir = 'sprites/geisha'


class FishMonger(NPC):
    image_dir = 'sprites/fishmonger'
    animation_regexes = [
        ("standing", r"^.*_standing.png$"),
    ]


class Maneki(NPC):
    image_dir = 'sprites/maneki neko'
    animation_regexes = [
        ("standing", r"^.*_standing.png$"),
    ]


class Actor(NPC):
    image_dir = 'sprites/fishmonger'
    animation_regexes = [
        ("standing", r"^.*_standing.png$"),
    ]


class Sasuke(NPC):
    image_dir = 'sprites/sasuke'

    def setup(self, name, world, dsm, state, facing=None):
        self._animation = 'standing'
        super(Sasuke, self).setup(name, world, dsm, state, facing)



class Kitsune(NPC):
    image_dir = 'sprites'
    animation_regexes = [
        ("being_evil", "boss_kitsune.png"),
    ]