DayZ 1.30
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 строка 682

683 {
684 // always update target - it can be destroyed
685 m_ActualTarget = pInputController.GetTargetEntity();
686
688 PlayerBase pb = PlayerBase.Cast(m_ActualTarget);
689 if ( pb && pb.GetCommand_Vehicle() )
690 {
691 return false;
692 }
693
694 if ( m_ActualTarget == NULL )
695 return false;
696
697 vector targetPos = m_ActualTarget.GetPosition();
698 if ( !CanAttackToPosition(targetPos) )
699 return false;
700
701 float targetDist = vector.Distance(targetPos, this.GetPosition());
702 int pitch = GetAttackPitch(m_ActualTarget);
703
704 m_ActualAttackType = GetDayZInfectedType().ChooseAttack(DayZInfectedAttackGroupType.CHASE, targetDist, pitch);
706 {
707 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);
709 if (m_ActualTarget != target)
710 {
711 m_AllTargetObjects.Clear();
712 return false;
713 }
714
715 StartCommand_Attack(m_ActualTarget, m_ActualAttackType.m_Type, m_ActualAttackType.m_Subtype);
717 return true;
718 }
719
720 return false;
721 }
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:611
EntityAI m_ActualTarget
Определения ZombieBase.c:609
float m_AttackCooldownTime
Определения ZombieBase.c:610
ref array< typename > m_TargetableObjects
Определения ZombieBase.c:30
int GetAttackPitch(EntityAI target)
Определения ZombieBase.c:768
proto native EntityAI GetTargetEntity()
class LOD Object
vector GetPosition()
Get the world position of the Effect.
Определения Effect.c:473

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

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