This commit is contained in:
Charles 2001-06-26 18:06:51 +00:00
parent 49a08f1546
commit deb6fdd6a6
3 changed files with 32 additions and 19 deletions

View file

@ -95,10 +95,6 @@ void CNpcFlyingDutchmanEnemy::processMovement( int _frames )
m_frame = 0; m_frame = 0;
} }
if ( m_movementTimer > 0 )
{
m_movementTimer -= _frames;
s32 xDist = m_extension - Pos.vx; s32 xDist = m_extension - Pos.vx;
s32 xDistSqr = xDist * xDist; s32 xDistSqr = xDist * xDist;
@ -108,12 +104,15 @@ void CNpcFlyingDutchmanEnemy::processMovement( int _frames )
} }
else else
{ {
if ( m_movementTimer > 0 )
{
m_movementTimer -= _frames;
if ( m_extendDir == EXTEND_UP ) if ( m_extendDir == EXTEND_UP )
{ {
s32 yDist = m_minY - Pos.vy; s32 yDist = m_minY - Pos.vy;
s32 yDistSqr = yDist * yDist;
if ( yDistSqr > 100 ) if ( abs( yDist ) > 10 )
{ {
processGenericGotoTarget( _frames, 0, yDist, m_speed ); processGenericGotoTarget( _frames, 0, yDist, m_speed );
} }
@ -125,9 +124,8 @@ void CNpcFlyingDutchmanEnemy::processMovement( int _frames )
else else
{ {
s32 yDist = m_maxY - Pos.vy; s32 yDist = m_maxY - Pos.vy;
s32 yDistSqr = yDist * yDist;
if ( yDistSqr > 100 ) if ( abs( yDist ) > 10 )
{ {
processGenericGotoTarget( _frames, 0, yDist, m_speed ); processGenericGotoTarget( _frames, 0, yDist, m_speed );
} }
@ -137,10 +135,25 @@ void CNpcFlyingDutchmanEnemy::processMovement( int _frames )
} }
} }
} }
else
{
CPlayer *player = GameScene.getPlayer();
DVECTOR playerPos = player->getPos();
s32 minX, maxX;
m_npcPath.getPathXExtents( &minX, &maxX );
if ( playerPos.vx >= minX && playerPos.vx <= maxX &&
playerPos.vy >= m_minY && playerPos.vy <= m_maxY )
{
m_controlFunc = NPC_CONTROL_CLOSE;
} }
else else
{ {
m_controlFunc = NPC_CONTROL_CLOSE; m_movementTimer = GameState::getOneSecondInFrames() * 3;
}
}
} }
if ( playerXDist > 0 ) if ( playerXDist > 0 )