SBSPSS/source/enemy/nmjfish.h

77 lines
1.9 KiB
C
Raw Normal View History

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