General condition for finisher attacks.
418 {
420 return -1;
421
422 if (target)
423 {
425
428
429 float moveFraction =
m_DZPlayer.CollisionMoveTest(dir,
vector.
Zero, 1.0, target, hitEntity, hitPos, hitNormal);
430 if (moveFraction < 1.0)
431 return -1;
432 }
433
435 if (target && target.CanBeBackstabbed() && weapon && (weapon.IsMeleeFinisher() ||
m_HitType ==
EMeleeHitType.WPN_STAB) && !weapon.IsRuined() )
436 {
437 bool playGenericFinisherAnimation = false;
440 {
443 {
444 return -1;
445 }
446
447 int mindState = targetZombie.GetMindStateSynced();
450 {
451 return -1;
452 }
453 }
454
457 if (targetZombie)
458 {
459 playGenericFinisherAnimation = targetZombie.IsCrawling();
460 }
461 else if (targetPlayer)
462 {
463 playGenericFinisherAnimation = targetPlayer.IsInProne();
464 }
465 else
466 {
467 playGenericFinisherAnimation = true;
468 }
469
471 if (weapon.IsWeapon())
472 {
474 }
475 else if (playGenericFinisherAnimation)
476 {
478 }
479 else
480 {
482 }
483 }
484
485 return -1;
486 }
bool IsEntityBehindEntityInAngle(EntityAI source, EntityAI target, float angle)
bool m_WasHit
If most recent attack was.
DayZPlayerImplement m_DZPlayer
Parent.
int m_DebugForcedFinisherType
EMeleeHitType m_HitType
Hit type of the most recent attack.
int DetermineSpecificFinisherType(ItemBase weapon)