Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_AIAnimation_Base.c
Go to the documentation of this file.
1//------------------------------------------------------------------------------------------------
2// all AI re-gistered animations, must specify In and Out to be possible to use in "AnimationWaypoint"
3
6{
7 bool StartAnimation(IEntity pUserEntity, vector vAnimationTransform[4]);
8 bool StopAnimation(IEntity pUserEntity, bool performFast);
9}
10
11//----------------------------------------------------------------------------------------------------
13class SCR_AIAnimation_Sitting : SCR_AIAnimation_Base
14{
15 //------------------------------------------------------------------------------------------------
16 override bool StartAnimation(IEntity pUserEntity, vector vAnimationTransform[4])
17 {
18 SCR_ChimeraCharacter character = SCR_ChimeraCharacter.Cast(pUserEntity);
19 if (!character)
20 return false;
21
22 SCR_CharacterControllerComponent controller = SCR_CharacterControllerComponent.Cast(character.GetCharacterController());
23 if (!controller)
24 return false;
25
26 controller.StartLoitering(null, ELoiteringType.SIT, false, true, true, vAnimationTransform);
27 return true;
28 }
29
30 //------------------------------------------------------------------------------------------------
31 override bool StopAnimation(IEntity pUserEntity, bool performFast)
32 {
33 SCR_ChimeraCharacter character = SCR_ChimeraCharacter.Cast(pUserEntity);
34 if (!character)
35 return false;
36
37 SCR_CharacterControllerComponent controller = SCR_CharacterControllerComponent.Cast(character.GetCharacterController());
38 if (!controller)
39 return false;
40
41 controller.StopLoitering(performFast);
42 return true;
43 }
44}
45
47class SCR_AIAnimation_Pushups : SCR_AIAnimation_Base
48{
49 //------------------------------------------------------------------------------------------------
50 override bool StartAnimation(IEntity pUserEntity, vector vAnimationTransform[4])
51 {
52 SCR_ChimeraCharacter character = SCR_ChimeraCharacter.Cast(pUserEntity);
53 if (!character)
54 return false;
55
56 SCR_CharacterControllerComponent controller = SCR_CharacterControllerComponent.Cast(character.GetCharacterController());
57 if (!controller)
58 return false;
59
60 controller.StartLoitering(null, ELoiteringType.PUSHUPS, true, true, true, vAnimationTransform);
61 return true;
62 }
63
64 //------------------------------------------------------------------------------------------------
65 override bool StopAnimation(IEntity pUserEntity, bool performFast)
66 {
67 SCR_ChimeraCharacter character = SCR_ChimeraCharacter.Cast(pUserEntity);
68 if (!character)
69 return false;
70
71 SCR_CharacterControllerComponent controller = SCR_CharacterControllerComponent.Cast(character.GetCharacterController());
72 if (!controller)
73 return false;
74
75 controller.StopLoitering(performFast);
76 return true;
77 }
78};
79
80//----------------------------------------------------------------------------------------------------
83{
84 //------------------------------------------------------------------------------------------------
85 override bool StartAnimation(IEntity pUserEntity, vector vAnimationTransform[4])
86 {
87 SCR_ChimeraCharacter character = SCR_ChimeraCharacter.Cast(pUserEntity);
88 if (!character)
89 return false;
90
91 SCR_CharacterControllerComponent controller = SCR_CharacterControllerComponent.Cast(character.GetCharacterController());
92 if (!controller)
93 return false;
94
95 controller.StartLoitering(null, ELoiteringType.LOITERING, true, true, true, vAnimationTransform);
96 return true;
97 }
98
99 //------------------------------------------------------------------------------------------------
100 override bool StopAnimation(IEntity pUserEntity, bool performFast)
101 {
102 SCR_ChimeraCharacter character = SCR_ChimeraCharacter.Cast(pUserEntity);
103 if (!character)
104 return false;
105
106 SCR_CharacterControllerComponent controller = SCR_CharacterControllerComponent.Cast(character.GetCharacterController());
107 if (!controller)
108 return false;
109
110 controller.StopLoitering(performFast);
111 return true;
112 }
113};
114
115//----------------------------------------------------------------------------------------------------
118{
119 //------------------------------------------------------------------------------------------------
120 override bool StartAnimation(IEntity pUserEntity, vector vAnimationTransform[4])
121 {
122 SCR_ChimeraCharacter character = SCR_ChimeraCharacter.Cast(pUserEntity);
123 if (!character)
124 return false;
125
126 SCR_CharacterControllerComponent controller = SCR_CharacterControllerComponent.Cast(character.GetCharacterController());
127 if (!controller)
128 return false;
129
130 CharacterAnimationComponent animComp = controller.GetAnimationComponent();
131 if (!animComp)
132 return false;
133
134 SCR_CharacterCommandHandlerComponent cmdHandler = SCR_CharacterCommandHandlerComponent.Cast(animComp.GetCommandHandler());
135 if (!cmdHandler)
136 return false;
137
138 SCR_ScriptedCommandsStaticTable staticTable = cmdHandler.GetScriptedStaticTable();
139 if (!staticTable)
140 return false;
141
143
144 animComp.SetVariableInt(staticTable.m_OfficerMissionSpeech,2);
145
146 customAnimData.m_CustomCommand = staticTable.m_CustomCinematicCommand;
147 customAnimData.m_GraphName = "{312D2589E4BF5BC8}anims/anm/NPC/workspaces/Officier_Mission01.agr";
148 customAnimData.m_GraphInstanceName = "{DC477052F8B60926}anims/anm/NPC/workspaces/Officier_Mission01.asi";
149 controller.StartLoitering(null, ELoiteringType.CUSTOM, true, true, true, vAnimationTransform, true, customAnimData);
150
151 return true;
152 }
153
154 //------------------------------------------------------------------------------------------------
155 override bool StopAnimation(IEntity pUserEntity, bool performFast)
156 {
157 SCR_ChimeraCharacter character = SCR_ChimeraCharacter.Cast(pUserEntity);
158 if (!character)
159 return false;
160
161 SCR_CharacterControllerComponent controller = SCR_CharacterControllerComponent.Cast(character.GetCharacterController());
162 if (!controller)
163 return false;
164
165 controller.StopLoitering(performFast);
166 return true;
167 }
168};
169
170//----------------------------------------------------------------------------------------------------
173{
174 //------------------------------------------------------------------------------------------------
175 override bool StartAnimation(IEntity pUserEntity, vector vAnimationTransform[4])
176 {
177 SCR_ChimeraCharacter character = SCR_ChimeraCharacter.Cast(pUserEntity);
178 if (!character)
179 return false;
180
181 SCR_CharacterControllerComponent controller = SCR_CharacterControllerComponent.Cast(character.GetCharacterController());
182 if (!controller)
183 return false;
184
185 CharacterAnimationComponent animComp = controller.GetAnimationComponent();
186 if (!animComp)
187 return false;
188
189 SCR_CharacterCommandHandlerComponent cmdHandler = SCR_CharacterCommandHandlerComponent.Cast(animComp.GetCommandHandler());
190 if (!cmdHandler)
191 return false;
192
193 SCR_ScriptedCommandsStaticTable staticTable = cmdHandler.GetScriptedStaticTable();
194 if (!staticTable)
195 return false;
196
198
199 animComp.SetVariableInt(staticTable.m_OfficerMissionSpeech,1);
200
201 customAnimData.m_CustomCommand = staticTable.m_CustomCinematicCommand;
202 customAnimData.m_GraphName = "{312D2589E4BF5BC8}anims/anm/NPC/workspaces/Officier_Mission01.agr";
203 customAnimData.m_GraphInstanceName = "{DC477052F8B60926}anims/anm/NPC/workspaces/Officier_Mission01.asi";
204 controller.StartLoitering(null, ELoiteringType.CUSTOM, true, true, true, vAnimationTransform, true, customAnimData);
205
206 return true;
207 }
208
209 //------------------------------------------------------------------------------------------------
210 override bool StopAnimation(IEntity pUserEntity, bool performFast)
211 {
212 SCR_ChimeraCharacter character = SCR_ChimeraCharacter.Cast(pUserEntity);
213 if (!character)
214 return false;
215
216 SCR_CharacterControllerComponent controller = SCR_CharacterControllerComponent.Cast(character.GetCharacterController());
217 if (!controller)
218 return false;
219
220 controller.StopLoitering(performFast);
221 return true;
222 }
223};
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
enum EVehicleType IEntity
void StartLoitering(IEntity loiterEntity, int loiteringType, bool holsterWeapon, bool allowRootMotion, bool alignToPosition, vector targetPosition[4]={ "1 0 0", "0 1 0", "0 0 1", "0 0 0" }, bool disableInput=false, SCR_LoiterCustomAnimData customAnimData=SCR_LoiterCustomAnimData.Default)