SBSPSS/source/enemy/nmjfish.h
Charles f33844b282
2001-08-21 14:53:35 +00:00

85 lines
2.0 KiB
C++

/*=========================================================================
nmjfish.h
Author: CRB
Created:
Project: Spongebob
Purpose:
Copyright (c) 2000 Climax Development Ltd
===========================================================================*/
#ifndef __ENEMY_NMJFISH_H__
#define __ENEMY_NMJFISH_H__
#ifndef __ENEMY_NBOSS_H__
#include "enemy\nboss.h"
#endif
#include "fx\fx.h"
#include "fx\fxjfish.h"
#define MJ_PINK ( 127 + ( 127 << 8 ) + ( 127 << 16 ) )
#define MJ_WHITE ( 255 + ( 255 << 8 ) + ( 255 << 16 ) )
class CNpcMotherJellyfishEnemy : public CNpcBossEnemy
{
public:
void postInit();
void render();
virtual void renderOnMapScreen( DVECTOR drawPos );
void shutdown();
void setupWaypoints( sThingActor *ThisActor );
bool alwaysThink();
u8 hasBeenAttacked();
protected:
void processClose( int _frames );
void processMovement( int _frames );
void processShot( int _frames );
void collidedWith(CThing *_thisThing);
//void spawnJellyfish( int _frames );
//virtual void processUserCollision( CThing *thisThing );
enum NPC_MOTHER_JELLYFISH_STATE
{
/*MOTHER_JELLYFISH_RETURN_TO_START_1 = 0,
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,
MOTHER_JELLYFISH_ATTACK_PLAYER_SHOCK,*/
MOTHER_JELLYFISH_CYCLE = 0,
MOTHER_JELLYFISH_BEGIN_CIRCLE = 1,
MOTHER_JELLYFISH_CIRCLE,
MOTHER_JELLYFISH_EXIT,
MOTHER_JELLYFISH_STRAFE_START,
MOTHER_JELLYFISH_STRAFE,
};
int m_jellyfishCount;
s32 m_spawnTimer;
s32 m_pulsateTimer;
s32 m_pauseTimer;
s32 m_maxPauseTimer;
s32 m_cycleWidth;
s32 m_halfCycleWidth;
s16 m_renderScale;
u8 m_attackCounter;
u8 m_patternNum;
u8 m_patternPoint;
DVECTOR m_pattern[3][4];
CFXJellyFishLegs *legs[4];
DVECTOR legsPos[4];
DVECTOR targetPos;
};
#endif