1306 lines
20 KiB
C++
1306 lines
20 KiB
C++
/*=========================================================================
|
|
|
|
npcdata.cpp
|
|
|
|
Author: CRB
|
|
Created:
|
|
Project: Spongebob
|
|
Purpose:
|
|
|
|
Copyright (c) 2000 Climax Development Ltd
|
|
|
|
===========================================================================*/
|
|
|
|
#ifndef __SPR_SPRITES_H__
|
|
#include <sprites.h>
|
|
#endif
|
|
|
|
#ifndef __ENEMY_NPC_H__
|
|
#include "enemy\npc.h"
|
|
#endif
|
|
|
|
#ifndef __ENEMY_NPLATFRM_H__
|
|
#include "enemy\nplatfrm.h"
|
|
#endif
|
|
|
|
#ifndef __PLAYER_PLAYER_H__
|
|
#include "player\player.h"
|
|
#endif
|
|
|
|
#ifndef __ANIM_CLAM_HEADER__
|
|
#include <ACTOR_CLAM_ANIM.h>
|
|
#endif
|
|
|
|
#ifndef __ANIM_ANENOMELVL1_HEADER__
|
|
#include <ACTOR_ANENOMELVL1_ANIM.h>
|
|
#endif
|
|
|
|
#ifndef __ANIM_ANENOMELVL3_HEADER__
|
|
#include <ACTOR_ANENOMELVL3_ANIM.h>
|
|
#endif
|
|
|
|
#ifndef __ANIM_BABYOCTOPUS_HEADER__
|
|
#include <ACTOR_BABYOCTOPUS_ANIM.h>
|
|
#endif
|
|
|
|
#ifndef __ANIM_CATERPILLAR_HEADER__
|
|
#include <ACTOR_CATERPILLAR_ANIM.h>
|
|
#endif
|
|
|
|
#ifndef __ANIM_DUSTDEVIL_HEADER__
|
|
#include <ACTOR_DUSTDEVIL_ANIM.h>
|
|
#endif
|
|
|
|
#ifndef __ANIM_EYEBALL_HEADER__
|
|
#include <ACTOR_EYEBALL_ANIM.h>
|
|
#endif
|
|
|
|
#ifndef __ANIM_FLAMINGSKULL_HEADER__
|
|
#include <ACTOR_FLAMINGSKULL_ANIM.h>
|
|
#endif
|
|
|
|
#ifndef __ANIM_FLYINGDUTCHMAN_HEADER__
|
|
#include <ACTOR_FLYINGDUTCHMAN_ANIM.h>
|
|
#endif
|
|
|
|
#ifndef __ANIM_GHOST_HEADER__
|
|
#include <ACTOR_GHOST_ANIM.h>
|
|
#endif
|
|
|
|
#ifndef __ANIM_HERMITCRAB_HEADER__
|
|
#include <ACTOR_HERMITCRAB_ANIM.h>
|
|
#endif
|
|
|
|
#ifndef __ANIM_IRONDOGFISH_HEADER__
|
|
#include <ACTOR_IRONDOGFISH_ANIM.h>
|
|
#endif
|
|
|
|
//#ifndef __ANIM_JELLYFISH1_HEADER__
|
|
//#include <ACTOR_JELLYFISH1_ANIM.h>
|
|
//#endif
|
|
|
|
#ifndef __ANIM_PUFFAFISH_HEADER__
|
|
#include <ACTOR_PUFFAFISH_ANIM.h>
|
|
#endif
|
|
|
|
#ifndef __ANIM_SHARKMAN_HEADER__
|
|
#include <ACTOR_SHARKMAN_ANIM.h>
|
|
#endif
|
|
|
|
#ifndef __ANIM_SKELETALFISH_HEADER__
|
|
#include <ACTOR_SKELETALFISH_ANIM.h>
|
|
#endif
|
|
|
|
#ifndef __ANIM_SPIDERCRAB_HEADER__
|
|
#include <ACTOR_SPIDERCRAB_ANIM.h>
|
|
#endif
|
|
|
|
//#ifndef __ANIM_SQUIDDART_HEADER__
|
|
//#include <ACTOR_SQUIDDART_ANIM.h>
|
|
//#endif
|
|
|
|
#ifndef __ANIM_STOMPER_HEADER__
|
|
#include <ACTOR_STOMPER_ANIM.h>
|
|
#endif
|
|
|
|
#ifndef __ANIM_SPIKEYANENOME_HEADER__
|
|
#include <ACTOR_SPIKEYANENOME_ANIM.h>
|
|
#endif
|
|
|
|
#ifndef __ANIM_BALLBLOB_HEADER__
|
|
#include <ACTOR_BALLBLOB_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,
|
|
},
|
|
};
|
|
|
|
CNpcPlatform::NPC_PLATFORM_DATA CNpcPlatform::m_data[NPC_PLATFORM_TYPE_MAX] =
|
|
{
|
|
{ // NPC_LINEAR_PLATFORM
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_PLATFORM_MOVEMENT_FIXED_PATH,
|
|
1,
|
|
//512,
|
|
2048,
|
|
true,
|
|
DAMAGE__NONE,
|
|
0,
|
|
4,
|
|
NPC_PLATFORM_INFINITE_LIFE,
|
|
0,
|
|
NPC_PLATFORM_TIMER_NONE,
|
|
},
|
|
|
|
{ // NPC_CIRCULAR_PLATFORM
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_PLATFORM_MOVEMENT_FIXED_CIRCULAR,
|
|
3,
|
|
128,
|
|
true,
|
|
DAMAGE__NONE,
|
|
0,
|
|
4,
|
|
NPC_PLATFORM_INFINITE_LIFE,
|
|
0,
|
|
NPC_PLATFORM_TIMER_NONE,
|
|
},
|
|
|
|
{ // NPC_BUBBLE_PLATFORM
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_PLATFORM_MOVEMENT_BUBBLE,
|
|
3,
|
|
128,
|
|
true,
|
|
DAMAGE__NONE,
|
|
0,
|
|
4,
|
|
NPC_PLATFORM_FINITE_LIFE_RESPAWN,
|
|
0,
|
|
NPC_PLATFORM_TIMER_NONE,
|
|
},
|
|
|
|
{ // NPC_COLLAPSING_BUBBLE_PLATFORM
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_PLATFORM_MOVEMENT_STATIC,
|
|
3,
|
|
128,
|
|
true,
|
|
DAMAGE__NONE,
|
|
0,
|
|
4,
|
|
NPC_PLATFORM_INFINITE_LIFE_COLLAPSIBLE,
|
|
0,
|
|
NPC_PLATFORM_TIMER_NONE,
|
|
},
|
|
|
|
{ // NPC_FISH_HOOK_PLATFORM
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_PLATFORM_MOVEMENT_STATIC,
|
|
3,
|
|
128,
|
|
true,
|
|
DAMAGE__NONE,
|
|
0,
|
|
4,
|
|
NPC_PLATFORM_INFINITE_LIFE_FISH_HOOK,
|
|
0,
|
|
NPC_PLATFORM_TIMER_NONE,
|
|
},
|
|
|
|
{ // NPC_RETRACTING_PLATFORM
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_PLATFORM_MOVEMENT_STATIC,
|
|
3,
|
|
128,
|
|
true,
|
|
DAMAGE__NONE,
|
|
0,
|
|
4,
|
|
NPC_PLATFORM_INFINITE_LIFE,
|
|
0,
|
|
NPC_PLATFORM_TIMER_RETRACT,
|
|
},
|
|
|
|
{ // NPC_GEYSER_PLATFORM
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_PLATFORM_MOVEMENT_STATIC,
|
|
8,
|
|
128,
|
|
true,
|
|
DAMAGE__NONE,
|
|
0,
|
|
4,
|
|
NPC_PLATFORM_INFINITE_LIFE,
|
|
4,
|
|
NPC_PLATFORM_TIMER_GEYSER,
|
|
},
|
|
|
|
{ // NPC_BOBBING_PLATFORM
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_PLATFORM_MOVEMENT_BOB,
|
|
0,
|
|
128,
|
|
true,
|
|
DAMAGE__NONE,
|
|
0,
|
|
4,
|
|
NPC_PLATFORM_INFINITE_LIFE,
|
|
4,
|
|
NPC_PLATFORM_TIMER_NONE,
|
|
},
|
|
|
|
{ // NPC_FALLING_PLATFORM
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_PLATFORM_MOVEMENT_FALL,
|
|
4,
|
|
128,
|
|
true,
|
|
DAMAGE__NONE,
|
|
0,
|
|
4,
|
|
NPC_PLATFORM_INFINITE_LIFE,
|
|
4,
|
|
NPC_PLATFORM_TIMER_NONE,
|
|
},
|
|
|
|
{ // NPC_CART_PLATFORM
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_PLATFORM_MOVEMENT_CART,
|
|
4,
|
|
128,
|
|
true,
|
|
DAMAGE__NONE,
|
|
0,
|
|
4,
|
|
NPC_PLATFORM_INFINITE_LIFE,
|
|
4,
|
|
NPC_PLATFORM_TIMER_NONE,
|
|
},
|
|
|
|
{ // NPC_PLAYER_BUBBLE_PLATFORM
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_PLATFORM_MOVEMENT_PLAYER_BUBBLE,
|
|
3,
|
|
128,
|
|
true,
|
|
DAMAGE__NONE,
|
|
0,
|
|
4,
|
|
NPC_PLATFORM_FINITE_LIFE,
|
|
0,
|
|
NPC_PLATFORM_TIMER_NONE,
|
|
},
|
|
};
|
|
|
|
CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|
{
|
|
{ // NPC_FALLING_ITEM
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_DEFAULT,
|
|
//NPC_SENSOR_FALLING_ITEM_USER_CLOSE,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_STATIC,
|
|
NPC_CLOSE_FALLING_ITEM_FALL,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
8,
|
|
128,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__SQUASH_ENEMY,
|
|
0,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_FISH_HOOK
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_FISH_HOOK,
|
|
NPC_SENSOR_FISH_HOOK_USER_CLOSE,
|
|
NPC_MOVEMENT_STATIC,
|
|
NPC_CLOSE_FISH_HOOK_RISE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
128,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__NONE,
|
|
0,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_DUST_DEVIL
|
|
ACTORS_DUSTDEVIL_SBK,
|
|
ANIM_DUSTDEVIL_TWIST,
|
|
NPC_INIT_RETURNING_HAZARD,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_RETURNING_HAZARD_GROUND,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
2048,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__NONE,
|
|
0,
|
|
ANIM_DUSTDEVIL_TWIST,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_PENDULUM
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_PENDULUM,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_PENDULUM,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
2048,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__HIT_ENEMY,
|
|
0,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_FIREBALL
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_FIREBALL,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_FIREBALL,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
40,
|
|
2048,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__BURN_ENEMY,
|
|
0,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_SAW_BLADE
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_RETURNING_HAZARD,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_RETURNING_HAZARD,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
2048,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__HIT_ENEMY,
|
|
0,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_SMALL_JELLYFISH_1
|
|
0,//ACTORS_JELLYFISH1_SBK,
|
|
FRM_JELLYFISH1_SWIM1,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_USER_CLOSE,
|
|
NPC_MOVEMENT_FIXED_PATH,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
2,
|
|
128,
|
|
DETECT_ALL_COLLISION,
|
|
DAMAGE__SHOCK_ENEMY,
|
|
16,
|
|
FRM_JELLYFISH1_SWIM1,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
FRM_JELLYFISH1_SWIM1,
|
|
true,
|
|
true,
|
|
},
|
|
|
|
{ // NPC_SMALL_JELLYFISH_2
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_USER_CLOSE,
|
|
NPC_MOVEMENT_FIXED_PATH,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
128,
|
|
DETECT_ALL_COLLISION,
|
|
DAMAGE__SHOCK_ENEMY,
|
|
32,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
true,
|
|
},
|
|
|
|
{ // NPC_ANEMONE_1
|
|
ACTORS_ANENOMELVL1_SBK,
|
|
ANIM_ANENOMELVL1_BEND,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_USER_CLOSE,
|
|
NPC_MOVEMENT_STATIC_CYCLE_ANIM,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
0,
|
|
128,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__NONE,
|
|
16,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_ANEMONE_2
|
|
ACTORS_SPIKEYANENOME_SBK,
|
|
ANIM_SPIKEYANENOME_BODY,
|
|
NPC_INIT_ANEMONE_2,
|
|
NPC_SENSOR_USER_CLOSE,
|
|
NPC_MOVEMENT_STATIC_CYCLE_ANIM,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
0,
|
|
128,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__NONE,
|
|
32,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_ANEMONE_3
|
|
ACTORS_ANENOMELVL3_SBK,
|
|
ANIM_ANENOMELVL3_BEND,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_USER_CLOSE,
|
|
NPC_MOVEMENT_STATIC_CYCLE_ANIM,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
0,
|
|
128,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__NONE,
|
|
48,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_SKELETAL_FISH
|
|
ACTORS_SKELETALFISH_SBK,
|
|
ANIM_SKELETALFISH_IDLE,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_GENERIC_USER_VISIBLE,
|
|
NPC_MOVEMENT_FIXED_PATH,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
2048,
|
|
DETECT_ALL_COLLISION,
|
|
DAMAGE__BITE_ENEMY,
|
|
0,
|
|
ANIM_SKELETALFISH_SWIM,
|
|
NPC_SHOT_GENERIC,
|
|
ANIM_SKELETALFISH_DIE,
|
|
ANIM_SKELETALFISH_GETHIT,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_CLAM_JUMP
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_USER_CLOSE,
|
|
NPC_MOVEMENT_STATIC,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
0,
|
|
128,
|
|
DETECT_ATTACK_COLLISION_GENERIC,
|
|
DAMAGE__HIT_ENEMY,
|
|
0,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_CLAM_STATIC
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_USER_CLOSE,
|
|
NPC_MOVEMENT_STATIC,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
0,
|
|
128,
|
|
DETECT_ATTACK_COLLISION_GENERIC,
|
|
DAMAGE__HIT_ENEMY,
|
|
0,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_SQUID_DART
|
|
0,//ACTORS_SQUIDDART_SBK,
|
|
FRM_SQUIDDART_SWIM0001,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_FIXED_PATH,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
2048,
|
|
DETECT_ALL_COLLISION,
|
|
DAMAGE__HIT_ENEMY,
|
|
16,
|
|
FRM_SQUIDDART_SWIM0001,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_FISH_FOLK
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_FISH_FOLK,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_FIXED_PATH_WALK,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
2,
|
|
2048,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__NONE,
|
|
0,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_PRICKLY_BUG
|
|
ACTORS_CATERPILLAR_SBK,
|
|
ANIM_CATERPILLAR_CRAWL,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_FIXED_PATH_WALK,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
1,
|
|
128,
|
|
DETECT_ALL_COLLISION,
|
|
DAMAGE__POISON_ENEMY,
|
|
48,
|
|
ANIM_CATERPILLAR_CRAWL,
|
|
NPC_SHOT_GENERIC,
|
|
ANIM_CATERPILLAR_DIE,
|
|
ANIM_CATERPILLAR_GETHIT,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_SEA_SNAKE
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_FIXED_PATH,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
256,
|
|
DETECT_ATTACK_COLLISION_GENERIC,
|
|
DAMAGE__SHOCK_ENEMY,
|
|
56,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_PUFFA_FISH
|
|
ACTORS_PUFFAFISH_SBK,
|
|
ANIM_PUFFAFISH_PUFFUPIDLE,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_USER_CLOSE,
|
|
NPC_MOVEMENT_FIXED_PATH,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
2,
|
|
128,
|
|
DETECT_ALL_COLLISION,
|
|
DAMAGE__HIT_ENEMY,
|
|
64,
|
|
ANIM_PUFFAFISH_SWIM,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_ANGLER_FISH
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_FIXED_PATH,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
1,
|
|
128,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__NONE,
|
|
0,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_HERMIT_CRAB
|
|
ACTORS_HERMITCRAB_SBK,
|
|
ANIM_HERMITCRAB_IDLE,
|
|
NPC_INIT_HERMIT_CRAB,
|
|
NPC_SENSOR_USER_CLOSE,
|
|
NPC_MOVEMENT_FIXED_PATH_WALK,
|
|
NPC_CLOSE_HERMIT_CRAB_ATTACK,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
2,
|
|
128,
|
|
DETECT_ATTACK_COLLISION_GENERIC,
|
|
DAMAGE__HIT_ENEMY,
|
|
32,
|
|
ANIM_HERMITCRAB_SCUTTLE,
|
|
NPC_SHOT_GENERIC,
|
|
ANIM_HERMITCRAB_DIE,
|
|
ANIM_HERMITCRAB_GETHIT,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_MINE
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_STATIC,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
0,
|
|
128,
|
|
DETECT_ALL_COLLISION,
|
|
DAMAGE__HIT_ENEMY,
|
|
0,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_BOOGER_MONSTER
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_BOOGER_MONSTER_USER_CLOSE,
|
|
NPC_MOVEMENT_STATIC,
|
|
NPC_CLOSE_BOOGER_MONSTER_ATTACK,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
0,
|
|
128,
|
|
DETECT_ATTACK_COLLISION_GENERIC,
|
|
DAMAGE__BITE_ENEMY,
|
|
0,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_SPIDER_CRAB
|
|
ACTORS_SPIDERCRAB_SBK,
|
|
ANIM_SPIDERCRAB_IDLE,
|
|
NPC_INIT_SPIDER_CRAB,
|
|
NPC_SENSOR_USER_CLOSE,
|
|
NPC_MOVEMENT_FIXED_PATH_WALK,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
2048,
|
|
DETECT_ATTACK_COLLISION_GENERIC,
|
|
DAMAGE__PINCH_ENEMY,
|
|
0,
|
|
ANIM_SPIDERCRAB_RUN,
|
|
NPC_SHOT_GENERIC,
|
|
ANIM_SPIDERCRAB_DIE,
|
|
ANIM_SPIDERCRAB_HIT,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_SPIDER_CRAB_SPAWNER
|
|
ACTORS_SPIDERCRAB_SBK,
|
|
ANIM_SPIDERCRAB_IDLE,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_STATIC,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
2048,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__PINCH_ENEMY,
|
|
0,
|
|
ANIM_SPIDERCRAB_RUN,
|
|
NPC_SHOT_NONE,
|
|
ANIM_SPIDERCRAB_DIE,
|
|
ANIM_SPIDERCRAB_HIT,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_EYEBALL
|
|
ACTORS_EYEBALL_SBK,
|
|
ANIM_EYEBALL_STALK,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_USER_CLOSE,
|
|
NPC_MOVEMENT_STATIC,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
0,
|
|
128,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__HIT_ENEMY,
|
|
32,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_BABY_OCTOPUS
|
|
ACTORS_BABYOCTOPUS_SBK,
|
|
ANIM_BABYOCTOPUS_IDLE,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_USER_CLOSE,
|
|
NPC_MOVEMENT_FIXED_PATH,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
2,
|
|
512,
|
|
DETECT_ATTACK_COLLISION_GENERIC,
|
|
DAMAGE__HIT_ENEMY,
|
|
32,
|
|
ANIM_BABYOCTOPUS_SWIM,
|
|
NPC_SHOT_GENERIC,
|
|
ANIM_BABYOCTOPUS_DIE,
|
|
ANIM_BABYOCTOPUS_HIT,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_ZOMBIE_FISH_FOLK
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_FISH_FOLK,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_FIXED_PATH_WALK,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
2,
|
|
2048,
|
|
DETECT_ALL_COLLISION,
|
|
DAMAGE__HIT_ENEMY,
|
|
16,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_NINJA_STARFISH
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_NINJA_STARFISH_USER_CLOSE,
|
|
NPC_MOVEMENT_STATIC,
|
|
NPC_CLOSE_GENERIC_USER_SEEK,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
64,
|
|
DETECT_ALL_COLLISION,
|
|
DAMAGE__HIT_ENEMY,
|
|
16,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_GHOST
|
|
ACTORS_GHOST_SBK,
|
|
ANIM_GHOST_IDLE,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_FIXED_PATH,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
2,
|
|
128,
|
|
DETECT_ALL_COLLISION,
|
|
DAMAGE__HIT_ENEMY,
|
|
0,
|
|
ANIM_GHOST_MOVE,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_GHOST_PIRATE
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_GHOST_PIRATE,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_STATIC,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
0,
|
|
128,
|
|
DETECT_ALL_COLLISION,
|
|
DAMAGE__HIT_ENEMY,
|
|
160,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_FLAMING_SKULL
|
|
ACTORS_FLAMINGSKULL_SBK,
|
|
ANIM_FLAMINGSKULL_MOVE,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_USER_CLOSE,
|
|
NPC_MOVEMENT_STATIC_CYCLE_ANIM,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
128,
|
|
DETECT_ALL_COLLISION,
|
|
DAMAGE__BURN_ENEMY,
|
|
16,
|
|
ANIM_FLAMINGSKULL_MOVE,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_SHARK_MAN
|
|
ACTORS_SHARKMAN_SBK,
|
|
ANIM_SHARKMAN_IDLE1_,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_GENERIC_USER_VISIBLE,
|
|
NPC_MOVEMENT_STATIC,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
2048,
|
|
DETECT_ALL_COLLISION,
|
|
DAMAGE__BITE_ENEMY,
|
|
16,
|
|
ANIM_SHARKMAN_RUN,
|
|
NPC_SHOT_GENERIC,
|
|
ANIM_SHARKMAN_DIE,
|
|
ANIM_SHARKMAN_BLOCK,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_OIL_BLOB
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_DEFAULT,
|
|
NPC_SENSOR_OIL_BLOB_USER_CLOSE,
|
|
NPC_MOVEMENT_STATIC,
|
|
NPC_CLOSE_GENERIC_USER_SEEK,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
64,
|
|
DETECT_ALL_COLLISION,
|
|
DAMAGE__HIT_ENEMY,
|
|
0,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_SKULL_STOMPER
|
|
ACTORS_STOMPER_SBK,
|
|
ANIM_STOMPER_CRUSH,
|
|
NPC_INIT_SKULL_STOMPER,
|
|
NPC_SENSOR_SKULL_STOMPER_USER_CLOSE,
|
|
NPC_MOVEMENT_STATIC,
|
|
NPC_CLOSE_SKULL_STOMPER_ATTACK,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
5,
|
|
2048,
|
|
DETECT_ALL_COLLISION,
|
|
DAMAGE__SQUASH_ENEMY,
|
|
0,
|
|
ANIM_STOMPER_CRUSH,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_MOTHER_JELLYFISH
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_MOTHER_JELLYFISH,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_MOTHER_JELLYFISH,
|
|
NPC_CLOSE_MOTHER_JELLYFISH_ATTACK,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
256,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__SHOCK_ENEMY,
|
|
256,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_SUB_SHARK
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_SUB_SHARK,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_SUB_SHARK,
|
|
NPC_CLOSE_SUB_SHARK_ATTACK,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
2048,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__HIT_ENEMY,
|
|
256,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_PARASITIC_WORM
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_PARASITIC_WORM,
|
|
NPC_SENSOR_PARASITIC_WORM_USER_CLOSE,
|
|
NPC_MOVEMENT_PARASITIC_WORM,
|
|
NPC_CLOSE_PARASITIC_WORM_ATTACK,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
128,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__HIT_ENEMY,
|
|
256,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_FLYING_DUTCHMAN
|
|
ACTORS_FLYINGDUTCHMAN_SBK,
|
|
ANIM_FLYINGDUTCHMAN_FLY,
|
|
NPC_INIT_FLYING_DUTCHMAN,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_FLYING_DUTCHMAN,
|
|
NPC_CLOSE_FLYING_DUTCHMAN_ATTACK,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
2048,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__HIT_ENEMY,
|
|
256,
|
|
ANIM_FLYINGDUTCHMAN_FLY,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
ANIM_FLYINGDUTCHMAN_GETHIT,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_IRON_DOGFISH
|
|
ACTORS_IRONDOGFISH_SBK,
|
|
ANIM_IRONDOGFISH_IDLE,
|
|
NPC_INIT_IRON_DOGFISH,
|
|
NPC_SENSOR_IRON_DOGFISH_USER_CLOSE,
|
|
NPC_MOVEMENT_IRON_DOGFISH,
|
|
NPC_CLOSE_IRON_DOGFISH_ATTACK,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
2048,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__HIT_ENEMY,
|
|
256,
|
|
ANIM_IRONDOGFISH_WALK,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
ANIM_IRONDOGFISH_GETHIT,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_PARASITIC_WORM_SEGMENT
|
|
ACTORS_CLAM_SBK,
|
|
ANIM_CLAM_SIDESNAP,
|
|
NPC_INIT_PARASITIC_WORM_SEGMENT,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_STATIC,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
2048,
|
|
DETECT_NO_COLLISION,
|
|
DAMAGE__HIT_ENEMY,
|
|
256,
|
|
0,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
|
|
{ // NPC_BALL_BLOB
|
|
ACTORS_BALLBLOB_SBK,
|
|
ANIM_BALLBLOB_WOBBLE,
|
|
NPC_INIT_BALL_BLOB,
|
|
NPC_SENSOR_NONE,
|
|
NPC_MOVEMENT_STATIC,
|
|
NPC_CLOSE_NONE,
|
|
NPC_TIMER_NONE,
|
|
false,
|
|
3,
|
|
128,
|
|
DETECT_ALL_COLLISION,
|
|
DAMAGE__BURN_ENEMY,
|
|
16,
|
|
ANIM_BALLBLOB_WOBBLE,
|
|
NPC_SHOT_GENERIC,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
},
|
|
};
|
|
|
|
CNpcEnemy::NPC_UNIT_TYPE CNpcEnemy::mapEditConvertTable[NPC_UNIT_TYPE_MAX] =
|
|
{
|
|
NPC_SMALL_JELLYFISH_1,
|
|
NPC_SMALL_JELLYFISH_2,
|
|
NPC_MOTHER_JELLYFISH,
|
|
NPC_ANEMONE_1,
|
|
NPC_ANEMONE_2,
|
|
NPC_ANEMONE_3,
|
|
NPC_BABY_OCTOPUS,
|
|
NPC_BALL_BLOB,
|
|
NPC_BOOGER_MONSTER,
|
|
NPC_PRICKLY_BUG,
|
|
NPC_CLAM_JUMP,
|
|
NPC_CLAM_STATIC,
|
|
NPC_EYEBALL,
|
|
NPC_FLAMING_SKULL,
|
|
NPC_FLYING_DUTCHMAN,
|
|
NPC_GHOST,
|
|
NPC_PARASITIC_WORM,
|
|
NPC_HERMIT_CRAB,
|
|
NPC_IRON_DOGFISH,
|
|
NPC_PUFFA_FISH,
|
|
NPC_SEA_SNAKE,
|
|
NPC_SHARK_MAN,
|
|
NPC_SUB_SHARK,
|
|
NPC_SKELETAL_FISH,
|
|
NPC_SPIDER_CRAB,
|
|
NPC_SQUID_DART,
|
|
NPC_SKULL_STOMPER,
|
|
NPC_DUST_DEVIL,
|
|
NPC_SPIDER_CRAB_SPAWNER,
|
|
NPC_FALLING_ITEM,
|
|
NPC_FISH_HOOK,
|
|
NPC_PENDULUM,
|
|
NPC_FIREBALL,
|
|
NPC_SAW_BLADE,
|
|
NPC_FISH_FOLK,
|
|
NPC_ANGLER_FISH,
|
|
NPC_MINE,
|
|
NPC_ZOMBIE_FISH_FOLK,
|
|
NPC_NINJA_STARFISH,
|
|
NPC_GHOST_PIRATE,
|
|
NPC_OIL_BLOB,
|
|
NPC_PARASITIC_WORM_SEGMENT,
|
|
};
|
|
|
|
CNpcPlatform::NPC_PLATFORM_UNIT_TYPE CNpcPlatform::mapEditConvertTable[NPC_PLATFORM_TYPE_MAX] =
|
|
{
|
|
NPC_BUBBLE_PLATFORM,
|
|
NPC_LINEAR_PLATFORM,
|
|
NPC_CIRCULAR_PLATFORM,
|
|
NPC_COLLAPSING_BUBBLE_PLATFORM,
|
|
NPC_FISH_HOOK_PLATFORM,
|
|
NPC_RETRACTING_PLATFORM,
|
|
NPC_GEYSER_PLATFORM,
|
|
NPC_BOBBING_PLATFORM,
|
|
NPC_FALLING_PLATFORM,
|
|
NPC_CART_PLATFORM,
|
|
NPC_PLAYER_BUBBLE_PLATFORM,
|
|
}; |