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_AIProvideAmmoBehavior.c
Go to the documentation of this file.
1
4
class
SCR_AIProvideAmmoBehavior
:
SCR_AIBehaviorBase
5
{
6
protected
float
MOVE_COMPLETION_RADIUS
= 10;
7
8
static
const
string
AMMO_CONSUMER_ENTITY_PORT
=
"AmmoConsumerEntity"
;
9
static
const
string
MAGAZINE_WELL_TYPE_PORT
=
"MagazineWellType"
;
10
11
ref SCR_BTParam<IEntity>
m_AmmoConsumer
=
new
SCR_BTParam<IEntity>(
AMMO_CONSUMER_ENTITY_PORT
);
12
ref SCR_BTParam<typename>
m_MagazineWellType
=
new
SCR_BTParam<typename>(
MAGAZINE_WELL_TYPE_PORT
);
13
14
ref
SCR_AIMoveIndividuallyBehavior
m_MoveBehavior
;
15
16
//------------------------------------------------------------------------------------------------------------------------------------
17
void
SCR_AIProvideAmmoBehavior
(SCR_AIUtilityComponent utility,
SCR_AIActivityBase
groupActivity,
18
IEntity
ammoConsumer,
typename
magazineWellType,
float
priorityLevel =
PRIORITY_LEVEL_NORMAL
)
19
{
20
SetPriority(SCR_AIActionBase.PRIORITY_BEHAVIOR_PROVIDE_AMMO);
21
m_fPriorityLevel
.m_Value = priorityLevel;
22
m_sBehaviorTree
=
"{ADA6E7C5BC3C8C8D}AI/BehaviorTrees/Chimera/Soldier/ProvideAmmo.bt"
;
23
24
m_AmmoConsumer
.Init(
this
, ammoConsumer);
25
m_MagazineWellType
.Init(
this
, magazineWellType);
26
27
if
(!utility)
28
return
;
29
30
float
movePriority =
GetPriority
() + 0.1;
31
m_MoveBehavior
=
new
SCR_AIMoveIndividuallyBehavior
(utility, groupActivity,
vector
.Zero, priority : movePriority, priorityLevel: priorityLevel, ent: ammoConsumer, radius: 30.0);
32
utility.AddAction(
m_MoveBehavior
);
33
}
34
35
//---------------------------------------------------------------------------------------------------------------------------------
36
override
int
GetCause
()
37
{
38
return
SCR_EAIBehaviorCause
.GROUP_GOAL;
39
}
40
41
//------------------------------------------------------------------------------------------------------------------------------------
42
override
float
CustomEvaluate
()
43
{
44
// Fail is our ammo consumer is not alive any more
45
if
(!SCR_AIDamageHandling.IsAlive(
m_AmmoConsumer
.m_Value))
46
{
47
Fail
();
48
if
(
m_MoveBehavior
)
49
m_MoveBehavior
.Fail();
50
return
0;
51
}
52
53
return
GetPriority
();
54
}
55
56
//------------------------------------------------------------------------------------------------------------------------------------
57
override
void
OnActionCompleted
()
58
{
59
super.OnActionCompleted();
60
if
(
m_MoveBehavior
)
61
m_MoveBehavior
.Complete();
62
}
63
64
//------------------------------------------------------------------------------------------------------------------------------------
65
override
void
OnActionFailed
()
66
{
67
super.OnActionFailed();
68
if
(
m_MoveBehavior
)
69
m_MoveBehavior
.Fail();
70
}
71
}
72
73
class
SCR_AIGetProvideAmmoBehaviorParameters :
SCR_AIGetActionParameters
74
{
75
static
ref
TStringArray
s_aVarsOut = (
new
SCR_AIProvideAmmoBehavior
(null, null, null,
BaseMagazineWell
)).
GetPortNames
();
76
override
TStringArray
GetVariablesOut
() {
return
s_aVarsOut; }
77
78
static
override
bool
VisibleInPalette
() {
return
true
; }
79
};
m_fPriorityLevel
ref SCR_BTParam< float > m_fPriorityLevel
Definition
SCR_AIAction.c:87
PRIORITY_LEVEL_NORMAL
enum EAIActionFailReason PRIORITY_LEVEL_NORMAL
GetPortNames
TStringArray GetPortNames()
Definition
SCR_AIAction.c:238
m_sBehaviorTree
ResourceName m_sBehaviorTree
Definition
SCR_AIAction.c:89
Fail
void Fail(bool doNotCompleteWaypoint)
Definition
SCR_AIActivity.c:75
SCR_AIActivityBase
void SCR_AIActivityBase(SCR_AIGroupUtilityComponent utility, AIWaypoint relatedWaypoint)
Definition
SCR_AIActivity.c:44
SCR_AIBehaviorBase
void SCR_AIBehaviorBase(SCR_AIUtilityComponent utility, SCR_AIActivityBase groupActivity)
Definition
SCR_AIBehavior.c:23
SCR_EAIBehaviorCause
SCR_EAIBehaviorCause
Definition
SCR_AIBehavior.c:2
GetVariablesOut
override TStringArray GetVariablesOut()
Definition
SCR_AIFindFirePositionBehavior.c:133
BaseMagazineWell
Definition
BaseMagazineWell.c:13
IEntity
Definition
IEntity.c:13
SCR_AIGetActionParameters
Definition
SCR_AIGetActionParameters.c:23
SCR_AIGetActionParameters::VisibleInPalette
static override bool VisibleInPalette()
Definition
SCR_AIGetActionParameters.c:38
SCR_AIMoveIndividuallyBehavior
Definition
SCR_AIMoveBehavior.c:52
SCR_AIProvideAmmoBehavior
Definition
SCR_AIProvideAmmoBehavior.c:5
SCR_AIProvideAmmoBehavior::GetCause
override int GetCause()
Definition
SCR_AIProvideAmmoBehavior.c:36
SCR_AIProvideAmmoBehavior::OnActionFailed
override void OnActionFailed()
Definition
SCR_AIProvideAmmoBehavior.c:65
SCR_AIProvideAmmoBehavior::m_MoveBehavior
ref SCR_AIMoveIndividuallyBehavior m_MoveBehavior
Definition
SCR_AIProvideAmmoBehavior.c:14
SCR_AIProvideAmmoBehavior::OnActionCompleted
override void OnActionCompleted()
Definition
SCR_AIProvideAmmoBehavior.c:57
SCR_AIProvideAmmoBehavior::m_AmmoConsumer
ref SCR_BTParam< IEntity > m_AmmoConsumer
Definition
SCR_AIProvideAmmoBehavior.c:11
SCR_AIProvideAmmoBehavior::AMMO_CONSUMER_ENTITY_PORT
static const string AMMO_CONSUMER_ENTITY_PORT
Definition
SCR_AIProvideAmmoBehavior.c:8
SCR_AIProvideAmmoBehavior::MAGAZINE_WELL_TYPE_PORT
static const string MAGAZINE_WELL_TYPE_PORT
Definition
SCR_AIProvideAmmoBehavior.c:9
SCR_AIProvideAmmoBehavior::CustomEvaluate
override float CustomEvaluate()
Definition
SCR_AIProvideAmmoBehavior.c:42
SCR_AIProvideAmmoBehavior::SCR_AIProvideAmmoBehavior
void SCR_AIProvideAmmoBehavior(SCR_AIUtilityComponent utility, SCR_AIActivityBase groupActivity, IEntity ammoConsumer, typename magazineWellType, float priorityLevel=PRIORITY_LEVEL_NORMAL)
Definition
SCR_AIProvideAmmoBehavior.c:17
SCR_AIProvideAmmoBehavior::MOVE_COMPLETION_RADIUS
float MOVE_COMPLETION_RADIUS
Definition
SCR_AIProvideAmmoBehavior.c:6
SCR_AIProvideAmmoBehavior::m_MagazineWellType
ref SCR_BTParam< typename > m_MagazineWellType
Definition
SCR_AIProvideAmmoBehavior.c:12
vector
Definition
vector.c:13
GetPriority
int GetPriority()
Definition
SCR_BaseManualCameraComponent.c:247
TStringArray
array< string > TStringArray
Definition
Types.c:385
scripts
Game
AI
Behavior
SCR_AIProvideAmmoBehavior.c
Generated by
1.17.0