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_CreateAIExtraMoveParams_CombatMove.c
Go to the documentation of this file.
1
// Special node which creates extra move parameters for SCR_AICombatMoveRequest_Move
2
class
SCR_CreateAIExtraMoveParams_CombatMove
:
AITaskScripted
3
{
4
// Inputs
5
protected
static
const
string
PORT_REQUEST
=
"Request"
;
6
protected
static
const
string
PORT_MOVING_TO_COVER
=
"InMovingToCover"
;
7
8
// Outputs
9
protected
static
const
string
PORT_PARAMS
=
"OutParams"
;
10
11
protected
ref
AIExtraMoveParams
m_Params
;
12
13
protected
static
const
float
STRAIGHT_PATH_COST_MODIFIER
= 4.5;
// Modifier when we want to find a flanking path
14
15
//----------------------------------------------------------------------------------------
16
override
ENodeResult
EOnTaskSimulate
(AIAgent owner,
float
dt)
17
{
18
SCR_AICombatMoveRequestBase
rqBase;
19
GetVariableIn
(
PORT_REQUEST
, rqBase);
20
SCR_AICombatMoveRequest_Move
rq =
SCR_AICombatMoveRequest_Move
.Cast(rqBase);
21
22
if
(!rq)
23
return
ENodeResult
.FAIL;
24
25
bool
movingToCover;
26
GetVariableIn
(
PORT_MOVING_TO_COVER
, movingToCover);
27
28
if
(movingToCover || rq.m_vAvoidStraightPathDir ==
vector
.Zero)
29
{
30
// No flanking requested, or we are moving to cover point
31
// There is no need to use extra move parameters
32
AIExtraMoveParams
nullParams = null;
33
SetVariableOut
(
PORT_PARAMS
, nullParams);
// Otherwise it complains about variable type mismatch
34
return
ENodeResult
.SUCCESS;
35
}
36
37
// Initialize extra parameters
38
if
(!
m_Params
)
39
m_Params
=
new
AIExtraMoveParams
();
40
m_Params
.Reset();
41
42
m_Params
.SetStraightPathCostModifier(
STRAIGHT_PATH_COST_MODIFIER
, rq.m_vAvoidStraightPathDir);
43
44
SetVariableOut
(
PORT_PARAMS
,
m_Params
);
45
46
return
ENodeResult
.SUCCESS;
47
};
48
49
//----------------------------------------------------------------------------------------
50
static
override
bool
VisibleInPalette
() {
return
true
; }
51
52
protected
static
ref
TStringArray
s_aVarsOut
= {
PORT_PARAMS
};
53
override
TStringArray
GetVariablesOut
() {
return
s_aVarsOut
; }
54
55
protected
static
ref
TStringArray
s_aVarsIn
= {
PORT_REQUEST
,
PORT_MOVING_TO_COVER
};
56
override
TStringArray
GetVariablesIn
() {
return
s_aVarsIn
; }
57
}
AIExtraMoveParams
Definition
AIExtraMoveParams.c:13
AITaskScripted
Definition
AITaskScripted.c:13
Node::SetVariableOut
proto void SetVariableOut(string name, void val)
Node::GetVariableIn
proto bool GetVariableIn(string name, out void val)
SCR_AICombatMoveRequest_Move
Definition
SCR_AICombatMoveRequest.c:88
SCR_AICombatMoveRequestBase
Definition
SCR_AICombatMoveRequest.c:46
SCR_CreateAIExtraMoveParams_CombatMove
Definition
SCR_CreateAIExtraMoveParams_CombatMove.c:3
SCR_CreateAIExtraMoveParams_CombatMove::m_Params
ref AIExtraMoveParams m_Params
Definition
SCR_CreateAIExtraMoveParams_CombatMove.c:11
SCR_CreateAIExtraMoveParams_CombatMove::STRAIGHT_PATH_COST_MODIFIER
static const float STRAIGHT_PATH_COST_MODIFIER
Definition
SCR_CreateAIExtraMoveParams_CombatMove.c:13
SCR_CreateAIExtraMoveParams_CombatMove::PORT_MOVING_TO_COVER
static const string PORT_MOVING_TO_COVER
Definition
SCR_CreateAIExtraMoveParams_CombatMove.c:6
SCR_CreateAIExtraMoveParams_CombatMove::PORT_REQUEST
static const string PORT_REQUEST
Definition
SCR_CreateAIExtraMoveParams_CombatMove.c:5
SCR_CreateAIExtraMoveParams_CombatMove::EOnTaskSimulate
override ENodeResult EOnTaskSimulate(AIAgent owner, float dt)
Definition
SCR_CreateAIExtraMoveParams_CombatMove.c:16
SCR_CreateAIExtraMoveParams_CombatMove::VisibleInPalette
static override bool VisibleInPalette()
Definition
SCR_CreateAIExtraMoveParams_CombatMove.c:50
SCR_CreateAIExtraMoveParams_CombatMove::GetVariablesIn
override TStringArray GetVariablesIn()
Definition
SCR_CreateAIExtraMoveParams_CombatMove.c:56
SCR_CreateAIExtraMoveParams_CombatMove::s_aVarsOut
static ref TStringArray s_aVarsOut
Definition
SCR_CreateAIExtraMoveParams_CombatMove.c:52
SCR_CreateAIExtraMoveParams_CombatMove::PORT_PARAMS
static const string PORT_PARAMS
Definition
SCR_CreateAIExtraMoveParams_CombatMove.c:9
SCR_CreateAIExtraMoveParams_CombatMove::GetVariablesOut
override TStringArray GetVariablesOut()
Definition
SCR_CreateAIExtraMoveParams_CombatMove.c:53
SCR_CreateAIExtraMoveParams_CombatMove::s_aVarsIn
static ref TStringArray s_aVarsIn
Definition
SCR_CreateAIExtraMoveParams_CombatMove.c:55
vector
Definition
vector.c:13
ENodeResult
ENodeResult
Definition
ENodeResult.c:13
TStringArray
array< string > TStringArray
Definition
Types.c:385
scripts
Game
AI
Movement
SCR_CreateAIExtraMoveParams_CombatMove.c
Generated by
1.17.0