SBSPSS/source/enemy/nmjfish.h

85 lines
2.0 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-30 17:39:43 +02:00
#ifndef __ENEMY_NBOSS_H__
#include "enemy\nboss.h"
#endif
2001-06-11 21:32:41 +02:00
#include "fx\fx.h"
#include "fx\fxjfish.h"
2001-08-03 21:10:05 +02:00
#define MJ_PINK ( 127 + ( 127 << 8 ) + ( 127 << 16 ) )
2001-06-21 17:06:22 +02:00
#define MJ_WHITE ( 255 + ( 255 << 8 ) + ( 255 << 16 ) )
2001-06-30 17:39:43 +02:00
class CNpcMotherJellyfishEnemy : public CNpcBossEnemy
2001-04-20 20:34:16 +02:00
{
public:
2001-07-04 00:17:20 +02:00
void postInit();
2001-05-04 01:59:30 +02:00
void render();
2001-08-03 21:30:35 +02:00
virtual void renderOnMapScreen( DVECTOR drawPos );
2001-07-04 00:17:20 +02:00
void shutdown();
2001-07-04 16:26:36 +02:00
void setupWaypoints( sThingActor *ThisActor );
2001-08-10 17:39:00 +02:00
bool alwaysThink();
2001-08-21 16:53:35 +02:00
u8 hasBeenAttacked();
2001-08-15 19:55:43 +02:00
2001-04-20 20:34:16 +02:00
protected:
2001-07-04 16:26:36 +02:00
void processClose( int _frames );
void processMovement( int _frames );
void processShot( int _frames );
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-06-15 23:24:14 +02:00
s16 m_renderScale;
2001-06-21 17:06:22 +02:00
u8 m_attackCounter;
2001-07-04 23:37:51 +02:00
u8 m_patternNum;
u8 m_patternPoint;
DVECTOR m_pattern[3][4];
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-04-20 20:34:16 +02:00
};
#endif