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,
@ -448,7 +448,7 @@ enum eActorState_Disguise {
// Turret think state // Turret think state
// //
enum eActorState_Turret { enum eActorState_Turret {
ACTOR_STATE_TURRET_START = ACTOR_STATE_TURRET, ACTOR_STATE_TURRET_START = ACTOR_STATE_TURRET,
ACTOR_STATE_TURRET_COMBAT = ACTOR_STATE_TURRET_START, ACTOR_STATE_TURRET_COMBAT = ACTOR_STATE_TURRET_START,
ACTOR_STATE_TURRET_REACQUIRE, ACTOR_STATE_TURRET_REACQUIRE,
ACTOR_STATE_TURRET_TAKE_SNIPER_NODE, ACTOR_STATE_TURRET_TAKE_SNIPER_NODE,
@ -476,7 +476,7 @@ enum eActorState_Turret {
// Balcony attack think state // Balcony attack think state
// //
enum eActorState_BalconyAttack { enum eActorState_BalconyAttack {
ACTOR_STATE_BALCONY_ATTACK_START = ACTOR_STATE_BALCONY_ATTACK, ACTOR_STATE_BALCONY_ATTACK_START = ACTOR_STATE_BALCONY_ATTACK,
ACTOR_STATE_BALCONY_ATTACK_FIND_ENEMY = ACTOR_STATE_BALCONY_ATTACK_START, ACTOR_STATE_BALCONY_ATTACK_FIND_ENEMY = ACTOR_STATE_BALCONY_ATTACK_START,
ACTOR_STATE_BALCONY_ATTACK_TARGET, ACTOR_STATE_BALCONY_ATTACK_TARGET,
ACTOR_STATE_BALCONY_ATTACK_SHOOT ACTOR_STATE_BALCONY_ATTACK_SHOOT
@ -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,
}; };
// //
@ -494,7 +508,7 @@ enum eActorState_BalconyCover {
// //
enum eActorState_BalconyAlarm { enum eActorState_BalconyAlarm {
ACTOR_STATE_ALARM_START = ACTOR_STATE_ALARM, ACTOR_STATE_ALARM_START = ACTOR_STATE_ALARM,
ACTOR_STATE_ALARM_IDLE = ACTOR_STATE_ALARM_START, ACTOR_STATE_ALARM_IDLE = ACTOR_STATE_ALARM_START,
ACTOR_STATE_ALARM_MOVE ACTOR_STATE_ALARM_MOVE
}; };
@ -530,7 +544,7 @@ enum eActorState_WeaponLess {
// Animation think state // Animation think state
// //
enum eActorState_Animation { enum eActorState_Animation {
ACTOR_STATE_ANIMATION_START = ACTOR_STATE_ANIMATION, ACTOR_STATE_ANIMATION_START = ACTOR_STATE_ANIMATION,
ACTOR_STATE_ANIMATION_INITIAL = ACTOR_STATE_ANIMATION_START, ACTOR_STATE_ANIMATION_INITIAL = ACTOR_STATE_ANIMATION_START,
ACTOR_STATE_ANIMATION_MAIN, ACTOR_STATE_ANIMATION_MAIN,
}; };
@ -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);
@ -1275,7 +1289,8 @@ public:
void NotifySquadmateKilled(Sentient *pSquadMate, Sentient *pAttacker); void NotifySquadmateKilled(Sentient *pSquadMate, Sentient *pAttacker);
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);