72 lines
2.1 KiB
C++
72 lines
2.1 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $Workfile: $
|
|
// $Date: $
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
// $Log: $
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef NPC_HOUNDEYE_H
|
|
#define NPC_HOUNDEYE_H
|
|
#pragma once
|
|
|
|
#include "ai_basenpc.h"
|
|
|
|
#include "energy_wave.h"
|
|
|
|
class CNPC_Houndeye : public CAI_BaseNPC {
|
|
DECLARE_CLASS(CNPC_Houndeye, CAI_BaseNPC);
|
|
|
|
public:
|
|
void Spawn(void);
|
|
void Precache(void);
|
|
Class_T Classify(void);
|
|
void HandleAnimEvent(animevent_t *pEvent);
|
|
float MaxYawSpeed(void);
|
|
void WarmUpSound(void);
|
|
void AlertSound(void);
|
|
void DeathSound(const CTakeDamageInfo &info);
|
|
void WarnSound(void);
|
|
void PainSound(const CTakeDamageInfo &info);
|
|
void IdleSound(void);
|
|
void StartTask(const Task_t *pTask);
|
|
void RunTask(const Task_t *pTask);
|
|
int GetSoundInterests(void);
|
|
void SonicAttack(void);
|
|
void PrescheduleThink(void);
|
|
void WriteBeamColor(void);
|
|
int RangeAttack1Conditions(float flDot, float flDist);
|
|
bool FCanActiveIdle(void);
|
|
virtual int TranslateSchedule(int scheduleType);
|
|
Activity NPC_TranslateActivity(Activity eNewActivity);
|
|
virtual int SelectSchedule(void);
|
|
bool HandleInteraction(int interactionType, void *data,
|
|
CBaseCombatCharacter *sourceEnt);
|
|
void NPCThink(void);
|
|
int OnTakeDamage_Alive(const CTakeDamageInfo &info);
|
|
void Event_Killed(const CTakeDamageInfo &info);
|
|
bool IsAnyoneInSquadAttacking(void);
|
|
void SpeakSentence(int sentenceType);
|
|
|
|
float m_flNextSecondaryAttack;
|
|
bool m_bLoopClockwise;
|
|
|
|
CEnergyWave *m_pEnergyWave;
|
|
float m_flEndEnergyWaveTime;
|
|
|
|
bool m_fAsleep; // some houndeyes sleep in idle mode if this is set, the
|
|
// houndeye is lying down
|
|
bool m_fDontBlink; // don't try to open/close eye if this bit is set!
|
|
|
|
DEFINE_CUSTOM_AI;
|
|
|
|
DECLARE_DATADESC();
|
|
};
|
|
|
|
#endif // NPC_HOUNDEYE_H
|