Added cover states

This commit is contained in:
smallmodel 2023-10-21 17:17:46 +02:00
parent d3d44001ef
commit ae33155ed3
No known key found for this signature in database
GPG key ID: 9F2D623CEDF08512

View file

@ -419,7 +419,7 @@ enum eActorState {
ACTOR_STATE_DISGUISE = 0, ACTOR_STATE_DISGUISE = 0,
ACTOR_STATE_TURRET = 100, ACTOR_STATE_TURRET = 100,
ACTOR_STATE_BALCONY_ATTACK = 200, ACTOR_STATE_BALCONY_ATTACK = 200,
ACTOR_STATE_BALCONY_COVER = 300, ACTOR_STATE_COVER = 300,
ACTOR_STATE_ALARM = 600, ACTOR_STATE_ALARM = 600,
ACTOR_STATE_KILLED = 700, ACTOR_STATE_KILLED = 700,
ACTOR_STATE_BALCONY_KILLED = 800, ACTOR_STATE_BALCONY_KILLED = 800,
@ -485,8 +485,22 @@ enum eActorState_BalconyAttack {
// //
// Balcony cover think state // Balcony cover think state
// //
enum eActorState_BalconyCover { enum eActorState_Cover {
ACTOR_STATE_BALCONY_COVER_START = ACTOR_STATE_BALCONY_COVER, ACTOR_STATE_COVER_START = ACTOR_STATE_COVER,
ACTOR_STATE_COVER_NEW_ENEMY = ACTOR_STATE_COVER_START,
ACTOR_STATE_COVER_FIND_COVER,
ACTOR_STATE_COVER_TAKE_COVER,
ACTOR_STATE_COVER_FINISH_RELOADING,
ACTOR_STATE_COVER_SPECIAL_ATTACK,
ACTOR_STATE_COVER_FIND_ENEMY,
ACTOR_STATE_COVER_SEARCH_NODE,
ACTOR_STATE_COVER_TARGET,
ACTOR_STATE_COVER_HIDE,
ACTOR_STATE_COVER_SHOOT,
ACTOR_STATE_COVER_GRENADE,
ACTOR_STATE_COVER_HUNT_ENEMY,
ACTOR_STATE_COVER_LOOP,
ACTOR_STATE_COVER_FAKE_ENEMY,
}; };
// //
@ -963,7 +977,7 @@ public:
bool PassesTransitionConditions_Idle(void); bool PassesTransitionConditions_Idle(void);
void UpdateEnableEnemy(void); void UpdateEnableEnemy(void);
void ThinkStateTransitions(void); void ThinkStateTransitions(void);
void TransitionState(int iNewState, int iPadTime); void TransitionState(int iNewState, int iPadTime = 0);
void ChangeAnim(void); void ChangeAnim(void);
void UpdateSayAnim(void); void UpdateSayAnim(void);
void UpdateUpperAnim(void); void UpdateUpperAnim(void);
@ -1276,6 +1290,7 @@ public:
void RaiseAlertnessForEventType(int iType); void RaiseAlertnessForEventType(int iType);
void RaiseAlertness(float fAmount); void RaiseAlertness(float fAmount);
virtual bool CanSee(Entity *e1, float fov, float vision_distance, bool bNoEnts) override; virtual bool CanSee(Entity *e1, float fov, float vision_distance, bool bNoEnts) override;
using Sentient::CanSee;
virtual Vector GunPosition(void) override; virtual Vector GunPosition(void) override;
bool WithinVisionDistance(Entity *ent) const; bool WithinVisionDistance(Entity *ent) const;
bool InFOV(Vector pos, float check_fov, float check_fovdot); bool InFOV(Vector pos, float check_fov, float check_fovdot);