Arma Reforger Script API
Loading...
Searching...
No Matches
SCR_AIObserveThreatSystemBehavior Interface Reference

Behavior for looking at sectors from the threat system. More...

Inheritance diagram for SCR_AIObserveThreatSystemBehavior:
SCR_AIBehaviorBase SCR_AIActionBase AIActionBase

Public Member Functions

void SCR_AIObserveThreatSystemBehavior (SCR_AIUtilityComponent utility, SCR_AIActivityBase groupActivity)
 
void ~SCR_AIObserveThreatSystemBehavior ()
 
override void OnActionSelected ()
 
override void OnActionDeselected ()
 
override float CustomEvaluate ()
 
override void OnActionExecuted ()
 
void OnThreatSectorEscalation (SCR_AISectorThreatFilter ts, int sectorId, float dangerValue)
 
void OnMajorSectorChanged (SCR_AISectorThreatFilter ts, int newSectorId, int oldSectorId, float dangerValue)
 
void OnDamageTaken (SCR_AISectorThreatFilter ts, int sectorId)
 
void OnMovementCompleted (bool inCover)
 Called by combat movement logic.
 
override int GetCause ()
 Returns cause value, used for SCR_AISetting.
 
- Public Member Functions inherited from SCR_AIBehaviorBase
void SCR_AIBehaviorBase (SCR_AIUtilityComponent utility, SCR_AIActivityBase groupActivity)
 
SCR_AIActivityBase GetGroupActivityContext ()
 
override void OnActionFailed ()
 
override void OnActionCompleted ()
 
- Public Member Functions inherited from SCR_AIActionBase
override float EvaluatePriorityLevel ()
 
void SetPriorityLevel (int priority)
 
EAIActionFailReason GetFailReason ()
 
void SetFailReason (EAIActionFailReason failReason)
 Fail reason is an optional value which can be used to figure out why action failed.
 
override void OnSetActionState (EAIActionState state)
 
override void OnSetSuspended (bool suspended)
 
override void OnComplete ()
 
override void OnFail ()
 
override void OnActionRemoved ()
 
string GetActionDebugInfo ()
 
string GetDebugPanelText ()
 
bool IsActionInterruptable ()
 
void SetActionInterruptable (bool IsInterruptable)
 
void SetParametersToBTVariables (SCR_AIActionTask node)
 
void GetParametersFromBTVariables (SCR_AIActionTask node)
 
TStringArray GetPortNames ()
 
float GetRestrictedPriorityLevel (float minimumLevel=PRIORITY_LEVEL_NORMAL)
 Limits priority level for actions such that those are performed in "NORMAL" and "PLAYER" priority level but not in "GAMEMASTER".
 
- Public Member Functions inherited from AIActionBase
proto external float Evaluate ()
 
proto external float GetPriority ()
 
proto external void SetPriority (float priority)
 
proto external bool GetActionIsSuspended ()
 
proto external void SetActionIsSuspended (bool val)
 
proto external bool GetIsUniqueInActionQueue ()
 
proto external void SetIsUniqueInActionQueue (bool unique)
 
proto external EAIActionState GetActionState ()
 
proto external void SetActionState (EAIActionState state)
 
proto external void Fail ()
 
proto external void Complete ()
 
proto external bool GetRemoveAction ()
 
proto external void SetRemoveAction (bool val)
 
proto external ref AIActionBase GetRelatedGroupActivity ()
 
proto external void SetRelatedGroupActivity (AIActionBase related)
 
bool OnMessage (AIMessage msg)
 

Protected Member Functions

void Reset ()
 Resets whole behavior to default state.
 
float CalculateObserveDuration (int sectorId)
 How much should we look at this? More range -> bigger duration, more danger -> bigger duration.
 
void SwitchToHighPriorityState (float duration_s)
 
void StopHighPriorityState ()
 
bool IsInHighPriorityState ()
 

Protected Attributes

bool m_bBehaviorActive
 
int m_iCurrentSector
 
float m_fCurrentSectorDanger
 
SCR_EAIThreatSectorFlags m_eCurrentSectorFlags
 
