You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.3 KiB
86 lines
2.3 KiB
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//
|
|
//=============================================================================//
|
|
#include "cbase.h"
|
|
#include "ai_default.h"
|
|
#include "ai_task.h"
|
|
#include "ai_schedule.h"
|
|
#include "ai_node.h"
|
|
#include "ai_hull.h"
|
|
#include "ai_hint.h"
|
|
#include "ai_memory.h"
|
|
#include "ai_route.h"
|
|
#include "ai_motor.h"
|
|
#include "soundent.h"
|
|
#include "game.h"
|
|
#include "npcevent.h"
|
|
#include "entitylist.h"
|
|
#include "activitylist.h"
|
|
#include "animation.h"
|
|
#include "basecombatweapon.h"
|
|
#include "IEffects.h"
|
|
#include "vstdlib/random.h"
|
|
#include "engine/IEngineSound.h"
|
|
#include "ammodef.h"
|
|
#include "hl1_ai_basenpc.h"
|
|
|
|
class CNPC_Bloater : public CHL1BaseNPC
|
|
{
|
|
DECLARE_CLASS( CNPC_Bloater, CHL1BaseNPC );
|
|
public:
|
|
|
|
void Spawn( void );
|
|
void Precache( void );
|
|
/*void SetYawSpeed( void );
|
|
int Classify ( void );
|
|
void HandleAnimEvent( MonsterEvent_t *pEvent );
|
|
|
|
void PainSound( const CTakeDamageInfo &info );
|
|
void AlertSound( void );
|
|
void IdleSound( void );
|
|
void AttackSnd( void );
|
|
|
|
// No range attacks
|
|
BOOL CheckRangeAttack1 ( float flDot, float flDist ) { return FALSE; }
|
|
BOOL CheckRangeAttack2 ( float flDot, float flDist ) { return FALSE; }
|
|
int TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType );*/
|
|
};
|
|
|
|
LINK_ENTITY_TO_CLASS( monster_bloater, CNPC_Bloater );
|
|
|
|
//=========================================================
|
|
// Spawn
|
|
//=========================================================
|
|
void CNPC_Bloater::Spawn()
|
|
{
|
|
Precache( );
|
|
|
|
SetModel( "models/floater.mdl");
|
|
// UTIL_SetSize( this, VEC_HUMAN_HULL_MIN, VEC_HUMAN_HULL_MAX );
|
|
|
|
SetSolid( SOLID_BBOX );
|
|
AddSolidFlags( FSOLID_NOT_STANDABLE );
|
|
SetMoveType( MOVETYPE_FLY );
|
|
m_spawnflags |= FL_FLY;
|
|
m_bloodColor = BLOOD_COLOR_GREEN;
|
|
m_iHealth = 40;
|
|
// pev->view_ofs = VEC_VIEW;// position of the eyes relative to monster's origin.
|
|
m_flFieldOfView = 0.5;// indicates the width of this monster's forward view cone ( as a dotproduct result )
|
|
m_NPCState = NPC_STATE_NONE;
|
|
|
|
SetRenderColor( 255, 255, 255, 255 );
|
|
|
|
NPCInit();
|
|
}
|
|
|
|
//=========================================================
|
|
// Precache - precaches all resources this monster needs
|
|
//=========================================================
|
|
void CNPC_Bloater::Precache()
|
|
{
|
|
PrecacheModel("models/floater.mdl");
|
|
}
|