From 4014e0c55e5b769d876c5f45c4c21be27f3821fe Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 8 Feb 2001 15:42:59 +0000 Subject: [PATCH] --- source/enemy/nanemone.cpp | 9 +++++++-- source/projectl/projectl.cpp | 7 +++++++ source/projectl/projectl.h | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/source/enemy/nanemone.cpp b/source/enemy/nanemone.cpp index 759b57bea..a62685b44 100644 --- a/source/enemy/nanemone.cpp +++ b/source/enemy/nanemone.cpp @@ -145,16 +145,21 @@ void CNpc::processCloseAnemone2Attack( int _frames ) void CNpc::processCloseAnemone3Attack( int _frames ) { CProjectile *projectile; + u8 lifetime = 8; DVECTOR newPos = Pos; newPos.vy -= 100; projectile = new( "test projectile" ) CProjectile; - projectile->init( newPos, m_heading, CProjectile::PROJECTILE_GAS_CLOUD, CProjectile::PROJECTILE_FINITE_LIFE ); + projectile->init( newPos, + m_heading, + CProjectile::PROJECTILE_GAS_CLOUD, + CProjectile::PROJECTILE_FINITE_LIFE, + lifetime * GameState::getOneSecondInFrames() ); m_controlFunc = NPC_CONTROL_MOVEMENT; m_timerFunc = NPC_TIMER_ATTACK_DONE; - m_timerTimer = 4 * GameState::getOneSecondInFrames(); + m_timerTimer = ( lifetime + 4 ) * GameState::getOneSecondInFrames(); m_sensorFunc = NPC_SENSOR_NONE; } \ No newline at end of file diff --git a/source/projectl/projectl.cpp b/source/projectl/projectl.cpp index d4fba8e5f..74463e74b 100644 --- a/source/projectl/projectl.cpp +++ b/source/projectl/projectl.cpp @@ -75,6 +75,13 @@ void CProjectile::init( DVECTOR initPos, s16 initHeading, PROJECTILE_MOVEMENT_TY m_lifetimeType = initLifeType; } +void CProjectile::init( DVECTOR initPos, s16 initHeading, PROJECTILE_MOVEMENT_TYPE initMoveType, PROJECTILE_LIFETIME_TYPE initLifeType, s32 initLifetime ) +{ + init( initPos, initHeading, initMoveType, initLifeType ); + + m_lifetime = initLifetime; +} + void CProjectile::shutdown() { m_spriteBank->dump(); delete m_spriteBank; diff --git a/source/projectl/projectl.h b/source/projectl/projectl.h index e716fc2e3..383684884 100644 --- a/source/projectl/projectl.h +++ b/source/projectl/projectl.h @@ -44,6 +44,7 @@ public: void init(); void init( DVECTOR initPos, s16 initHeading ); void init( DVECTOR initPos, s16 initHeading, PROJECTILE_MOVEMENT_TYPE initMoveType, PROJECTILE_LIFETIME_TYPE initLifeType ); + void init( DVECTOR initPos, s16 initHeading, PROJECTILE_MOVEMENT_TYPE initMoveType, PROJECTILE_LIFETIME_TYPE initLifeType, s32 initLifetime ); void shutdown(); void think(int _frames); virtual void render();