Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_AIGetCombatMovementParameters.c
Go to the documentation of this file.
1
class
SCR_AIGetCombatMovementParameters
:
AITaskScripted
2
{
3
protected
static
const
string
PORT_STANCE
=
"Stance"
;
4
protected
static
const
string
PORT_MOVEMENT_TYPE
=
"MovementType"
;
5
6
protected
SCR_AIUtilityComponent
m_Utility
;
7
8
protected
static
ref
TStringArray
s_aVarsOut
= {
9
PORT_STANCE
,
10
PORT_MOVEMENT_TYPE
11
};
12
override
TStringArray
GetVariablesOut
()
13
{
14
return
s_aVarsOut
;
15
}
16
17
static
override
bool
VisibleInPalette
()
18
{
19
return
true
;
20
}
21
22
static
override
string
GetOnHoverDescription
()
23
{
24
return
"Returns stance and movement type while advancing towards enemy"
;
25
}
26
27
override
void
OnInit
(AIAgent owner)
28
{
29
m_Utility
= SCR_AIUtilityComponent.Cast(owner.FindComponent(SCR_AIUtilityComponent));
30
if
(!
m_Utility
)
31
NodeError
(
this
, owner,
"Utility component not found"
);
32
}
33
34
override
ENodeResult
EOnTaskSimulate
(AIAgent owner,
float
dt)
35
{
36
SCR_AIUtilityComponent utility = SCR_AIUtilityComponent.Cast(owner.FindComponent(SCR_AIUtilityComponent));
37
38
if
(!
m_Utility
)
39
return
ENodeResult
.FAIL;
40
41
EAIThreatState threat =
m_Utility
.m_ThreatSystem.GetState();
42
ECharacterStance
stance =
ECharacterStance
.STAND;
43
EMovementType
moveType =
EMovementType
.RUN;
44
45
switch
(threat)
46
{
47
case
EAIThreatState.VIGILANT:
48
case
EAIThreatState.SAFE:
49
{
50
stance =
ECharacterStance
.STAND;
51
moveType =
EMovementType
.RUN;
// SPRINT Temporary disabled because sometimes soldiers don't sprint but walk instead
52
break
;
53
}
54
55
case
EAIThreatState.ALERTED:
56
case
EAIThreatState.THREATENED:
57
{
58
stance =
ECharacterStance
.CROUCH;
59
moveType =
EMovementType
.RUN;
60
break
;
61
}
62
}
63
64
SetVariableOut
(
PORT_STANCE
, stance);
65
SetVariableOut
(
PORT_MOVEMENT_TYPE
, moveType);
66
return
ENodeResult
.SUCCESS;
67
}
68
};
NodeError
ENodeResult NodeError(Node node, AIAgent owner, string msg)
Error call to be used in scripted BT nodes.
Definition
NodeError.c:3
AITaskScripted
Definition
AITaskScripted.c:13
Node::SetVariableOut
proto void SetVariableOut(string name, void val)
SCR_AIGetCombatMovementParameters
Definition
SCR_AIGetCombatMovementParameters.c:2
SCR_AIGetCombatMovementParameters::s_aVarsOut
static ref TStringArray s_aVarsOut
Definition
SCR_AIGetCombatMovementParameters.c:8
SCR_AIGetCombatMovementParameters::GetOnHoverDescription
static override string GetOnHoverDescription()
Definition
SCR_AIGetCombatMovementParameters.c:22
SCR_AIGetCombatMovementParameters::VisibleInPalette
static override bool VisibleInPalette()
Definition
SCR_AIGetCombatMovementParameters.c:17
SCR_AIGetCombatMovementParameters::GetVariablesOut
override TStringArray GetVariablesOut()
Definition
SCR_AIGetCombatMovementParameters.c:12
SCR_AIGetCombatMovementParameters::PORT_MOVEMENT_TYPE
static const string PORT_MOVEMENT_TYPE
Definition
SCR_AIGetCombatMovementParameters.c:4
SCR_AIGetCombatMovementParameters::EOnTaskSimulate
override ENodeResult EOnTaskSimulate(AIAgent owner, float dt)
Definition
SCR_AIGetCombatMovementParameters.c:34
SCR_AIGetCombatMovementParameters::PORT_STANCE
static const string PORT_STANCE
Definition
SCR_AIGetCombatMovementParameters.c:3
SCR_AIGetCombatMovementParameters::m_Utility
SCR_AIUtilityComponent m_Utility
Definition
SCR_AIGetCombatMovementParameters.c:6
SCR_AIGetCombatMovementParameters::OnInit
override void OnInit(AIAgent owner)
Definition
SCR_AIGetCombatMovementParameters.c:27
ENodeResult
ENodeResult
Definition
ENodeResult.c:13
ECharacterStance
ECharacterStance
Definition
ECharacterStance.c:13
EMovementType
EMovementType
Definition
EMovementType.c:13
TStringArray
array< string > TStringArray
Definition
Types.c:385
scripts
Game
AI
ScriptedNodes
Soldier
SCR_AIGetCombatMovementParameters.c
Generated by
1.17.0