mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-09-01 23:19:18 +00:00
upload "kind" alien swarm
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
#ifndef _INCLUDED_ASW_SPAWNABLE_NPC_H
|
||||
#define _INCLUDED_ASW_SPAWNABLE_NPC_H
|
||||
|
||||
class CASW_Base_Spawner;
|
||||
class CAI_BaseNPC;
|
||||
|
||||
enum AlienOrder_t
|
||||
{
|
||||
AOT_SpreadThenHibernate,
|
||||
AOT_MoveTo,
|
||||
AOT_MoveToIgnoringMarines,
|
||||
AOT_MoveToNearestMarine,
|
||||
AOT_None,
|
||||
};
|
||||
|
||||
// Spawnable interface for all spawnable NPC types to implement
|
||||
abstract_class IASW_Spawnable_NPC
|
||||
{
|
||||
public:
|
||||
|
||||
virtual void SetSpawner(CASW_Base_Spawner* spawner) = 0; // inform our spawnable about the spawner, so the spawn can be notified of the spawnable's death
|
||||
virtual CAI_BaseNPC* GetNPC() = 0;
|
||||
virtual bool CanStartBurrowed() = 0; // spawnables should return true if they can spawn underground
|
||||
virtual void StartBurrowed() = 0; // should make the spawnable start underground
|
||||
virtual void SetUnburrowActivity( string_t iszActivityName ) = 0;
|
||||
virtual void SetUnburrowIdleActivity( string_t iszActivityName ) = 0;
|
||||
virtual void SetAlienOrders(AlienOrder_t Orders, Vector vecOrderSpot, CBaseEntity* pOrderObject) = 0;
|
||||
virtual AlienOrder_t GetAlienOrders() = 0;
|
||||
virtual void MoveAside() = 0; // this means the spawnable is blocking a spawn point and should try to move out of the way
|
||||
virtual void ASW_Ignite( float flFlameLifetime, float flSize, CBaseEntity *pAttacker, CBaseEntity *pDamagingWeapon = NULL ) = 0;
|
||||
virtual void ElectroStun( float flStuntime ) = 0;
|
||||
virtual void OnSwarmSensed(int iDistance) = 0; // sensing for asw_ai_senses
|
||||
virtual void OnSwarmSenseEntity(CBaseEntity* pEnt) = 0;
|
||||
virtual void SetHealthByDifficultyLevel() = 0; // sets the alien's health to its default
|
||||
virtual void SetHoldoutAlien() = 0; // this alien was spawned as part of a holdout wave
|
||||
virtual bool IsHoldoutAlien() = 0;
|
||||
};
|
||||
|
||||
#endif // _INCLUDED_ASW_SPAWNABLE_NPC_H
|
||||
Reference in New Issue
Block a user