view skaapsteker/sprites/npcs.py @ 475:18427edff33a

Add facing support to npcs
author Neil Muller <drnlmuller@gmail.com>
date Sat, 09 Apr 2011 21:53:19 +0200
parents 73868503c470
children 9a16483e49cb
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))),
                }



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))),
                }



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


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


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(BlockingNPC):
    image_dir = 'sprites/sasuke'


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