diff --git a/source/enemy/npc.cpp b/source/enemy/npc.cpp index a231b8f9e..a92450378 100644 --- a/source/enemy/npc.cpp +++ b/source/enemy/npc.cpp @@ -616,6 +616,37 @@ void CNpcEnemy::init() //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +void CNpcEnemy::setSpeed( s16 newSpeed ) +{ + switch( m_type ) + { + case CNpcEnemy::NPC_MOTHER_JELLYFISH: + case CNpcEnemy::NPC_SUB_SHARK: + case CNpcEnemy::NPC_FLYING_DUTCHMAN: + case CNpcEnemy::NPC_IRON_DOGFISH: + case CNpcEnemy::NPC_SEA_SNAKE: + { + if ( CLevel::getIsBossRespawn() ) + { + break; + } + else + { + m_speed = newSpeed; + break; + } + } + + default: + { + m_speed = newSpeed; + break; + } + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + void CNpcEnemy::postInit() { m_npcPath.setPathType( CNpcPath::PONG_PATH ); diff --git a/source/enemy/npc.h b/source/enemy/npc.h index 216c0ddf5..37c22bf1a 100644 --- a/source/enemy/npc.h +++ b/source/enemy/npc.h @@ -109,7 +109,7 @@ public: virtual void caughtWithNet(); virtual int getFrameCount(); virtual int getFrame() {return( m_frame );} - void setSpeed( s16 newSpeed ) {m_speed = newSpeed;} + void setSpeed( s16 newSpeed ); virtual u32 getRGB() {return( m_RGB );} virtual void leftThinkZone(int _frames);