85 lines
2.0 KiB
C++
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 |