This commit is contained in:
Charles 2001-02-08 15:34:18 +00:00
parent 3c2bcb6c01
commit b1cf92f44b
6 changed files with 47 additions and 1 deletions

View File

@ -140,4 +140,21 @@ void CNpc::processCloseAnemone2Attack( int _frames )
m_timerFunc = NPC_TIMER_ATTACK_DONE;
m_timerTimer = GameState::getOneSecondInFrames();
m_sensorFunc = NPC_SENSOR_NONE;
}
void CNpc::processCloseAnemone3Attack( int _frames )
{
CProjectile *projectile;
DVECTOR newPos = Pos;
newPos.vy -= 100;
projectile = new( "test projectile" ) CProjectile;
projectile->init( newPos, m_heading, CProjectile::PROJECTILE_GAS_CLOUD, CProjectile::PROJECTILE_FINITE_LIFE );
m_controlFunc = NPC_CONTROL_MOVEMENT;
m_timerFunc = NPC_TIMER_ATTACK_DONE;
m_timerTimer = 4 * GameState::getOneSecondInFrames();
m_sensorFunc = NPC_SENSOR_NONE;
}

View File

@ -54,7 +54,7 @@ s32 CNpc::playerYDistSqr;
void CNpc::init()
{
m_type = NPC_ANEMONE_1;
m_type = NPC_ANEMONE_3;
m_heading = m_fireHeading = 0;
m_movementTimer = 0;
@ -894,6 +894,11 @@ void CNpc::processClose(int _frames)
break;
case NPC_CLOSE_ANEMONE_3_ATTACK:
processCloseAnemone3Attack( _frames );
break;
case NPC_CLOSE_EYEBALL_ATTACK:
processCloseEyeballAttack( _frames );

View File

@ -45,6 +45,7 @@ public:
NPC_LARGE_JELLYFISH,
NPC_ANEMONE_1,
NPC_ANEMONE_2,
NPC_ANEMONE_3,
NPC_CLAM,
NPC_SQUID_DART,
NPC_FISH_FOLK,
@ -144,6 +145,7 @@ protected:
NPC_CLOSE_GENERIC_USER_SEEK,
NPC_CLOSE_ANEMONE_1_ATTACK,
NPC_CLOSE_ANEMONE_2_ATTACK,
NPC_CLOSE_ANEMONE_3_ATTACK,
NPC_CLOSE_EYEBALL_ATTACK,
NPC_CLOSE_SKULL_STOMPER_ATTACK,
NPC_CLOSE_BOOGER_MONSTER_ATTACK,
@ -297,6 +299,7 @@ protected:
void processCloseAnemone1Attack( int _frames );
void processCloseAnemone2Attack( int _frames );
void processCloseAnemone3Attack( int _frames );
// eyeball functions

View File

@ -178,6 +178,19 @@ CNpc::NPC_DATA CNpc::m_data[NPC_UNIT_TYPE_MAX] =
DAMAGE__LAVA,
},
{ // NPC_ANEMONE_3
NPC_INIT_DEFAULT,
NPC_SENSOR_ANEMONE_USER_CLOSE,
NPC_MOVEMENT_STATIC,
NPC_MOVEMENT_MODIFIER_NONE,
NPC_CLOSE_ANEMONE_3_ATTACK,
NPC_TIMER_NONE,
false,
0,
128,
DAMAGE__LAVA,
},
{ // NPC_CLAM
NPC_INIT_DEFAULT,
NPC_SENSOR_CLAM_USER_CLOSE,

View File

@ -214,6 +214,13 @@ void CProjectile::think(int _frames)
break;
}
case PROJECTILE_GAS_CLOUD:
{
// expand but don't move
break;
}
case PROJECTILE_DUMBFIRE:
default:
{

View File

@ -26,6 +26,7 @@ public:
{
PROJECTILE_DUMBFIRE = 0,
PROJECTILE_USER_SEEK = 1,
PROJECTILE_GAS_CLOUD,
};
enum PROJECTILE_LIFETIME_TYPE