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 if (
HandleHitEvent(pCurrentCommandID, pInputs, itemInHands, pMovementState, pContinueAttack))
149 return false;
150
153 {
154
155
158 return false;
159
161 if (itemInHands && !itemInHands.IsMeleeWeapon() && !isFireWeapon)
162 return false;
163
166 {
167
169 if (isFireWeapon)
170 {
172 }
173 else
174 {
177 {
178 return HandleInitialMeleeErc(pCurrentCommandID, pInputs, itemInHands, pMovementState, pContinueAttack);
179 }
182 {
183 return HandleProneKick(pCurrentCommandID, pInputs, itemInHands, pMovementState, pContinueAttack);
184 }
187 {
188 return HandleSprintAttack(pCurrentCommandID, pInputs, itemInHands, pMovementState, pContinueAttack);
189 }
190 }
191 }
194 {
197 {
198 return HandleComboHit(pCurrentCommandID, pInputs, itemInHands, pMovementState, pContinueAttack);
199 }
200 }
201 }
204 {
207 {
209 if (roll != 0)
210 {
213 {
214 return false;
215 }
216
217 float angle;
218 if (roll == 1)
219 {
220 angle = -90;
221 }
222 else
223 {
224 angle = 90;
225 }
226
227
232
233
235 {
237 m_Player.m_ShockHandler.CheckValue(
true);
238 }
239 }
240 }
241
244 {
245
247 {
248
250
251 return false;
252 }
253 }
254
258 {
259 float angle2;
260
262 {
265 }
266 else
267 {
270 }
271 }
272 else
273 {
276 }
277 }
278
279 return false;
280 }
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++