# # Kid.py # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # Copyright # Author: Nicholas F. Hoover # Contributors: Salvatore S. Gionfriddo # Created: 2007.08.12 # Last Modified: 2007.11.05 # from Enemy import Enemy from Animation import Animation class BasicKid(Enemy): pass class FatKid(Enemy): ############### # FRAME TICKS # ############### ATTACK1_ANIMATION_FRAME_TICKS = 5 ################### # ANIMATION TABLE # ################### ANIMATION_TABLE = [ (Enemy.IDLE, 'FatKid_Run', Enemy.IDLE_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_UP, 'FatKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_DOWN, 'FatKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_SIDE, 'FatKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.ATTACK1, 'FatKid_Bite', ATTACK1_ANIMATION_FRAME_TICKS, Enemy.ATTACK1_KEY_FRAME)] ######### # STATS # ######### SPEED = 2 MAX_HEALTH = 200 ATTACK1_DAMAGE = 7 class FastKid(Enemy): ############### # FRAME TICKS # ############### ATTACK1_ANIMATION_FRAME_TICKS = 4 ################### # ANIMATION TABLE # ################### ANIMATION_TABLE = [ (Enemy.IDLE, 'FastKid_Run', Enemy.IDLE_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_UP, 'FastKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_DOWN, 'FastKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_SIDE, 'FastKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.ATTACK1, 'FastKid_Bite', ATTACK1_ANIMATION_FRAME_TICKS, Enemy.ATTACK1_KEY_FRAME)] ######### # STATS # ######### SPEED = 8 ATTACK1_DAMAGE = 2 MAX_HEALTH = 50 class DevilKid(Enemy): ############### # FRAME TICKS # ############### ATTACK1_ANIMATION_FRAME_TICKS = 4 ################### # ANIMATION TABLE # ################### ANIMATION_TABLE = [ (Enemy.IDLE, 'DevilKid_Run', Enemy.IDLE_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_UP, 'DevilKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_DOWN, 'DevilKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_SIDE, 'DevilKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.ATTACK1, 'DevilKid_Bite', ATTACK1_ANIMATION_FRAME_TICKS, Enemy.ATTACK1_KEY_FRAME)] ######### # STATS # ######### SPEED = 8 ATTACK1_DAMAGE = 2 MAX_HEALTH = 50 class StrongKid(Enemy): ############### # FRAME TICKS # ############### ATTACK1_ANIMATION_FRAME_TICKS = 5 ################### # ANIMATION TABLE # ################### ANIMATION_TABLE = [ (Enemy.IDLE, 'StrongKid_Run', Enemy.IDLE_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_UP, 'StrongKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_DOWN, 'StrongKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_SIDE, 'StrongKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.ATTACK1, 'StrongKid_Bite', ATTACK1_ANIMATION_FRAME_TICKS, Enemy.ATTACK1_KEY_FRAME)] ######### # STATS # ######### SPEED = 6 MAX_HEALTH = 125 ATTACK1_DAMAGE = 10 class WeakKid(Enemy): ################### # ANIMATION TABLE # ################### ANIMATION_TABLE = [ (Enemy.IDLE, 'WeakKid_Run', Enemy.IDLE_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_UP, 'WeakKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_DOWN, 'WeakKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_SIDE, 'WeakKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.ATTACK1, 'WeakKid_Bite', Enemy.ATTACK1_ANIMATION_FRAME_TICKS, Enemy.ATTACK1_KEY_FRAME)] ########### # STATS # ########### SPEED = 3 MAX_HEALTH = 125 ATTACK1_DAMAGE = 1 class ThrowingKid(Enemy): ############### # FRAME TICKS # ############### ATTACK1_ANIMATION_FRAME_TICKS = 5 ################### # ANIMATION TABLE # ################### ANIMATION_TABLE = [ (Enemy.IDLE, 'ThrowingKid_Run', Enemy.IDLE_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_UP, 'ThrowingKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_DOWN, 'ThrowingKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_SIDE, 'ThrowingKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.ATTACK1, 'ThrowingKid_Bite', ATTACK1_ANIMATION_FRAME_TICKS, Enemy.ATTACK1_KEY_FRAME)] ######### # STATS # ######### SPEED = 6 MAX_HEALTH = 125 ATTACK1_DAMAGE = 10 ######## # MISC # ######## CHANCE_TO_THROW = 20 # twenty in one-thousand CAN_THROW = True class SantaKid(Enemy): ############### # FRAME TICKS # ############### ATTACK1_ANIMATION_FRAME_TICKS = 5 ################### # ANIMATION TABLE # ################### ANIMATION_TABLE = [ (Enemy.IDLE, 'SantaKid_Run', Enemy.IDLE_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_UP, 'SantaKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_DOWN, 'SantaKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_SIDE, 'SantaKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.ATTACK1, 'SantaKid_Bite', ATTACK1_ANIMATION_FRAME_TICKS, Enemy.ATTACK1_KEY_FRAME)] ######### # STATS # ######### SPEED = 4 MAX_HEALTH = 125 ATTACK1_DAMAGE = 10 ######## # MISC # ######## CHANCE_TO_THROW = 20 # twenty in one-thousand CAN_THROW = True class ElfKid(Enemy): ############### # FRAME TICKS # ############### ATTACK1_ANIMATION_FRAME_TICKS = 5 ################### # ANIMATION TABLE # ################### ANIMATION_TABLE = [ (Enemy.IDLE, 'ElfKid_Run', Enemy.IDLE_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_UP, 'ElfKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_DOWN, 'ElfKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.WALK_SIDE, 'ElfKid_Run', Enemy.WALK_ANIMATION_FRAME_TICKS, Animation.NO_KEY_FRAME), (Enemy.ATTACK1, 'ElfKid_Bite', ATTACK1_ANIMATION_FRAME_TICKS, Enemy.ATTACK1_KEY_FRAME)] ######### # STATS # ######### SPEED = 5 MAX_HEALTH = 50 ATTACK1_DAMAGE = 2 ######## # MISC # ######## CHANCE_TO_THROW = 10 # in one-thousand CAN_THROW = True