2001-04-20 20:34:16 +02:00
|
|
|
/*=========================================================================
|
|
|
|
|
|
|
|
nmjfish.h
|
|
|
|
|
|
|
|
Author: CRB
|
|
|
|
Created:
|
|
|
|
Project: Spongebob
|
|
|
|
Purpose:
|
|
|
|
|
|
|
|
Copyright (c) 2000 Climax Development Ltd
|
|
|
|
|
|
|
|
===========================================================================*/
|
|
|
|
|
|
|
|
#ifndef __ENEMY_NMJFISH_H__
|
|
|
|
#define __ENEMY_NMJFISH_H__
|
|
|
|
|
2001-06-11 21:32:41 +02:00
|
|
|
#include "fx\fx.h"
|
|
|
|
#include "fx\fxjfish.h"
|
|
|
|
#include "fx\fxnrgbar.h"
|
|
|
|
|
2001-06-21 17:06:22 +02:00
|
|
|
#define MJ_PINK ( 255 + ( 128 << 8 ) + ( 255 << 16 ) )
|
|
|
|
#define MJ_WHITE ( 255 + ( 255 << 8 ) + ( 255 << 16 ) )
|
|
|
|
|
2001-04-20 20:34:16 +02:00
|
|
|
class CNpcMotherJellyfishEnemy : public CNpcEnemy
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual void postInit();
|
2001-05-04 01:59:30 +02:00
|
|
|
void render();
|
2001-05-04 23:58:41 +02:00
|
|
|
virtual void shutdown();
|
2001-05-10 21:27:57 +02:00
|
|
|
virtual void setupWaypoints( sThingActor *ThisActor );
|
2001-04-20 20:34:16 +02:00
|
|
|
protected:
|
|
|
|
virtual void processClose( int _frames );
|
|
|
|
virtual void processMovement( int _frames );
|
2001-06-11 21:32:41 +02:00
|
|
|
virtual void processShot( int _frames );
|
2001-06-16 16:33:00 +02:00
|
|
|
virtual void collidedWith(CThing *_thisThing);
|
2001-06-15 23:24:14 +02:00
|
|
|
//void spawnJellyfish( int _frames );
|
2001-06-11 21:32:41 +02:00
|
|
|
//virtual void processUserCollision( CThing *thisThing );
|
2001-04-20 20:34:16 +02:00
|
|
|
|
|
|
|
enum NPC_MOTHER_JELLYFISH_STATE
|
|
|
|
{
|
2001-06-15 23:24:14 +02:00
|
|
|
/*MOTHER_JELLYFISH_RETURN_TO_START_1 = 0,
|
2001-04-20 20:34:16 +02:00
|
|
|
MOTHER_JELLYFISH_CYCLE_1 = 1,
|
|
|
|
MOTHER_JELLYFISH_ATTACK_PLAYER_SPAWN_1,
|
|
|
|
MOTHER_JELLYFISH_RETURN_TO_START_2,
|
|
|
|
MOTHER_JELLYFISH_CYCLE_2,
|
|
|
|
MOTHER_JELLYFISH_ATTACK_PLAYER_SPAWN_2,
|
|
|
|
MOTHER_JELLYFISH_RETURN_TO_START_3,
|
|
|
|
MOTHER_JELLYFISH_CYCLE_3,
|
2001-06-15 23:24:14 +02:00
|
|
|
MOTHER_JELLYFISH_ATTACK_PLAYER_SHOCK,*/
|
|
|
|
MOTHER_JELLYFISH_CYCLE = 0,
|
2001-06-16 16:33:00 +02:00
|
|
|
MOTHER_JELLYFISH_BEGIN_CIRCLE = 1,
|
|
|
|
MOTHER_JELLYFISH_CIRCLE,
|
|
|
|
MOTHER_JELLYFISH_EXIT,
|
2001-06-21 17:06:22 +02:00
|
|
|
MOTHER_JELLYFISH_STRAFE_START,
|
|
|
|
MOTHER_JELLYFISH_STRAFE,
|
2001-04-20 20:34:16 +02:00
|
|
|
};
|
2001-05-04 22:11:44 +02:00
|
|
|
|
|
|
|
int m_jellyfishCount;
|
|
|
|
s32 m_spawnTimer;
|
2001-06-15 23:24:14 +02:00
|
|
|
s32 m_pulsateTimer;
|
2001-06-16 00:05:32 +02:00
|
|
|
s32 m_pauseTimer;
|
|
|
|
s32 m_maxPauseTimer;
|
2001-05-10 21:27:57 +02:00
|
|
|
s32 m_cycleWidth;
|
|
|
|
s32 m_halfCycleWidth;
|
2001-05-31 00:05:41 +02:00
|
|
|
bool m_meterOn;
|
2001-06-15 23:24:14 +02:00
|
|
|
s16 m_renderScale;
|
2001-06-20 21:39:00 +02:00
|
|
|
s32 m_invulnerableTimer;
|
2001-06-21 17:06:22 +02:00
|
|
|
u8 m_attackCounter;
|
2001-06-11 21:32:41 +02:00
|
|
|
|
|
|
|
CFXJellyFishLegs *legs[4];
|
|
|
|
DVECTOR legsPos[4];
|
2001-06-15 23:24:14 +02:00
|
|
|
|
|
|
|
DVECTOR targetPos;
|
2001-06-27 20:28:21 +02:00
|
|
|
CFXNRGBar *m_energyBar;
|
2001-04-20 20:34:16 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|