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

◆ FightAttackLogic()

bool DayZInfected::FightAttackLogic ( int pCurrentCommandID,
DayZInfectedInputController pInputController,
float pDt )
inlineprotected

do not attack players in vehicle - hotfix

target is outside the targeting cone; skip attack

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

718 {
719 // always update target - it can be destroyed
720 m_ActualTarget = pInputController.GetTargetEntity();
721
723 PlayerBase pb = PlayerBase.Cast(m_ActualTarget);
724 if (pb && pb.GetCommand_Vehicle())
725 return false;
726
727 if (m_AttackCooldownTime > 0)
728 {
729 m_AttackCooldownTime -= pDt * GameConstants.AI_ATTACKSPEED;
730 return false;
731 }
732
733 if (m_ActualTarget == null)
734 return false;
735
736 vector targetPos = m_ActualTarget.GetPosition();
737 float targetDist = vector.Distance(targetPos, this.GetPosition());
738 int pitch = GetAttackPitch(m_ActualTarget);
739
740 if (!CanAttackToPosition(targetPos))
741 return false;
742
743 m_ActualAttackType = GetDayZInfectedType().ChooseAttack(DayZInfectedAttackGroupType.FIGHT, targetDist, pitch);
745 {
746 Object target = DayZPlayerUtils.GetMeleeTarget(this.GetPosition(), this.GetDirection(), TARGET_CONE_ANGLE_FIGHT, m_ActualAttackType.m_Distance, -1.0, 2.0, this, m_TargetableObjects, m_AllTargetObjects);
749 {
750 m_AllTargetObjects.Clear();
751 return false;
752 }
753
754 StartCommand_Attack(m_ActualTarget, m_ActualAttackType.m_Type, m_ActualAttackType.m_Subtype);
756 return true;
757 }
758
759 return false;
760 }
DayZInfectedAttackGroupType
Определения DayZInfectedType.c:14
void DayZPlayerUtils()
cannot be instantiated
Определения DayZPlayerUtils.c:465
ref array< Object > m_AllTargetObjects
Определения ZombieBase.c:29
DayZInfectedAttackType m_ActualAttackType
Определения ZombieBase.c:605
EntityAI m_ActualTarget
Определения ZombieBase.c:603
float m_AttackCooldownTime
Определения ZombieBase.c:604
ref array< typename > m_TargetableObjects
Определения ZombieBase.c:30
int GetAttackPitch(EntityAI target)
Определения ZombieBase.c:762
const float TARGET_CONE_ANGLE_FIGHT
Определения ZombieBase.c:4
proto native EntityAI GetTargetEntity()
class LOD Object
class JsonUndergroundAreaTriggerData GetPosition
Определения UndergroundAreaLoader.c:9

Перекрестные ссылки GameConstants::AI_ATTACKSPEED, DayZPlayerUtils(), vector::Distance(), GetAttackPitch(), GetPosition, DayZInfectedInputController::GetTargetEntity(), m_ActualAttackType, m_ActualTarget, m_AllTargetObjects, m_AttackCooldownTime, m_TargetableObjects и TARGET_CONE_ANGLE_FIGHT.

Используется в FightLogic().