DIFF

class ZombieBaseSource

ZombieBase DayZInfected DayZCreatureAI DayZCreature EntityAI Entity ObjectTyped Object IEntity Managed

Derived classes
View all 77 descendants

All members, including inherited

Constructors 1

void ZombieBase()
References Init()

Constants 5

const float TARGET_CONE_ANGLE_CHASE = 20
Referenced by ChaseAttackLogic()
const float TARGET_CONE_ANGLE_FIGHT = 30
Referenced by FightAttackLogic()
const float ORIENTATION_SYNC_THRESHOLD = 30

threshold for local heading/orientation sync

Referenced by HandleOrientation()
const float SHOCK_TO_STUN_MULTIPLIER = 2.82
Referenced by HandleDamageHit()
const float HIT_INTERVAL_MIN = 0.3

Minimum time in seconds before a COMMANDID_HIT to COMMANDID_HIT transition is allowed

Referenced by HandleDamageHit()

Members 31

protected int m_StanceVariation = 0

server / singleplayer properties

Referenced by CommandHandler(), and EOnInit()
protected int m_LastMindState = -1
protected float m_LastMovementSpeed = -1
Referenced by HandleMove()
protected bool m_KnuckleLand = false
Referenced by HandleVault()
protected float m_KnuckleOutTimer = 0
Referenced by HandleVault()
protected int m_MindState = -1
protected int m_OrientationLocal = -1

local 'companion' value for sync checking

protected int m_OrientationSynced = -1
protected float m_OrientationTimer
Referenced by HandleOrientation(), and Init()
protected float m_MovementSpeed = -1
Referenced by HandleDeath(), and HandleMove()
protected vector m_DefaultHitPosition
Referenced by GetDefaultHitPosition(), and Init()
protected float m_DeltaTime
protected AbstractWave m_LastSoundVoiceAW
Referenced by Init(), and OnSoundVoiceEvent()
protected ref InfectedSoundEventHandler m_InfectedSoundEventHandler
protected ref array<Object> m_AllTargetObjects
protected ref array<typename> m_TargetableObjects
protected bool m_IsCrawling

'DayZInfectedCommandCrawl' is transition to crawl only, 'DayZInfectedCommandMove' used after that, hence this VARIABLE_WET

protected bool m_FinisherInProgress = false

is this object being backstabbed?

protected ref ArrowManagerBase m_ArrowManager
Referenced by GetArrowManager(), and Init()
float m_DamageHitDirection = 0

HandleDeath

int m_DeathType = 0
int m_ActiveVaultType = -1

HandleVault

EntityAI m_ActualTarget = null

Combat

float m_AttackCooldownTime = 0
DayZInfectedAttackType m_ActualAttackType = null
int m_CrawlTransition = -1

Crawl transition

bool m_DamageHitToProcess = false

Damage hits

Referenced by EEHitBy(), and HandleDamageHit()
bool m_DamageHitHeavy = false
Referenced by EEHitBy(), and HandleDamageHit()
int m_DamageHitType = 0
Referenced by EEHitBy(), and HandleDamageHit()
float m_ShockDamage = 0
Referenced by EEHitBy(), and HandleDamageHit()
float m_HitElapsedTime = HIT_INTERVAL_MIN
Referenced by HandleDamageHit()

Methods 57

override void OnVariablesSynchronized()

synced variable(s) handler

override bool IsZombie()
override bool IsDanger()
override bool IsZombieMilitary()
bool IsMale()
override bool CanBeBackstabbed()
override AnimBootsType GetBootsType()
override bool CanBeSkinned()
override bool IsHealthVisible()
override bool IsRefresherSignalingViable()
override bool IsSelfAdjustingTemperature()
References Object.IsAlive()
override string GetHitComponentForAI()

returns hit component for attacking AI

override string GetDefaultHitComponent()

returns default hit component (fallback)

override vector GetDefaultHitPosition()
protected vector SetDefaultHitPosition(string pSelection)
Referenced by Init()
override array<string> GetSuitableFinisherHitComponents()

returns suitable hit components for finisher attacks; DEPRECATED

int GetMindStateSynced()
References m_MindState
int GetOrientationSynced()

returns rounded zombie yaw for sync purposes

void CommandHandlerDebug(float pDt, int pCurrentCommandID, bool pCurrentCommandFinished)

CommandHandlerDebug

bool EvaluateDeathAnimationEx(EntityAI pSource, ZombieHitData data, out int pAnimType, out float pAnimHitDir)
Referenced by EEHitBy()
bool EvaluateDeathAnimation(EntityAI pSource, string pComponent, string pAmmoType, out int pAnimType, out float pAnimHitDir)
int GetVaultType(float height)
Referenced by HandleVault()
int GetAttackPitch(EntityAI target)

target is outside the targeting cone; skip attack

bool HandleCrawlTransition(int pCurrentCommandID)
Referenced by CommandHandler()
bool EvaluateCrawlTransitionAnimation(EntityAI pSource, string pComponent, string pAmmoType, out int pAnimType)
Referenced by EEHitBy()
bool EvaluateDamageHitAnimation(EntityAI pSource, string pComponent, string pAmmoType, out bool pHeavyHit, out int pAnimType, out float pAnimHitDir)

selects animation type and direction based on damage system data

Referenced by EEHitBy()
float ComputeHitDirectionAngle(EntityAI pSource)

shock GetDamage

float ComputeHitDirectionAngleEx(EntityAI pSource, int invertHitDir = 0)
override void EEHitByRemote(int damageType, EntityAI source, int component, string dmgZone, string ammo, vector modelPos)
protected void DebugSound(string s)

sound debug messages

override protected void EOnContact(IEntity other, Contact extra)

Phx contact event

override bool CanReceiveAttachment(EntityAI attachment, int slotId)
override bool IsBeingBackstabbed()

returns true if backstab is in progress; used for suspending of AI targeting and other useful things besides

override void SetBeingBackstabbed(int backstabType)
bool IsCrawling()

returns true if crawling; 'DayZInfectedCommandCrawl' is only for the transition, after that it remains 'DayZInfectedCommandMove' (unreliable)

References m_IsCrawling
override bool IsManagingArrows()
override ArrowManagerBase GetArrowManager()
References m_ArrowManager