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_AIMedicHealBehavior.c
Go to the documentation of this file.
1
// AI healing behaviour
2
// TODO: You have to handle situation, in which movement can be disabled (in AIConfig component)
3
class
SCR_AIMedicHealBehavior
:
SCR_AIBehaviorBase
4
{
5
SCR_AIConfigComponent m_Config;
6
7
ref SCR_BTParam<IEntity> m_EntityToHeal =
new
SCR_BTParam<IEntity>(
SCR_AIActionTask
.ENTITY_PORT);
8
9
ref
SCR_AIMoveIndividuallyBehavior
m_HealMove;
10
11
// Max threat value under which we will consider healing someone
12
protected
const
float
MAX_THREAT_THRESHOLD
= 0.002;
13
14
//---------------------------------------------------------------------------------------------------------------------------------
15
void
SCR_AIMedicHealBehavior
(SCR_AIUtilityComponent utility,
SCR_AIActivityBase
groupActivity,
IEntity
entityToHeal,
bool
allowHealMove,
float
priority = PRIORITY_BEHAVIOR_MEDIC_HEAL,
float
priorityLevel =
PRIORITY_LEVEL_NORMAL
)
16
{
17
m_EntityToHeal.Init(
this
, entityToHeal);
18
m_sBehaviorTree
=
"{990FE3889BBA5839}AI/BehaviorTrees/Chimera/Soldier/MedicHeal.bt"
;
19
SetPriority(priority);
20
m_fPriorityLevel
.m_Value = priorityLevel;
21
m_bAllowLook
=
false
;
22
}
23
24
//---------------------------------------------------------------------------------------------------------------------------------
25
override
int
GetCause
()
26
{
27
return
SCR_EAIBehaviorCause
.GROUP_GOAL;
28
}
29
30
//---------------------------------------------------------------------------------------------------------------------------------
31
override
void
OnActionSelected
()
32
{
33
m_Utility
.m_AIInfo.SetAIState(EUnitAIState.BUSY);
34
}
35
36
//---------------------------------------------------------------------------------------------------------------------------------
37
override
void
OnActionCompleted
()
38
{
39
super.OnActionCompleted();
40
m_Utility
.m_AIInfo.SetAIState(EUnitAIState.AVAILABLE);
41
42
#ifdef WORKBENCH
43
SCR_AIDebugVisualization
.
VisualizeMessage
(
m_Utility
.m_OwnerEntity,
"Unit healed"
,
EAIDebugCategory
.INFO, 5);
44
#endif
45
}
46
47
//---------------------------------------------------------------------------------------------------------------------------------
48
override
void
OnActionFailed
()
49
{
50
super.OnActionFailed();
51
m_Utility
.m_AIInfo.SetAIState(EUnitAIState.AVAILABLE);
52
53
#ifdef WORKBENCH
54
SCR_AIDebugVisualization
.
VisualizeMessage
(
m_Utility
.m_OwnerEntity,
"Failed heal"
,
EAIDebugCategory
.INFO, 5);
55
#endif
56
}
57
};
m_fPriorityLevel
ref SCR_BTParam< float > m_fPriorityLevel
Definition
SCR_AIAction.c:87
PRIORITY_LEVEL_NORMAL
enum EAIActionFailReason PRIORITY_LEVEL_NORMAL
m_sBehaviorTree
ResourceName m_sBehaviorTree
Definition
SCR_AIAction.c:89
SCR_AIActivityBase
void SCR_AIActivityBase(SCR_AIGroupUtilityComponent utility, AIWaypoint relatedWaypoint)
Definition
SCR_AIActivity.c:44
m_Utility
enum SCR_EAIActivityCause m_Utility
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
m_bAllowLook
bool m_bAllowLook
Definition
SCR_AIBehavior.c:18
EAIDebugCategory
EAIDebugCategory
Definition
SCR_AIWorld.c:12
IEntity
Definition
IEntity.c:13
SCR_AIActionTask
Definition
SCR_AIBehaviorTask.c:2
SCR_AIDebugVisualization
Definition
SCR_AIDebugVisualization.c:10
SCR_AIDebugVisualization::VisualizeMessage
static void VisualizeMessage(IEntity entity, string message, EAIDebugCategory category, float showTime, Color color=Color.White, float fontSize=16, bool ignoreCategory=false)
Definition
SCR_AIDebugVisualization.c:34
SCR_AIMedicHealBehavior::MAX_THREAT_THRESHOLD
const float MAX_THREAT_THRESHOLD
Definition
SCR_AIMedicHealBehavior.c:12
SCR_AIMedicHealBehavior::SCR_AIMedicHealBehavior
void SCR_AIMedicHealBehavior(SCR_AIUtilityComponent utility, SCR_AIActivityBase groupActivity, IEntity entityToHeal, bool allowHealMove, float priority=PRIORITY_BEHAVIOR_MEDIC_HEAL, float priorityLevel=PRIORITY_LEVEL_NORMAL)
Definition
SCR_AIMedicHealBehavior.c:15
SCR_AIMedicHealBehavior::OnActionCompleted
override void OnActionCompleted()
Definition
SCR_AIMedicHealBehavior.c:37
SCR_AIMedicHealBehavior::GetCause
override int GetCause()
Definition
SCR_AIMedicHealBehavior.c:25
SCR_AIMedicHealBehavior::OnActionFailed
override void OnActionFailed()
Definition
SCR_AIMedicHealBehavior.c:48
SCR_AIMedicHealBehavior::OnActionSelected
override void OnActionSelected()
Definition
SCR_AIMedicHealBehavior.c:31
SCR_AIMoveIndividuallyBehavior
Definition
SCR_AIMoveBehavior.c:52
scripts
Game
AI
Behavior
SCR_AIMedicHealBehavior.c
Generated by
1.17.0