int m_iCurrentSectorObserveCounter
 
WorldTimestamp m_TimestampStartHighPriorityState
 
float m_fHighPriorityDuration_s
 
ref SCR_AICombatMoveLogic_HideFromThreatSystem m_CombatMoveLogic
 
- Protected Attributes inherited from SCR_AIActionBase
ref SCR_BTParam< float > m_fPriorityLevel = new SCR_BTParam<float>(SCR_AIActionTask.PRIORITY_LEVEL_PORT)
 
EAIActionFailReason m_eFailReason
 

Static Protected Attributes

static const float HIGH_PRIORITY_INITIAL_DURATION_S = 6.0
 

Additional Inherited Members

- Public Attributes inherited from SCR_AIBehaviorBase
SCR_AIUtilityComponent m_Utility
 
float m_fThreat = 0.0
 
bool m_bAllowLook = true
 
bool m_bResetLook = false
 
bool m_bUseCombatMove = false
 
- Public Attributes inherited from SCR_AIActionBase
bool m_bIsInterruptable = true
 
ResourceName m_sBehaviorTree
 
ref ScriptInvoker m_OnActionCompleted = new ScriptInvoker()
 
ref ScriptInvoker m_OnActionFailed = new ScriptInvoker()
 
ref array< SCR_BTParamBasem_aParams = {}
 
- Static Public Attributes inherited from SCR_AIActionBase
const static float PRIORITY_LEVEL_NORMAL = 0
 
const static float PRIORITY_LEVEL_PLAYER = 1000
 
const static float PRIORITY_LEVEL_GAMEMASTER = 2000
 
const static float PRIORITY_BEHAVIOR_RETREAT_MELEE = 190 + PRIORITY_LEVEL_PLAYER
 
const static float PRIORITY_BEHAVIOR_AVOID_CHARACTER = 180 + PRIORITY_LEVEL_PLAYER
 
const static float PRIORITY_BEHAVIOR_GET_OUT_VEHICLE_HIGH_PRIORITY = 162 + PRIORITY_LEVEL_PLAYER
 
const static float PRIORITY_BEHAVIOR_MOVE_FROM_DANGER = 160 + PRIORITY_LEVEL_PLAYER
 
const static float PRIORITY_BEHAVIOR_ATTACK_HIGH_PRIORITY = 120 + PRIORITY_LEVEL_PLAYER
 
const static float PRIORITY_BEHAVIOR_HEAL_HIGH_PRIORITY = 115 + PRIORITY_LEVEL_PLAYER
 
const static float PRIORITY_BEHAVIOR_OBSERVE_UNKNOWN_FIRE_HIGH_PRIORITY = 113 + PRIORITY_LEVEL_PLAYER
 
const static float PRIORITY_BEHAVIOR_GET_IN_VEHICLE = 130
 
const static float PRIORITY_BEHAVIOR_GET_OUT_VEHICLE = 125
 
const static float PRIORITY_BEHAVIOR_PICKUP_INVENTORY_ITEMS = 118
 
const static float PRIORITY_BEHAVIOR_STATIC_ARTILLERY = 114
 
const static float PRIORITY_BEHAVIOR_FIRE_ILLUM_FLARE = 113
 
const static float PRIORITY_BEHAVIOR_THROW_GRENADE = 112
 
const static float PRIORITY_BEHAVIOR_MEDIC_HEAL = 111
 
const static float PRIORITY_BEHAVIOR_RETREAT_FROM_TARGET = 110
 
const static float PRIORITY_BEHAVIOR_PROVIDE_AMMO = 100
 
const static float PRIORITY_BEHAVIOR_ATTACK_SELECTED = 90
 
const static float PRIORITY_BEHAVIOR_HEAL_WAIT = 83
 
const static float PRIORITY_BEHAVIOR_MOVE_FROM_VEHICLE_HORN = 72
 
const static float PRIORITY_BEHAVIOR_ATTACK_NOT_SELECTED = 70
 
const static float PRIORITY_BEHAVIOR_OBSERVE_THREATS_HIGH_PRIORITY = 69
 
