From 39ed87570bdb2f86969d4be821c94b722dc71179 Mon Sep 17 00:00:00 2001 From: Joe Ludwig Date: Wed, 26 Jun 2013 15:22:04 -0700 Subject: First version of the SOurce SDK 2013 --- mp/src/game/server/tempmonster.cpp | 105 +++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 mp/src/game/server/tempmonster.cpp (limited to 'mp/src/game/server/tempmonster.cpp') diff --git a/mp/src/game/server/tempmonster.cpp b/mp/src/game/server/tempmonster.cpp new file mode 100644 index 00000000..99676c3a --- /dev/null +++ b/mp/src/game/server/tempmonster.cpp @@ -0,0 +1,105 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// +//========================================================= +// NPC template +//========================================================= +#include "cbase.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +#if 0 + +//========================================================= +// NPC's Anim Events Go Here +//========================================================= + +class CMyNPC : public CAI_BaseNPC +{ +public: + DECLARE_CLASS( CMyNPC, CAI_BaseNPC ); + + void Spawn( void ); + void Precache( void ); + void MaxYawSpeed( void ); + int Classify ( void ); + void HandleAnimEvent( animevent_t *pEvent ); +}; +LINK_ENTITY_TO_CLASS( my_NPC, CMyNPC ); + +//========================================================= +// Classify - indicates this NPC's place in the +// relationship table. +//========================================================= +int CMyNPC::Classify ( void ) +{ + return CLASS_MY_NPC; +} + +//========================================================= +// SetYawSpeed - allows each sequence to have a different +// turn rate associated with it. +//========================================================= +float CMyNPC::MaxYawSpeed ( void ) +{ + switch ( m_Activity ) + { + case ACT_IDLE: + default: + return 90; + } +} + +//========================================================= +// HandleAnimEvent - catches the NPC-specific messages +// that occur when tagged animation frames are played. +//========================================================= +void CMyNPC::HandleAnimEvent( animevent_t *pEvent ) +{ + switch( pEvent->event ) + { + case 0: + default: + CAI_BaseNPC::HandleAnimEvent( pEvent ); + break; + } +} + +//========================================================= +// Spawn +//========================================================= +void CMyNPC::Spawn() +{ + Precache( ); + + engine.SetModel(edict(), "models/mymodel.mdl"); + UTIL_SetSize( this, Vector( -12, -12, 0 ), Vector( 12, 12, 24 ) ); + + SetSolid( SOLID_SLIDEBOX ); + SetMoveType( MOVETYPE_STEP ); + m_bloodColor = BLOOD_COLOR_GREEN; + m_iHealth = 8; + m_vecViewOffset = Vector ( 0, 0, 0 );// position of the eyes relative to NPC's origin. + m_flFieldOfView = 0.5;// indicates the width of this NPC's forward view cone ( as a dotproduct result ) + m_NPCState = NPCSTATE_NONE; + + NPCInit(); +} + +//========================================================= +// Precache - precaches all resources this NPC needs +//========================================================= +void CMyNPC::Precache() +{ + engine.PrecacheModel("models/mymodel.mdl"); +} + +//========================================================= +// AI Schedules Specific to this NPC +//========================================================= +#endif -- cgit v1.2.3