diff --git a/Graphics/characters/FlyingDutchman/AnimList.Txt b/Graphics/characters/FlyingDutchman/AnimList.Txt index f01fa0cbe..12905478a 100644 --- a/Graphics/characters/FlyingDutchman/AnimList.Txt +++ b/Graphics/characters/FlyingDutchman/AnimList.Txt @@ -2,4 +2,5 @@ fireattack fly gethit idlebreathe -spellattack \ No newline at end of file +spellattack +death \ No newline at end of file diff --git a/source/enemy/nfdutch.cpp b/source/enemy/nfdutch.cpp index 491272fba..849e67a95 100644 --- a/source/enemy/nfdutch.cpp +++ b/source/enemy/nfdutch.cpp @@ -237,7 +237,7 @@ void CNpcFlyingDutchmanEnemy::processClose( int _frames ) newPos.vy -= 50; projectile->init( newPos, heading ); projectile->setGraphic( FRM__SNAKEBILE ); - projectile->setSpeed( 5 ); + projectile->setSpeed( 6 ); m_fireCount++; @@ -315,11 +315,14 @@ void CNpcFlyingDutchmanEnemy::processClose( int _frames ) void CNpcFlyingDutchmanEnemy::processShotDeathEnd( int _frames ) { - CNpcEnemy::processShotDeathEnd( _frames ); - - if ( isSetToShutdown() ) + if ( !m_animPlaying ) { - CGameScene::setBossHasBeenKilled(); + CNpcEnemy::processShotDeathEnd( _frames ); + + if ( isSetToShutdown() ) + { + CGameScene::setBossHasBeenKilled(); + } } } @@ -423,7 +426,7 @@ void CNpcFlyingDutchmanEnemy::collidedWith(CThing *_thisThing) drawAttackEffect(); - m_invulnerableTimer = 2 * GameState::getOneSecondInFrames(); + m_invulnerableTimer = 4 * GameState::getOneSecondInFrames(); } } @@ -457,7 +460,7 @@ u8 CNpcFlyingDutchmanEnemy::hasBeenAttacked() { if ( m_controlFunc != NPC_CONTROL_SHOT ) { - m_invulnerableTimer = 2 * GameState::getOneSecondInFrames(); + m_invulnerableTimer = 4 * GameState::getOneSecondInFrames(); m_controlFunc = NPC_CONTROL_SHOT; m_state = NPC_GENERIC_HIT_CHECK_HEALTH; diff --git a/source/enemy/npcdata.cpp b/source/enemy/npcdata.cpp index b1128e905..2e0ce2c23 100644 --- a/source/enemy/npcdata.cpp +++ b/source/enemy/npcdata.cpp @@ -980,14 +980,14 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] = NPC_CLOSE_NONE, NPC_TIMER_NONE, false, - 3, + 5, 2048, DETECT_ALL_COLLISION, DAMAGE__HIT_ENEMY, 50, ANIM_FLYINGDUTCHMAN_FLY, NPC_SHOT_GENERIC, - 0, + ANIM_FLYINGDUTCHMAN_DEATH, ANIM_FLYINGDUTCHMAN_GETHIT, false, false, @@ -995,7 +995,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] = false, CSoundMediator::NUM_SFXIDS, CSoundMediator::NUM_SFXIDS, - false, + true, }, { // NPC_IRON_DOGFISH