DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ EvaluateHit_Common()

void EvaluateHit_Common ( InventoryItem weapon,
Object target,
bool forcedDummy = false,
int forcedWeaponMode = -1 )
protected

check if we need to use dummy hit

normal hit with applied damage to targeted component

play hit animation for dummy hits

override hit pos by pos defined in type

См. определение в файле DayZPlayerMeleeFightLogic_LightHeavy.c строка 654

655 {
656 int hitZoneIdx = m_MeleeCombat.GetHitZoneIdx();
657 int weaponMode = m_MeleeCombat.GetWeaponMode();
658 vector hitPosWS;
659 string ammo;
660
661 if (forcedWeaponMode > -1)
662 weaponMode = forcedWeaponMode;
663
664 EntityAI targetEntity = EntityAI.Cast(target);
665
667 if (!DummyHitSelector(m_HitType, ammo) && !forcedDummy)
668 {
670 if (hitZoneIdx >= 0)
671 {
672 hitPosWS = targetEntity.ModelToWorld(targetEntity.GetDefaultHitPosition());
673
674 if (WeaponDestroyedCheck(weapon, ammo))
675 {
676 DamageSystem.CloseCombatDamage(m_Player, target, hitZoneIdx, ammo, hitPosWS);
677 //Debug.MeleeLog(m_Player, string.Format("EvaluateHit_Common[a]::CloseCombatDamage:: target: %1, hitzone: %2, ammo: %3", target, hitZoneIdx, ammo));
678 }
679 else
680 {
681 m_Player.ProcessMeleeHit(weapon, weaponMode, target, hitZoneIdx, hitPosWS);
682 //Debug.MeleeLog(m_Player, string.Format("EvaluateHit_Common[b]::ProcessMeleeHit:: target: %1, hitzone: %2, meleeMode: %3, forcedWeaponMode:%4", target, hitZoneIdx, weaponMode));
683 }
684 }
685 }
686 else
687 {
689 if (GetGame().IsServer() && targetEntity)
690 {
692 hitPosWS = targetEntity.ModelToWorld(targetEntity.GetDefaultHitPosition());
693 DamageSystem.CloseCombatDamage(m_Player, target, hitZoneIdx, ammo, hitPosWS);
694 //Debug.MeleeLog(m_Player, string.Format("EvaluateHit_Common[c]::CloseCombatDamage:: target: %1, hitzone: %2, meleeMode: %3, ammo: %4", target, hitZoneIdx, weaponMode, ammo));
695 }
696 }
697 }
EMeleeHitType m_HitType
Hit type of the most recent attack.
ref DayZPlayerImplementMeleeCombat m_MeleeCombat
bool DummyHitSelector(EMeleeHitType hitType, out string ammoType)
evaluation of hit player vs. player
bool WeaponDestroyedCheck(InventoryItem weapon, out string ammo)
DayZPlayer m_Player
Определения Hand_Events.c:42
Определения Building.c:6
Определения EnConvert.c:106
proto native CGame GetGame()

Перекрестные ссылки DummyHitSelector(), GetGame(), m_HitType, m_MeleeCombat, m_Player и WeaponDestroyedCheck().

Используется в EvaluateHit(), EvaluateHit_Infected() и EvaluateHit_Player().