first attack in raised erc (light or heavy if modifier is used). Also added support for finishers
138 {
140 if (invFSM && !invFSM.
IsIdle())
141 return false;
142
145 bool isFireWeapon = itemInHands && itemInHands.IsWeapon();
146
148 HandleHitEvent(pCurrentCommandID, pInputs, itemInHands, pMovementState, pContinueAttack);
149
152 {
153
154
157 return false;
158
160 if (itemInHands && !itemInHands.IsMeleeWeapon() && !isFireWeapon)
161 return false;
162
165 {
166
168 if (isFireWeapon)
169 {
171 }
172 else
173 {
176 {
177 return HandleInitialMeleeErc(pCurrentCommandID, pInputs, itemInHands, pMovementState, pContinueAttack);
178 }
181 {
182 return HandleProneKick(pCurrentCommandID, pInputs, itemInHands, pMovementState, pContinueAttack);
183 }
186 {
187 return HandleSprintAttack(pCurrentCommandID, pInputs, itemInHands, pMovementState, pContinueAttack);
188 }
189 }
190 }
193 {
196 {
197 return HandleComboHit(pCurrentCommandID, pInputs, itemInHands, pMovementState, pContinueAttack);
198 }
199 }
200 }
203 {
206 {
208 if (roll != 0)
209 {
212 {
213 return false;
214 }
215
216 float angle;
217 if (roll == 1)
218 {
219 angle = -90;
220 }
221 else
222 {
223 angle = 90;
224 }
225
226
231
232
234 {
236 m_Player.m_ShockHandler.CheckValue(
true);
237 }
238 }
239 }
240
243 {
244
246 {
247
249
250 return false;
251 }
252 }
253
257 {
258 float angle2;
259
261 {
264 }
265 else
266 {
269 }
270 }
271 else
272 {
275 }
276 }
277
278 return false;
279 }
bool HandleProneKick(int pCurrentCommandID, HumanInputController pInputs, InventoryItem itemInHands, HumanMovementState pMovementState, out bool pContinueAttack)
kick from raised pne
EFightLogicCooldownCategory
Light / Heavy punches.
bool HandleHitEvent(int pCurrentCommandID, HumanInputController pInputs, InventoryItem itemInHands, HumanMovementState pMovementState, out bool pContinueAttack)
Handle the event that our melee hit something.
enum EFightLogicCooldownCategory EVADE_COOLDOWN
cooldown timers settings
void SetBlock(bool block)
bool HandleInitialFirearmMelee(int pCurrentCommandID, HumanInputController pInputs, InventoryItem itemInHands, HumanMovementState pMovementState, out bool pContinueAttack)
NOTE: Only singular (or first) hits, combo attacks are handled in combo.
bool HandleSprintAttack(int pCurrentCommandID, HumanInputController pInputs, InventoryItem itemInHands, HumanMovementState pMovementState, out bool pContinueAttack)
sprint attack in erc stance
bool HandleComboHit(int pCurrentCommandID, HumanInputController pInputs, InventoryItem itemInHands, HumanMovementState pMovementState, out bool pContinueAttack)
combo hits - when we are already in Melee command and clicking UseButton
void SetCooldown(float time, EFightLogicCooldownCategory cooldownCategory)
bool HandleInitialMeleeErc(int pCurrentCommandID, HumanInputController pInputs, InventoryItem itemInHands, HumanMovementState pMovementState, out bool pContinueAttack)
First attack in raised erc (light or heavy if modifier is used). Also added support for finishers.
void DayZPlayerUtils()
cannot be instantiated
proto native void StartMeleeEvadeA(float pDirAngle)
marks command to continue to combo, pDirAngle specifies angle
proto native void ForceStance(int pStanceIdx)
proto bool GetCurrentInputAngle(out float pAngle)
proto native void SetMeleeBlock(bool pBlock)
this enables/disables block
HumanInventory... with FSM (synchronous, no anims)
int m_iStanceIdx
current command's id
static const float BROKEN_LEGS_LIGHT_MELEE_SHOCK
DayZPlayerConstants
defined in C++