This commit is contained in:
Charles 2001-03-01 16:48:45 +00:00
parent 074f6e0943
commit f9af04ae7b
4 changed files with 47 additions and 14 deletions

View File

@ -28,7 +28,7 @@
#endif
void CNpcEnemy::processCloseClamAttack( int _frames )
void CNpcEnemy::processCloseClamJumpAttack( int _frames )
{
s32 velocity;
@ -50,7 +50,7 @@ void CNpcEnemy::processCloseClamAttack( int _frames )
if ( !m_animPlaying )
{
m_animPlaying = true;
m_animNo = ANIM_CLAM_CLAMSIDESNAP;
m_animNo = ANIM_CLAM_CLAMSNAPUP;
m_frame = 0;
}
}
@ -82,10 +82,6 @@ void CNpcEnemy::processCloseClamAttack( int _frames )
{
if ( !m_animPlaying )
{
m_animPlaying = true;
m_animNo = ANIM_CLAM_CLAMSHUT;
m_frame = 0;
m_controlFunc = NPC_CONTROL_MOVEMENT;
m_timerFunc = NPC_TIMER_ATTACK_DONE;
m_timerTimer = GameState::getOneSecondInFrames();
@ -94,3 +90,15 @@ void CNpcEnemy::processCloseClamAttack( int _frames )
}
}
}
void CNpcEnemy::processCloseClamSnapAttack( int _frames )
{
if ( !m_animPlaying )
{
m_animPlaying = true;
m_animNo = ANIM_CLAM_CLAMSIDESNAP;
m_frame = 0;
}
m_controlFunc = NPC_CONTROL_MOVEMENT;
}

View File

@ -206,7 +206,7 @@ void CNpcEnemy::init()
{
CEnemyThing::init();
m_type = NPC_SUB_SHARK;
m_type = NPC_CLAM_STATIC;
sActorHdr *Hdr = m_skel.Load( m_data[m_type].skelType );
m_skel.Init( Hdr );
@ -998,8 +998,13 @@ void CNpcEnemy::processClose(int _frames)
break;
case NPC_CLOSE_CLAM_ATTACK:
processCloseClamAttack( _frames );
case NPC_CLOSE_CLAM_JUMP_ATTACK:
processCloseClamJumpAttack( _frames );
break;
case NPC_CLOSE_CLAM_SNAP_ATTACK:
processCloseClamSnapAttack( _frames );
break;

View File

@ -123,7 +123,8 @@ public:
NPC_ANEMONE_2,
NPC_ANEMONE_3,
NPC_SKELETAL_FISH,
NPC_CLAM,
NPC_CLAM_JUMP,
NPC_CLAM_STATIC,
NPC_SQUID_DART,
NPC_FISH_FOLK,
NPC_PRICKLY_BUG,
@ -217,7 +218,8 @@ protected:
{
NPC_CLOSE_NONE = 0,
NPC_CLOSE_JELLYFISH_EVADE = 1,
NPC_CLOSE_CLAM_ATTACK,
NPC_CLOSE_CLAM_JUMP_ATTACK,
NPC_CLOSE_CLAM_SNAP_ATTACK,
NPC_CLOSE_SPIDER_CRAB_ATTACK,
NPC_CLOSE_GHOST_PIRATE_ATTACK,
NPC_CLOSE_SHARK_MAN_ATTACK,
@ -373,7 +375,8 @@ protected:
// clam functions
void processCloseClamAttack( int _frames );
void processCloseClamJumpAttack( int _frames );
void processCloseClamSnapAttack( int _frames );
// spider crab functions

View File

@ -299,7 +299,24 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
DAMAGE__HIT_ENEMY,
},
{ // NPC_CLAM
{ // 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_CLAMSHUT,
@ -307,7 +324,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
NPC_SENSOR_CLAM_USER_CLOSE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_CLAM_ATTACK,
NPC_CLOSE_CLAM_SNAP_ATTACK,
NPC_TIMER_NONE,
false,
0,