mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-09-01 06:59:20 +00:00
upload "kind" alien swarm
This commit is contained in:
@@ -0,0 +1,129 @@
|
||||
#ifndef _INCLUDED_ASW_SHIELDBUG_H
|
||||
#define _INCLUDED_ASW_SHIELDBUG_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "asw_alien_shover.h"
|
||||
|
||||
DECLARE_AUTO_LIST( IShieldbugAutoList )
|
||||
|
||||
class CASW_Shieldbug : public CASW_Alien_Shover, public IShieldbugAutoList
|
||||
{
|
||||
DECLARE_CLASS( CASW_Shieldbug, CASW_Alien_Shover );
|
||||
public:
|
||||
DECLARE_SERVERCLASS();
|
||||
DECLARE_DATADESC();
|
||||
|
||||
IMPLEMENT_AUTO_LIST_GET( );
|
||||
|
||||
CASW_Shieldbug();
|
||||
virtual ~CASW_Shieldbug();
|
||||
|
||||
void Spawn();
|
||||
void Precache();
|
||||
virtual void NPCThink();
|
||||
virtual int DrawDebugTextOverlays();
|
||||
float GetIdealSpeed() const;
|
||||
float GetIdealAccel( ) const;
|
||||
float GetSequenceGroundSpeed( int iSequence );
|
||||
int MeleeAttack1Conditions( float flDot, float flDist );
|
||||
int MeleeAttack2Conditions ( float flDot, float flDist );
|
||||
void MeleeAttack( float distance, float damage, QAngle &viewPunch, Vector &shove );
|
||||
float MaxYawSpeed( void );
|
||||
void HandleAnimEvent( animevent_t *pEvent );
|
||||
Class_T Classify( void ) { return (Class_T) CLASS_ASW_SHIELDBUG; }
|
||||
bool CorpseGib( const CTakeDamageInfo &info );
|
||||
void BuildScheduleTestBits( void );
|
||||
void GatherEnemyConditions( CBaseEntity *pEnemy );
|
||||
void StartTask(const Task_t *pTask);
|
||||
void RunTask( const Task_t *pTask );
|
||||
int SelectSchedule();
|
||||
int TranslateSchedule( int scheduleType );
|
||||
bool OverrideMoveFacing( const AILocalMoveGoal_t &move, float flInterval );
|
||||
void SetTurnActivity();
|
||||
virtual void ASW_Ignite( float flFlameLifetime, float flSize, CBaseEntity *pAttacker, CBaseEntity *pDamagingWeapon = NULL );
|
||||
virtual bool ShouldDefend();
|
||||
float m_fNextHeadhitAttack;
|
||||
float m_fLastHurtTime;
|
||||
bool m_bLastShouldDefend;
|
||||
int m_nExtraHeath;
|
||||
|
||||
virtual Activity NPC_TranslateActivity( Activity baseAct );
|
||||
|
||||
bool ShouldGib( const CTakeDamageInfo &info ) ;
|
||||
|
||||
virtual void PrescheduleThink();
|
||||
virtual void PainSound( const CTakeDamageInfo &info );
|
||||
virtual void AlertSound();
|
||||
virtual void DeathSound( const CTakeDamageInfo &info );
|
||||
virtual void AttackSound();
|
||||
virtual void IdleSound();
|
||||
virtual void Event_Killed( const CTakeDamageInfo &info );
|
||||
virtual bool HasDeadBodyGroup() { return true; };
|
||||
virtual void GatherConditions();
|
||||
virtual bool CanBreak ( void ) { return true; };
|
||||
virtual Activity GetDeathActivity( void );
|
||||
|
||||
bool m_bDefending;
|
||||
float m_fNextFlinchTime;
|
||||
virtual bool CanFlinch();
|
||||
virtual int OnTakeDamage_Alive( const CTakeDamageInfo &info );
|
||||
virtual bool BlockedDamage( const CTakeDamageInfo &info, const Vector &vecDir, trace_t *ptr );
|
||||
virtual void TraceAttack( const CTakeDamageInfo &info, const Vector &vecDir, trace_t *ptr );
|
||||
virtual void Bleed( const CTakeDamageInfo &info, const Vector &vecPos, const Vector &vecDir, trace_t *ptr );
|
||||
void CheckForShieldbugHint( const CTakeDamageInfo &info );
|
||||
|
||||
virtual float GetMaxShoverObjectMass() { return 200.0f; }
|
||||
|
||||
virtual void SetHealthByDifficultyLevel();
|
||||
|
||||
virtual int GetMoneyCount( const CTakeDamageInfo &info );
|
||||
|
||||
float m_fMarineBlockCounter;
|
||||
float m_fLastMarineBlockTime;
|
||||
float m_flDefendDuration;
|
||||
|
||||
static float s_fNextSpottedChatterTime;
|
||||
|
||||
enum
|
||||
{
|
||||
COND_SHIELDBUG_CHANGE_DEFEND = BaseClass::NEXT_CONDITION,
|
||||
NEXT_CONDITION,
|
||||
};
|
||||
|
||||
bool m_bHasBeenHurt;
|
||||
|
||||
protected:
|
||||
DEFINE_CUSTOM_AI;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
SCHED_SHIELDBUG_FLINCH_LEFT = LAST_ASW_ALIEN_SHOVER_SHARED_SCHEDULE,
|
||||
SCHED_SHIELDBUG_FLINCH_RIGHT = LAST_ASW_ALIEN_SHOVER_SHARED_SCHEDULE+1,
|
||||
SCHED_ASW_SHIELDBUG_MELEE_ATTACK1 = LAST_ASW_ALIEN_SHOVER_SHARED_SCHEDULE+2,
|
||||
SCHED_ASW_SHIELDBUG_MELEE_ATTACK2 = LAST_ASW_ALIEN_SHOVER_SHARED_SCHEDULE+3,
|
||||
SCHED_SHIELDBUG_START_DEFENDING,
|
||||
SCHED_SHIELDBUG_LEAVE_DEFENDING,
|
||||
LAST_ASW_SHIELDBUG_SHARED_SCHEDULE,
|
||||
};
|
||||
|
||||
extern int ACT_START_DEFENDING;
|
||||
extern int ACT_LEAVE_DEFENDING;
|
||||
extern int ACT_RUN_DEFEND;
|
||||
extern int ACT_IDLE_DEFEND;
|
||||
extern int ACT_FLINCH_LEFTARM_DEFEND;
|
||||
extern int ACT_FLINCH_RIGHTARM_DEFEND;
|
||||
extern int ACT_MELEE_ATTACK1_DEFEND;
|
||||
extern int ACT_TURN_LEFT_DEFEND;
|
||||
extern int ACT_TURN_RIGHT_DEFEND;
|
||||
extern int ACT_ALIEN_SHOVER_ROAR_DEFEND;
|
||||
|
||||
//enum
|
||||
//{
|
||||
//TASK_SHIELDBUG_FLINCH = LAST_ASW_ALIEN_SHARED_TASK,
|
||||
//LAST_ASW_SHIELDBUG_SHARED_TASK,
|
||||
//};
|
||||
|
||||
#endif // _INCLUDED_ASW_SHIELDBUG_H
|
||||
Reference in New Issue
Block a user