const static float PRIORITY_BEHAVIOR_MOVE_FROM_UNKNOWN_FIRE = 68
 
const static float PRIORITY_BEHAVIOR_OBSERVE_UNKNOWN_FIRE = 66
 
const static float PRIORITY_BEHAVIOR_HEAL = 65
 
const static float PRIORITY_BEHAVIOR_MOVE_AND_INVESTIGATE = 64
 
const static float PRIORITY_BEHAVIOR_SUPPRESS = 63
 
const static float PRIORITY_BEHAVIOR_DEFEND = 61
 
const static float PRIORITY_BEHAVIOR_FIND_FIRE_POSITION = 60
 
const static float PRIORITY_BEHAVIOR_OBSERVE_LOW_PRIORITY = 59
 
const static float PRIORITY_BEHAVIOR_MOVE_INDIVIDUALLY = 58
 
const static float PRIORITY_BEHAVIOR_OPEN_NAVLINK_DOOR = 54
 
const static float PRIORITY_BEHAVIOR_PERFORM_ACTION = 30
 
const static float PRIORITY_BEHAVIOR_MOVE = 30
 
const static float PRIORITY_BEHAVIOR_MOVE_IN_FORMATION = 30
 
const static float PRIORITY_BEHAVIOR_ATTACK_DISREGARD_THREATS = 20
 
const static float PRIORITY_BEHAVIOR_WAIT = 10
 
const static float PRIORITY_BEHAVIOR_OBSERVE_THREATS_LOW_PRIORITY = 4
 
const static float PRIORITY_BEHAVIOR_MOVE_IN_FORMATION_LOW_PRIORITY = 3
 
const static float PRIORITY_BEHAVIOR_IDLE_DRIVER = 2
 
const static float PRIORITY_BEHAVIOR_ANIMATE = 1.5
 
const static float PRIORITY_BEHAVIOR_IDLE = 1
 
const static float PRIORITY_BEHAVIOR_DISMOUNT_TURRET = 300
 
const static float PRIORITY_BEHAVIOR_DISMOUNT_TURRET_INVESTIGATE = 21
 
const static float PRIORITY_BEHAVIOR_DISMOUNT_TURRET_GET_IN = 20
 
const static float PRIORITY_ACTIVITY_GET_IN = 130
 
const static float PRIORITY_ACTIVITY_FOLLOW = 130
 
const static float PRIORITY_ACTIVITY_RESUPPLY = 100
 
const static float PRIORITY_ACTIVITY_COMBAT_WITH_VEHICLES = 85
 
const static float PRIORITY_ACTIVITY_HEAL = 80
 
const static float PRIORITY_ACTIVITY_ARTILLERY_SUPPORT = 75
 
const static float PRIORITY_ACTIVITY_ATTACK_CLUSTER = 70
 
const static float PRIORITY_ACTIVITY_SEEK_AND_DESTROY = 60
 
const static float PRIORITY_ACTIVITY_INVESTIGATE_CLUSTER = 55
 
const static float PRIORITY_ACTIVITY_DEFEND_FROM_CLUSTER = 55
 
const static float PRIORITY_ACTIVITY_MOVE = 50
 
const static float PRIORITY_ACTIVITY_PERFORM_ACTION = 50
 
const static float PRIORITY_ACTIVITY_DEFEND = 50
 
const static float PRIORITY_ACTIVITY_GET_OUT = 50
 
const static float PRIORITY_ACTIVITY_SUPPRESS = 40
 
const static float PRIORITY_ACTIVITY_ANIMATE = 10
 

Detailed Description

Behavior for looking at sectors from the threat system.

Constructor & Destructor Documentation

◆ SCR_AIObserveThreatSystemBehavior()

void SCR_AIObserveThreatSystemBehavior.SCR_AIObserveThreatSystemBehavior ( SCR_AIUtilityComponent utility,
SCR_AIActivityBase groupActivity )

◆ ~SCR_AIObserveThreatSystemBehavior()

