view skaapsteker/sprites/enemies.py @ 373:a2efe5470b79

start of patrolling monsters
author Neil Muller <drnlmuller@gmail.com>
date Sat, 09 Apr 2011 15:00:53 +0200
parents c8fd82ff0c71
children ed26bbfec03a
line wrap: on
line source

from base import Monster, PatrollingMonster
from pygame import transform


class RedOni(Monster):
    image_dir = 'sprites/oni red'

    attack_frame = 1
    attack_damage = 10
    frame_pause = 0.05  # Fast attacks

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

    def setup(self, direction):
        self.facing = direction

    def start_attack(self, player):
        if self._animation != 'attacking':
            # Turn to face the player we're attacking
            if player.collide_rect.centerx > self.collide_rect.centerx:
                self.facing = 'right'
            else:
                self.facing = 'left'
        Monster.start_attack(self, player)


class FireballOni(RedOni):
    pass # TODO


class PatrollingOni(RedOni, PatrollingMonster):
    pass