This commit is contained in:
parent
6003f71e40
commit
d837ee7dd0
@ -43,6 +43,10 @@
|
||||
#include <sprites.h>
|
||||
#endif
|
||||
|
||||
#ifndef __UTILS_HEADER__
|
||||
#include "utils\utils.h"
|
||||
#endif
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -236,8 +240,16 @@ void CNpcFlyingDutchmanEnemy::processClose( int _frames )
|
||||
processGenericGotoTarget( _frames, playerXDist, playerYDist, 8 );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( getRnd() % 2 )
|
||||
{
|
||||
m_state = FLYING_DUTCHMAN_ATTACK_PLAYER;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_state = FLYING_DUTCHMAN_CHARGE_PLAYER_START;
|
||||
}
|
||||
|
||||
m_fadeDown = false;
|
||||
}
|
||||
|
||||
@ -300,7 +312,7 @@ void CNpcFlyingDutchmanEnemy::processClose( int _frames )
|
||||
else
|
||||
{
|
||||
m_state = FLYING_DUTCHMAN_RETURN;
|
||||
m_timerTimer = GameState::getOneSecondInFrames();
|
||||
m_timerTimer = 2 * GameState::getOneSecondInFrames();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -318,6 +330,68 @@ void CNpcFlyingDutchmanEnemy::processClose( int _frames )
|
||||
break;
|
||||
}
|
||||
|
||||
case FLYING_DUTCHMAN_CHARGE_PLAYER_START:
|
||||
{
|
||||
if ( m_fadeVal == 128 )
|
||||
{
|
||||
// charge at player
|
||||
|
||||
if ( playerXDist > 0 )
|
||||
{
|
||||
m_heading = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_heading = 2048;
|
||||
}
|
||||
|
||||
m_state = FLYING_DUTCHMAN_CHARGE_PLAYER;
|
||||
|
||||
m_timerTimer = GameState::getOneSecondInFrames();
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !m_animPlaying )
|
||||
{
|
||||
m_animPlaying = true;
|
||||
m_animNo = m_data[m_type].moveAnim;
|
||||
m_frame = 0;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case FLYING_DUTCHMAN_CHARGE_PLAYER:
|
||||
{
|
||||
if ( m_timerTimer > 0 )
|
||||
{
|
||||
if ( !m_animPlaying )
|
||||
{
|
||||
m_animNo = m_data[m_type].moveAnim;
|
||||
m_animPlaying = true;
|
||||
m_frame = 0;
|
||||
}
|
||||
|
||||
if ( m_heading )
|
||||
{
|
||||
Pos.vx -= _frames * m_speed * 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
Pos.vx += _frames * m_speed * 2;
|
||||
}
|
||||
|
||||
m_timerTimer -= _frames;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_state = FLYING_DUTCHMAN_RETURN;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case FLYING_DUTCHMAN_RETURN:
|
||||
{
|
||||
if ( m_timerTimer > 0 )
|
||||
@ -484,8 +558,11 @@ void CNpcFlyingDutchmanEnemy::processShotRecoil( int _frames )
|
||||
if ( !m_animPlaying )
|
||||
{
|
||||
m_controlFunc = NPC_CONTROL_MOVEMENT;
|
||||
m_fadeDown = true;
|
||||
m_movementTimer = GameState::getOneSecondInFrames() * 2;
|
||||
m_inRange = false;
|
||||
m_fadeDown = true;
|
||||
m_timerTimer = 0;
|
||||
m_fireCount = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -602,12 +679,8 @@ void CNpcFlyingDutchmanEnemy::collidedWith(CThing *_thisThing)
|
||||
{
|
||||
player->justButtBouncedABadGuy();
|
||||
}
|
||||
m_controlFunc = NPC_CONTROL_MOVEMENT;
|
||||
m_movementTimer = GameState::getOneSecondInFrames() * 2;
|
||||
m_inRange = false;
|
||||
m_fadeDown = true;
|
||||
m_timerTimer = 0;
|
||||
m_fireCount = 0;
|
||||
m_controlFunc = NPC_CONTROL_SHOT;
|
||||
m_state = NPC_GENERIC_HIT_CHECK_HEALTH;
|
||||
|
||||
drawAttackEffect();
|
||||
}
|
||||
@ -644,12 +717,15 @@ u8 CNpcFlyingDutchmanEnemy::hasBeenAttacked()
|
||||
{
|
||||
if ( m_controlFunc != NPC_CONTROL_SHOT )
|
||||
{
|
||||
m_controlFunc = NPC_CONTROL_MOVEMENT;
|
||||
m_controlFunc = NPC_CONTROL_SHOT;
|
||||
m_state = NPC_GENERIC_HIT_CHECK_HEALTH;
|
||||
|
||||
/*m_controlFunc = NPC_CONTROL_MOVEMENT;
|
||||
m_movementTimer = GameState::getOneSecondInFrames() * 2;
|
||||
m_inRange = false;
|
||||
m_fadeDown = true;
|
||||
m_timerTimer = 0;
|
||||
m_fireCount = 0;
|
||||
m_fireCount = 0;*/
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -41,6 +41,8 @@ protected:
|
||||
//FLYING_DUTCHMAN_ATTACK_PLAYER_3,
|
||||
FLYING_DUTCHMAN_GOTO_PLAYER = 0,
|
||||
FLYING_DUTCHMAN_ATTACK_PLAYER = 1,
|
||||
FLYING_DUTCHMAN_CHARGE_PLAYER_START,
|
||||
FLYING_DUTCHMAN_CHARGE_PLAYER,
|
||||
FLYING_DUTCHMAN_RETURN,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user