void SCR_AIObserveThreatSystemBehavior.~SCR_AIObserveThreatSystemBehavior ( )

Member Function Documentation

◆ CalculateObserveDuration()

float SCR_AIObserveThreatSystemBehavior.CalculateObserveDuration ( int sectorId)
protected

How much should we look at this? More range -> bigger duration, more danger -> bigger duration.

◆ CustomEvaluate()

override float SCR_AIObserveThreatSystemBehavior.CustomEvaluate ( )

Implements AIActionBase.

◆ GetCause()

override int SCR_AIObserveThreatSystemBehavior.GetCause ( )

Returns cause value, used for SCR_AISetting.

The return value should tell for which reason this action is being executed, to decide if certain SCR_AISetting can be applied when this action runs, or not.

Implements SCR_AIActionBase.

◆ IsInHighPriorityState()

bool SCR_AIObserveThreatSystemBehavior.IsInHighPriorityState ( )
protected

◆ OnActionDeselected()

override void SCR_AIObserveThreatSystemBehavior.OnActionDeselected ( )

Implements SCR_AIActionBase.

◆ OnActionExecuted()

override void SCR_AIObserveThreatSystemBehavior.OnActionExecuted ( )

Implements SCR_AIActionBase.

◆ OnActionSelected()

override void SCR_AIObserveThreatSystemBehavior.OnActionSelected ( )

Implements SCR_AIBehaviorBase.

◆ OnDamageTaken()

void SCR_AIObserveThreatSystemBehavior.OnDamageTaken ( SCR_AISectorThreatFilter ts,
int sectorId )

◆ OnMajorSectorChanged()

void SCR_AIObserveThreatSystemBehavior.OnMajorSectorChanged ( SCR_AISectorThreatFilter ts,
int newSectorId,
int oldSectorId,
float dangerValue )

◆ OnMovementCompleted()

void SCR_AIObserveThreatSystemBehavior.OnMovementCompleted ( bool inCover)

Called by combat movement logic.

◆ OnThreatSectorEscalation()

void SCR_AIObserveThreatSystemBehavior.OnThreatSectorEscalation ( SCR_AISectorThreatFilter ts,
int sectorId,
float dangerValue )

◆ Reset()

void SCR_AIObserveThreatSystemBehavior.Reset ( )
protected

Resets whole behavior to default state.

◆ StopHighPriorityState()

void SCR_AIObserveThreatSystemBehavior.StopHighPriorityState ( )
protected

◆ SwitchToHighPriorityState()

void SCR_AIObserveThreatSystemBehavior.SwitchToHighPriorityState ( float duration_s)
protected

Member Data Documentation

◆ HIGH_PRIORITY_INITIAL_DURATION_S

const float SCR_AIObserveThreatSystemBehavior.HIGH_PRIORITY_INITIAL_DURATION_S = 6.0
staticprotected

◆ m_bBehaviorActive

bool SCR_AIObserveThreatSystemBehavior.m_bBehaviorActive
protected

◆ m_CombatMoveLogic

ref SCR_AICombatMoveLogic_HideFromThreatSystem SCR_AIObserveThreatSystemBehavior.m_CombatMoveLogic
protected

◆ m_eCurrentSectorFlags

SCR_EAIThreatSectorFlags SCR_AIObserveThreatSystemBehavior.m_eCurrentSectorFlags
protected

◆ m_fCurrentSectorDanger

float SCR_AIObserveThreatSystemBehavior.m_fCurrentSectorDanger
protected

◆ m_fHighPriorityDuration_s

float SCR_AIObserveThreatSystemBehavior.m_fHighPriorityDuration_s
protected

◆ m_iCurrentSector

int SCR_AIObserveThreatSystemBehavior.m_iCurrentSector
protected

◆ m_iCurrentSectorObserveCounter

int SCR_AIObserveThreatSystemBehavior.m_iCurrentSectorObserveCounter
protected

◆ m_TimestampStartHighPriorityState

WorldTimestamp SCR_AIObserveThreatSystemBehavior.m_TimestampStartHighPriorityState
protected

The documentation for this interface was generated from the following file: