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

Base class for combat movement. More...

Inheritance diagram for SCR_AICombatMoveLogicBase:
SCR_AICombatMoveLogic_Attack SCR_AICombatMoveLogic_Suppressive

Static Public Member Functions

static override bool VisibleInPalette ()
 

Protected Member Functions

bool OnUpdate (AIAgent owner, float dt)
 
vector ResolveRequestTargetPos ()
 
bool ResolveFailMoveIfNoCover ()
 
float ResolveStoppedWaitTime (bool inCover, EAIThreatState threat, EWeaponType weaponType)
 
vector GetTargetPosition ()
 
float GetTargetDistance ()
 
bool MoveToNextPosCondition ()
 
vector GetAvoidStraightPathDir ()
 
override void OnInit (AIAgent owner)
 
override ENodeResult EOnTaskSimulate (AIAgent owner, float dt)
 
bool FFAvoidanceCondition ()
 
bool FFAvoidanceNewRequestCondition ()
 
void PushRequestFFAvoidance ()
 
void PushRequestMove ()
 
void ResolveMoveRequestMovePosAndDir (vector targetPos, out vector outMovePos, out vector outAvoidStraightPathDir, out SCR_EAICombatMoveDirection outDirection, out float outCoverSearchSectorHalfAngleRad)
 
bool SuppressedInCoverCondition ()
 
void SuppressedInCoverLogic ()
 
void PushRequestChangeStanceInCover (bool exposed, SCR_EAICombatMoveReason reason, float waitTime)
 
bool CurrentCoverUselessCondition ()
 
void PushRequestLeaveUselessCover ()
 
bool MoveFromTargetCondition ()
 
bool MoveFromTargetNewRequestCondition ()
 
void PushRequestMoveFromTarget ()
 
bool IsFirstExecution ()
 

Static Protected Member Functions

static void OnMovementStarted (SCR_AIUtilityComponent utility, SCR_AICombatMoveRequest_Move rq, vector pos, bool destinationIsCover)
 
static void OnMovementCompleted (SCR_AIUtilityComponent utility, SCR_AICombatMoveRequestBase rq)
 
static ECharacterStance ResolveStanceOutsideCover (bool closeRange, EAIThreatState threat)
 
static float ResolveOptimalDistance (float weaponMinDist)
 
static bool IsAimingAndMovingAllowedForWeapon (EWeaponType weaponType)
 

Protected Attributes

SCR_AICombatMoveState m_State
 
SCR_AIUtilityComponent m_Utility
 
SCR_AICombatComponent m_CombatComp
 
IEntity m_MyEntity
 
CharacterControllerComponent m_CharacterController
 
EAIThreatState m_eThreatState
 
ECharacterStance m_eStance
 
EWeaponType m_eWeaponType
 
float m_fTargetDist
 
float m_fWeaponMinDist
 
bool m_bCloseRangeCombat
 
bool m_bVeryLongRangeCombat
 
float m_fNextUpdate_ms
 
float m_fUpdateInterval_ms
 

Static Protected Attributes

const float COVER_QUERY_SECTOR_ANGLE_RAD = 0.3 * Math.PI
 

Detailed Description

Base class for combat movement.

This is the main piece of logic for combat movement during combat behavior and suppression behavior. But in this class the specific type of target is not yet used, and there are virtual methods which must be overridden in derived classes.

Member Function Documentation

◆ CurrentCoverUselessCondition()

bool SCR_AICombatMoveLogicBase.CurrentCoverUselessCondition ( )
protected

◆ EOnTaskSimulate()

override ENodeResult SCR_AICombatMoveLogicBase.EOnTaskSimulate ( AIAgent owner,
float dt )
protected

◆ FFAvoidanceCondition()

bool SCR_AICombatMoveLogicBase.FFAvoidanceCondition ( )
protected

◆ FFAvoidanceNewRequestCondition()

bool SCR_AICombatMoveLogicBase.FFAvoidanceNewRequestCondition ( )
protected

◆ GetAvoidStraightPathDir()

vector SCR_AICombatMoveLogicBase.GetAvoidStraightPathDir ( )
protected

◆ GetTargetDistance()

float SCR_AICombatMoveLogicBase.GetTargetDistance ( )
protected

◆ GetTargetPosition()

vector SCR_AICombatMoveLogicBase.GetTargetPosition ( )
protected

◆ IsAimingAndMovingAllowedForWeapon()

static bool SCR_AICombatMoveLogicBase.IsAimingAndMovingAllowedForWeapon ( EWeaponType weaponType)
staticprotected

◆ IsFirstExecution()

bool SCR_AICombatMoveLogicBase.IsFirstExecution ( )
protected

◆ MoveFromTargetCondition()

bool SCR_AICombatMoveLogicBase.MoveFromTargetCondition ( )
protected

◆ MoveFromTargetNewRequestCondition()

bool SCR_AICombatMoveLogicBase.MoveFromTargetNewRequestCondition ( )
protected

◆ MoveToNextPosCondition()

bool SCR_AICombatMoveLogicBase.MoveToNextPosCondition ( )
protected

