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

◆ ChaseAttackLogic()

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

do not attack players in vehicle - hotfix

target is outside the targeting cone; skip attack

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

677 {
678 // always update target - it can be destroyed
679 m_ActualTarget = pInputController.GetTargetEntity();
680
682 PlayerBase pb = PlayerBase.Cast(m_ActualTarget);
683 if ( pb && pb.GetCommand_Vehicle() )
684 {
685 return false;
686 }
687
688 if ( m_ActualTarget == NULL )
689 return false;
690
691 vector targetPos = m_ActualTarget.GetPosition();
692 if ( !CanAttackToPosition(targetPos) )
693 return false;
694
695 float targetDist = vector.Distance(targetPos, this.GetPosition());
696 int pitch = GetAttackPitch(m_ActualTarget);
697
698 m_ActualAttackType = GetDayZInfectedType().ChooseAttack(DayZInfectedAttackGroupType.CHASE, targetDist, pitch);
700 {
701 Object target = DayZPlayerUtils.GetMeleeTarget(this.GetPosition(), this.GetDirection(), TARGET_CONE_ANGLE_CHASE, m_ActualAttackType.m_Distance, -1.0, 2.0, this, m_TargetableObjects, m_AllTargetObjects);
703 if (m_ActualTarget != target)
704 {
705 m_AllTargetObjects.Clear();
706 return false;
707 }
708
709 StartCommand_Attack(m_ActualTarget, m_ActualAttackType.m_Type, m_ActualAttackType.m_Subtype);
711 return true;
712 }
713
714 return false;
715 }
DayZInfectedAttackGroupType
Определения DayZInfectedType.c:14
void DayZPlayerUtils()
cannot be instantiated
Определения DayZPlayerUtils.c:465
const float TARGET_CONE_ANGLE_CHASE
Определения ZombieBase.c:3
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
proto native EntityAI GetTargetEntity()
class LOD Object
class JsonUndergroundAreaTriggerData GetPosition
Определения UndergroundAreaLoader.c:9

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

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