9 [
Attribute(defvalue:
"", uiwidget: UIWidgets.EditBox,
desc:
"Don't use, it's here for backwards compatibility, not guaranteed to work in all classes",
params:
"bt")]
10 string m_OverrideBehaviorTree;
15 void PerformReaction(notnull SCR_AIUtilityComponent utility,
SCR_AIMessageBase message) {}
16 void PerformReaction(notnull SCR_AIGroupUtilityComponent utility,
SCR_AIMessageBase message) {}
29 override void PerformReaction(notnull SCR_AIGroupUtilityComponent utility,
SCR_AIMessageBase message)
35 auto activity =
new SCR_AIResupplyActivity(utility,
null, msg.m_entityToSupply, msg.m_MagazineWell, priorityLevel: utility.GetCurrentAction().EvaluatePriorityLevel());
36 utility.AddAction(activity);
49 override void PerformReaction(notnull SCR_AIGroupUtilityComponent utility,
SCR_AIMessageBase message)
54 AIAgent aiAgent = msg.GetSender();
55 AIGroup aiGroup = utility.m_Owner;
57 if (!currentAction || !aiAgent)
60 float priorityLevelClamped = currentAction.GetRestrictedPriorityLevel();
62 IEntity woundedEntity = msg.m_WoundedEntity;
65 array<ref AIActionBase> actions = {};
66 utility.GetActions(actions);
75 if (healActivity.m_EntityToHeal.m_Value == woundedEntity)
77 healActivity.SetPriorityLevel(priorityLevelClamped);
82 auto activity =
new SCR_AIHealActivity(utility,
null, woundedEntity, priorityLevel: priorityLevelClamped);
83 utility.AddAction(activity);