diff --git a/source/enemy/nanemone.cpp b/source/enemy/nanemone.cpp index c4b7454f0..de4c6a620 100644 --- a/source/enemy/nanemone.cpp +++ b/source/enemy/nanemone.cpp @@ -422,6 +422,7 @@ void CNpcAnemone2Enemy::processClose( int _frames ) projectile->init( spikePos, heading, CProjectile::PROJECTILE_DUMBFIRE, CProjectile::PROJECTILE_FINITE_LIFE ); projectile->setLayerCollision( m_layerCollision ); projectile->setState( CProjectile::PROJECTILE_ATTACK ); + projectile->setSpeed( 5 ); } m_controlFunc = NPC_CONTROL_MOVEMENT; diff --git a/source/projectl/projectl.cpp b/source/projectl/projectl.cpp index 27dd052f9..89d560ab1 100644 --- a/source/projectl/projectl.cpp +++ b/source/projectl/projectl.cpp @@ -68,6 +68,7 @@ void CProjectile::init() m_extension = 0; // m_isShuttingDown = false; m_ot = OTPOS__ACTOR_POS; + m_speed = 3; updateCollisionArea(); } @@ -169,8 +170,8 @@ bool CProjectile::processTargetSeek( int _frames, DVECTOR targetPos ) m_heading &= 4095; - s32 preShiftX = _frames * 3 * rcos( m_heading ); - s32 preShiftY = _frames * 3 * rsin( m_heading ); + s32 preShiftX = _frames * m_speed * rcos( m_heading ); + s32 preShiftY = _frames * m_speed * rsin( m_heading ); moveX = preShiftX >> 12; if ( !moveX && preShiftX ) @@ -317,8 +318,8 @@ void CProjectile::think(int _frames) } else { - Pos.vx += ( _frames * 3 * rcos( m_heading ) ) >> 12; - Pos.vy += ( _frames * 3 * rsin( m_heading ) ) >> 12; + Pos.vx += ( _frames * m_speed * rcos( m_heading ) ) >> 12; + Pos.vy += ( _frames * m_speed * rsin( m_heading ) ) >> 12; } break; diff --git a/source/projectl/projectl.h b/source/projectl/projectl.h index f3aa558ef..d6d4c61f8 100644 --- a/source/projectl/projectl.h +++ b/source/projectl/projectl.h @@ -60,6 +60,7 @@ public: void setLayerCollision( class CLayerCollision *_layer ) {m_layerCollision=_layer;} void setOt( u8 newOt ) {m_ot=newOt;} void setGraphic( int frame ); + void setSpeed( u16 newSpeed ) {m_speed = newSpeed;} private: class CLayerCollision *m_layerCollision; @@ -81,6 +82,7 @@ protected: u16 m_turnSpeed; u8 m_ot; int m_spriteFrame; + u16 m_speed; }; /*****************************************************************************/