This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
2020-08-04 13:13:01 -04:00

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