◆ OnInit()

override void SCR_AICombatMoveLogicBase.OnInit ( AIAgent owner)
protected

◆ OnMovementCompleted()

static void SCR_AICombatMoveLogicBase.OnMovementCompleted ( SCR_AIUtilityComponent utility,
SCR_AICombatMoveRequestBase rq )
staticprotected

◆ OnMovementStarted()

static void SCR_AICombatMoveLogicBase.OnMovementStarted ( SCR_AIUtilityComponent utility,
SCR_AICombatMoveRequest_Move rq,
vector pos,
bool destinationIsCover )
staticprotected

◆ OnUpdate()

bool SCR_AICombatMoveLogicBase.OnUpdate ( AIAgent owner,
float dt )
protected

◆ PushRequestChangeStanceInCover()

void SCR_AICombatMoveLogicBase.PushRequestChangeStanceInCover ( bool exposed,
SCR_EAICombatMoveReason reason,
float waitTime )
protected

◆ PushRequestFFAvoidance()

void SCR_AICombatMoveLogicBase.PushRequestFFAvoidance ( )
protected

◆ PushRequestLeaveUselessCover()

void SCR_AICombatMoveLogicBase.PushRequestLeaveUselessCover ( )
protected

◆ PushRequestMove()

void SCR_AICombatMoveLogicBase.PushRequestMove ( )
protected

◆ PushRequestMoveFromTarget()

void SCR_AICombatMoveLogicBase.PushRequestMoveFromTarget ( )
protected

◆ ResolveFailMoveIfNoCover()

bool SCR_AICombatMoveLogicBase.ResolveFailMoveIfNoCover ( )
protected

◆ ResolveMoveRequestMovePosAndDir()

void SCR_AICombatMoveLogicBase.ResolveMoveRequestMovePosAndDir ( vector targetPos,
out vector outMovePos,
out vector outAvoidStraightPathDir,
out SCR_EAICombatMoveDirection outDirection,
out float outCoverSearchSectorHalfAngleRad )
protected

◆ ResolveOptimalDistance()

static float SCR_AICombatMoveLogicBase.ResolveOptimalDistance ( float weaponMinDist)
staticprotected

◆ ResolveRequestTargetPos()

vector SCR_AICombatMoveLogicBase.ResolveRequestTargetPos ( )
protected

◆ ResolveStanceOutsideCover()

static ECharacterStance SCR_AICombatMoveLogicBase.ResolveStanceOutsideCover ( bool closeRange,
EAIThreatState threat )
staticprotected

◆ ResolveStoppedWaitTime()

float SCR_AICombatMoveLogicBase.ResolveStoppedWaitTime ( bool inCover,
EAIThreatState threat,
EWeaponType weaponType )
protected

◆ SuppressedInCoverCondition()

bool SCR_AICombatMoveLogicBase.SuppressedInCoverCondition ( )
protected

◆ SuppressedInCoverLogic()

void SCR_AICombatMoveLogicBase.SuppressedInCoverLogic ( )
protected

◆ VisibleInPalette()

static override bool SCR_AICombatMoveLogicBase.VisibleInPalette ( )
static

Member Data Documentation

◆ COVER_QUERY_SECTOR_ANGLE_RAD

const float SCR_AICombatMoveLogicBase.COVER_QUERY_SECTOR_ANGLE_RAD = 0.3 * Math.PI
staticprotected

◆ m_bCloseRangeCombat

bool SCR_AICombatMoveLogicBase.m_bCloseRangeCombat
protected

◆ m_bVeryLongRangeCombat

bool SCR_AICombatMoveLogicBase.m_bVeryLongRangeCombat
protected

◆ m_CharacterController

CharacterControllerComponent SCR_AICombatMoveLogicBase.m_CharacterController
protected

◆ m_CombatComp

SCR_AICombatComponent SCR_AICombatMoveLogicBase.m_CombatComp
protected

◆ m_eStance

ECharacterStance SCR_AICombatMoveLogicBase.m_eStance
protected

◆ m_eThreatState

EAIThreatState SCR_AICombatMoveLogicBase.m_eThreatState
protected

◆ m_eWeaponType

EWeaponType SCR_AICombatMoveLogicBase.m_eWeaponType
protected

◆ m_fNextUpdate_ms

float SCR_AICombatMoveLogicBase.m_fNextUpdate_ms
protected

◆ m_fTargetDist

float SCR_AICombatMoveLogicBase.m_fTargetDist
protected

◆ m_fUpdateInterval_ms

float SCR_AICombatMoveLogicBase.m_fUpdateInterval_ms
protected

◆ m_fWeaponMinDist

float SCR_AICombatMoveLogicBase.m_fWeaponMinDist
protected

◆ m_MyEntity

IEntity SCR_AICombatMoveLogicBase.m_MyEntity
protected

◆ m_State

SCR_AICombatMoveState SCR_AICombatMoveLogicBase.m_State
protected

◆ m_Utility

SCR_AIUtilityComponent SCR_AICombatMoveLogicBase.m_Utility
protected

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