SBSPSS/source/enemy/npcdata.cpp
Charles 097520cc05
2001-03-01 16:55:06 +00:00

760 lines
13 KiB
C++

/*=========================================================================
npcdata.cpp
Author: CRB
Created:
Project: Spongebob
Purpose:
Copyright (c) 2000 Climax Development Ltd
===========================================================================*/
#ifndef __ENEMY_NPC_H__
#include "enemy\npc.h"
#endif
#ifndef __PLAYER_PLAYER_H__
#include "player\player.h"
#endif
#ifndef __ANIM_CLAM_HEADER__
#include <ACTOR_CLAM_ANIM.h>
#endif
#ifndef __ANIM_SHARKSUB_HEADER__
#include <ACTOR_SHARKSUB_ANIM.h>
#endif
CNpcFriend::NPC_FRIEND_DATA CNpcFriend::m_data[NPC_FRIEND_UNIT_TYPE_MAX] =
{
{ // NPC_SANDY_CHEEKS
//NPC_FRIEND_INIT_DEFAULT,
//NPC_FRIEND_SENSOR_NONE,
NPC_FRIEND_MOVEMENT_STATIC,
//NPC_FRIEND_MOVEMENT_MODIFIER_NONE,
//NPC_FRIEND_CLOSE_NONE,
//NPC_FRIEND_TIMER_NONE,
true,
3,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_GARY
//NPC_FRIEND_INIT_DEFAULT,
//NPC_FRIEND_SENSOR_NONE,
NPC_FRIEND_MOVEMENT_GARY,
//NPC_FRIEND_MOVEMENT_MODIFIER_NONE,
//NPC_FRIEND_CLOSE_NONE,
//NPC_FRIEND_TIMER_NONE,
false,
3,
2048,
false,
DAMAGE__HIT_ENEMY,
},
};
CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
{
{ // NPC_FALLING_ITEM
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_FALLING_ITEM_USER_CLOSE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_FALLING_ITEM_FALL,
NPC_TIMER_NONE,
false,
8,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_FISH_HOOK
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_FISH_HOOK,
NPC_SENSOR_FISH_HOOK_USER_CLOSE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_FISH_HOOK_RISE,
NPC_TIMER_NONE,
false,
3,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_DUST_DEVIL
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_RETURNING_HAZARD,
NPC_SENSOR_NONE,
NPC_MOVEMENT_RETURNING_HAZARD,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
3,
2048,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_PENDULUM
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_PENDULUM,
NPC_SENSOR_NONE,
NPC_MOVEMENT_PENDULUM,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
3,
2048,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_FIREBALL
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_FIREBALL,
NPC_SENSOR_NONE,
NPC_MOVEMENT_FIREBALL,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
40,
2048,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_SAW_BLADE
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_RETURNING_HAZARD,
NPC_SENSOR_NONE,
NPC_MOVEMENT_RETURNING_HAZARD,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
3,
2048,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_LINEAR_PLATFORM
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_NONE,
NPC_MOVEMENT_FIXED_PATH,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
3,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_CIRCULAR_PLATFORM
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_CIRCULAR_PLATFORM,
NPC_SENSOR_NONE,
NPC_MOVEMENT_FIXED_CIRCULAR,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
3,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_SMALL_JELLYFISH_1
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_JELLYFISH_USER_CLOSE,
NPC_MOVEMENT_FIXED_PATH,
NPC_MOVEMENT_MODIFIER_JELLYFISH,
NPC_CLOSE_JELLYFISH_EVADE,
NPC_TIMER_NONE,
false,
3,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_SMALL_JELLYFISH_2
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_JELLYFISH_USER_CLOSE,
NPC_MOVEMENT_FIXED_PATH,
NPC_MOVEMENT_MODIFIER_JELLYFISH,
NPC_CLOSE_JELLYFISH_EVADE,
NPC_TIMER_NONE,
false,
3,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_ANEMONE_1
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_ANEMONE_USER_CLOSE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_ANEMONE_1_ATTACK,
NPC_TIMER_NONE,
false,
0,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_ANEMONE_2
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_ANEMONE_USER_CLOSE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_ANEMONE_2_ATTACK,
NPC_TIMER_NONE,
false,
0,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_ANEMONE_3
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_ANEMONE_USER_CLOSE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_ANEMONE_3_ATTACK,
NPC_TIMER_NONE,
false,
0,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_SKELETAL_FISH
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_GENERIC_USER_VISIBLE,
NPC_MOVEMENT_FIXED_PATH,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_SKELETAL_FISH_ATTACK,
NPC_TIMER_NONE,
false,
3,
2048,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_CLAM_JUMP
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSNAPUP,
NPC_INIT_DEFAULT,
NPC_SENSOR_CLAM_USER_CLOSE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_CLAM_JUMP_ATTACK,
NPC_TIMER_NONE,
false,
0,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_CLAM_STATIC
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSIDESNAP,
NPC_INIT_DEFAULT,
NPC_SENSOR_CLAM_USER_CLOSE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_CLAM_SNAP_ATTACK,
NPC_TIMER_NONE,
false,
0,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_SQUID_DART
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_NONE,
NPC_MOVEMENT_FIXED_PATH,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
5,
256,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_FISH_FOLK
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_FISH_FOLK,
NPC_SENSOR_NONE,
NPC_MOVEMENT_FIXED_PATH_WALK,
NPC_MOVEMENT_MODIFIER_FISH_FOLK,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
2,
2048,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_PRICKLY_BUG
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_NONE,
NPC_MOVEMENT_FIXED_PATH_WALK,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
1,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_SEA_SNAKE_1
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_NONE,
NPC_MOVEMENT_FIXED_PATH,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
3,
256,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_SEA_SNAKE_2
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_NONE,
NPC_MOVEMENT_FIXED_PATH,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
3,
256,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_PUFFA_FISH
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_NONE,
NPC_MOVEMENT_FIXED_PATH,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
2,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_ANGLER_FISH
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_NONE,
NPC_MOVEMENT_FIXED_PATH,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
1,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_HERMIT_CRAB
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_NONE,
NPC_MOVEMENT_FIXED_PATH_WALK,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
2,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_MINE
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_NONE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
0,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_BOOGER_MONSTER
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_BOOGER_MONSTER_USER_CLOSE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_BOOGER_MONSTER_ATTACK,
NPC_TIMER_NONE,
false,
0,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_SPIDER_CRAB
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_SPIDER_CRAB_USER_CLOSE,
NPC_MOVEMENT_FIXED_PATH_WALK,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_SPIDER_CRAB_ATTACK,
NPC_TIMER_NONE,
false,
3,
2048,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_EYEBALL
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_EYEBALL_USER_CLOSE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_EYEBALL_ATTACK,
NPC_TIMER_NONE,
false,
0,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_BABY_OCTOPUS
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_NONE,
NPC_MOVEMENT_FIXED_PATH,
NPC_MOVEMENT_MODIFIER_OCTOPUS,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
2,
512,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_ZOMBIE_FISH_FOLK
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_FISH_FOLK,
NPC_SENSOR_NONE,
NPC_MOVEMENT_FIXED_PATH_WALK,
NPC_MOVEMENT_MODIFIER_FISH_FOLK,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
2,
2048,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_NINJA_STARFISH
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_NINJA_STARFISH_USER_CLOSE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_GENERIC_USER_SEEK,
NPC_TIMER_NONE,
false,
3,
64,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_GHOST
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_NONE,
NPC_MOVEMENT_FIXED_PATH,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_NONE,
NPC_TIMER_NONE,
false,
2,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_GHOST_PIRATE
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_GHOST_PIRATE,
NPC_SENSOR_GHOST_PIRATE_USER_CLOSE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_GHOST_PIRATE_ATTACK,
NPC_TIMER_NONE,
false,
0,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_FLAMING_SKULL
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_FLAMING_SKULL,
NPC_SENSOR_FLAMING_SKULL_USER_CLOSE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_FLAMING_SKULL_ATTACK,
NPC_TIMER_NONE,
false,
3,
128,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_SHARK_MAN
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_GENERIC_USER_VISIBLE,
NPC_MOVEMENT_FIXED_PATH_WALK,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_SHARK_MAN_ATTACK,
NPC_TIMER_NONE,
false,
3,
2048,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_OIL_BLOB
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_DEFAULT,
NPC_SENSOR_OIL_BLOB_USER_CLOSE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_GENERIC_USER_SEEK,
NPC_TIMER_NONE,
false,
3,
64,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_SKULL_STOMPER
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_SKULL_STOMPER,
NPC_SENSOR_SKULL_STOMPER_USER_CLOSE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_SKULL_STOMPER_ATTACK,
NPC_TIMER_NONE,
false,
5,
2048,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_MOTHER_JELLYFISH
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_MOTHER_JELLYFISH,
NPC_SENSOR_NONE,
NPC_MOVEMENT_MOTHER_JELLYFISH,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_MOTHER_JELLYFISH_ATTACK,
NPC_TIMER_NONE,
false,
3,
256,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_SUB_SHARK
ACTORS_SHARKSUB_A3D,
ACTORS_SHARKSUB_ABK,
ANIM_SHARKSUB_SHARKSUBSWIM,
NPC_INIT_SUB_SHARK,
NPC_SENSOR_NONE,
NPC_MOVEMENT_SUB_SHARK,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_SUB_SHARK_ATTACK,
NPC_TIMER_NONE,
false,
3,
64,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_FLYING_DUTCHMAN
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_FLYING_DUTCHMAN,
NPC_SENSOR_NONE,
NPC_MOVEMENT_FLYING_DUTCHMAN,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_FLYING_DUTCHMAN_ATTACK,
NPC_TIMER_NONE,
false,
3,
256,
false,
DAMAGE__HIT_ENEMY,
},
{ // NPC_IRON_DOGFISH
ACTORS_CLAM_A3D,
ACTORS_CLAM_ABK,
ANIM_CLAM_CLAMSHUT,
NPC_INIT_IRON_DOGFISH,
NPC_SENSOR_IRON_DOGFISH_USER_CLOSE,
NPC_MOVEMENT_IRON_DOGFISH,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_IRON_DOGFISH_ATTACK,
NPC_TIMER_NONE,
false,
3,
2048,
false,
DAMAGE__HIT_ENEMY,
},
};