hlsdk-xash3d/dlls/cthulhu/ClimbingMonster.h

34 lines
997 B
C++
Executable File

#ifndef CLIMBINGMONSTER_H
#define CLIMBINGMONSTER_H
class CClimbingMonster : public CBaseMonster
{
public:
float ChangeYaw( int speed );
virtual BOOL FGetNodeRoute ( Vector vecDest );
virtual BOOL BuildRoute ( const Vector &vecGoal, int iMoveFlag, CBaseEntity *pTarget );
BOOL FRefreshRoute( void );
BOOL ShouldAdvanceRoute( float flWaypointDist );
virtual int CheckLocalMove ( const Vector &vecStart, const Vector &vecEnd, CBaseEntity *pTarget, float *pflDist );// check validity of a straight move through space
void Move( float flInterval = 0.1 );
virtual void MoveExecute( CBaseEntity *pTargetEnt, const Vector &vecDir, float flInterval );
void Stop( void );
void Killed( entvars_t *pevAttacker, int iGib );
protected:
BOOL mbIsClimbing;
int mOldType;
Vector m_vecTravel; // Current direction
Vector m_velocity;
float m_climbSpeed; // Current climb speed
float m_stopTime; // Last time we stopped (to avoid switching states too soon)
};
#endif