Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
dayzplayerimplementmeleecombat.c File Reference

Go to the source code of this file.

Enumerations

enum  EMeleeHitType {
  NONE = -1 , LIGHT , HEAVY , SPRINT ,
  KICK , FINISHER_LIVERSTAB , FINISHER_NECKSTAB , FINISHER_GENERIC ,
  WPN_HIT , WPN_HIT_BUTTSTOCK , WPN_STAB , WPN_STAB_FINISHER
}
 

Functions

int SelectWeaponMode (InventoryItem weapon)
 
float GetWeaponRange (InventoryItem weapon, int weaponMode)
 
float GetRange ()
 
float GetAngle ()
 
void TargetSelection ()
 
int TrySelectFinisherType (InventoryItem weapon, EntityAI target)
 General condition for finisher attacks.
 
int DetermineSpecificFinisherType (ItemBase weapon)
 
void InternalResetTarget ()
 
void SetTarget (Object obj, vector hitPos, int hitZone)
 
bool CanObjectBeTargeted (Object obj, bool checkNonAligneAble=false)
 
bool HitZoneSelectionRaycastHelper (out vector hitPos, out int hitZone, out Object target)
 
bool HitZoneSelectionRaycast (out vector hitPos, out int hitZone, out Object target, bool useCamera)
 
void HitZoneSelection ()
 DEPRECATED.
 
bool IsObstructed (Object object)
 DEPRECATED - New function in MeleeTargeting.
 

Variables

enum EMeleeHitType TARGETING_ANGLE_NORMAL = 30.0
 Target selection settings.
 
const float TARGETING_ANGLE_SPRINT = 15.0
 Second Pass: Half angle of cone during sprint.
 
const float TARGETING_MIN_HEIGHT = -2.0
 Second Pass: How deep the cone goes in meters from player position.
 
const float TARGETING_MAX_HEIGHT = 2.0
 Second Pass: How high the cone goes in meters from player position.
 
const float TARGETING_RAY_RADIUS_EX = 0.5
 Second Pass: Max distance from ray projected from player looking direction.
 
const float TARGETING_RAY_RADIUS = 0.25
 DEPRECATED: "HitZoneSelection".
 
const float TARGETING_RAY_DIST = 5.0
 DEPRECATED: "HitZoneSelection".
 
const float TARGETING_RAY_DIST_SHORT = 2.0
 DEPRECATED: "HitZoneSelection".
 
const float RANGE_EXTENDER_NORMAL = 0.65
 General range extension.
 
const float RANGE_EXTENDER_SPRINT = 1.35
 General range extension while in sprint.
 
const string DEFAULT_HIT_ZONE = "Torso"
 DEPRECATED: "HitZoneSelection".
 
ref MeleeTargeting m_MeleeTargeting
 Target selecting "component".
 
Object m_TargetObject
 Targets - types.
 
EMeleeTargetType m_TargetType
 DEPRECATED: Was added but never used..?
 
ref array< Objectm_AllTargetObjects
 All potential targets found during most recent TargetSelection.
 
ref array< typenamem_TargetableObjects
 Typenames of all directly/preferred targetable objects (1st Pass + 2nd Pass)
 
ref array< typenamem_NonAlignableObjects
 Typenames of objects that can be targeted, but are not a priority (3rd Pass)
 
ref array< stringm_BlacklistedDamageZones
 List of blacklisted damage zone names (cannot use indices due to the possible changes when p3d components are recalculated)
 
DayZPlayerImplement m_DZPlayer
 Parent.
 
InventoryItem m_Weapon
 Weapons - cache.
 
int m_WeaponMode
 WeaponMode used during most recent Update.
 
float m_WeaponRange
 WeaponRange used during most recent Update.
 
bool m_ForceUntargetable
 Misc - cache.
 
bool m_SprintAttack
 If most recent attack was a sprint attack.
 
bool m_WasHit
 If most recent attack was.
 
vector m_RayStart
 Start position of most recent HitZoneSelectionRaycast.
 
vector m_RayEnd
 End position of most recent HitZoneSelectionRaycast.
 
vector m_RayEndShort
 DEPRECATED: "HitZoneSelection".
 
EMeleeHitType m_HitType
 Hit type of the most recent attack.
 
int m_HitZoneIdx
 Hit result - cache.
 
int m_FinisherType
 
string m_HitZoneName
 Most recent target HitZone name.
 
vector m_HitPositionWS
 Most recent target position.
 

Enumeration Type Documentation

◆ EMeleeHitType

Enumerator
NONE 
LIGHT 
HEAVY 
SPRINT 
KICK 
FINISHER_LIVERSTAB 
FINISHER_NECKSTAB 
FINISHER_GENERIC 
WPN_HIT 
WPN_HIT_BUTTSTOCK 
WPN_STAB 
WPN_STAB_FINISHER 

Definition at line 1 of file dayzplayerimplementmeleecombat.c.

Function Documentation

◆ CanObjectBeTargeted()

bool CanObjectBeTargeted ( Object obj,
bool checkNonAligneAble = false )
protected

Definition at line 530 of file dayzplayerimplementmeleecombat.c.

◆ DetermineSpecificFinisherType()

int DetermineSpecificFinisherType ( ItemBase weapon)
protected

Definition at line 488 of file dayzplayerimplementmeleecombat.c.

◆ GetAngle()

float GetAngle ( )
protected

Definition at line 326 of file dayzplayerimplementmeleecombat.c.

◆ GetRange()

float GetRange ( )
protected

Definition at line 321 of file dayzplayerimplementmeleecombat.c.

◆ GetWeaponRange()

float GetWeaponRange ( InventoryItem weapon,
int weaponMode )
protected

Definition at line 313 of file dayzplayerimplementmeleecombat.c.

◆ HitZoneSelection()

void HitZoneSelection ( )
protected

DEPRECATED.

make sure we are in range of the current weapon;

2d only

just for building and transports (big objects)

if no object in cone, set this object from raycast for these special cases

Definition at line 602 of file dayzplayerimplementmeleecombat.c.

◆ HitZoneSelectionRaycast()

bool HitZoneSelectionRaycast ( out vector hitPos,
out int hitZone,
out Object target,
bool useCamera )
protected

Prevents targeting of objects behind player

Opponent is inside car - targeting range is shorter in that case

Definition at line 544 of file dayzplayerimplementmeleecombat.c.

◆ HitZoneSelectionRaycastHelper()

bool HitZoneSelectionRaycastHelper ( out vector hitPos,
out int hitZone,
out Object target )
protected

Definition at line 535 of file dayzplayerimplementmeleecombat.c.

◆ InternalResetTarget()

void InternalResetTarget ( )
protected

Definition at line 510 of file dayzplayerimplementmeleecombat.c.

◆ IsObstructed()

bool IsObstructed ( Object object)
protected

DEPRECATED - New function in MeleeTargeting.

not possible to trace when this happens (zero length raycast)

Definition at line 668 of file dayzplayerimplementmeleecombat.c.

◆ SelectWeaponMode()

int SelectWeaponMode ( InventoryItem weapon)
protected

melee with firearm

melee weapon attacks - gets mode from the item

bare hand melee mode selection

default bare-hand light attack

Definition at line 269 of file dayzplayerimplementmeleecombat.c.

◆ SetTarget()

void SetTarget ( Object obj,
vector hitPos,
int hitZone )
protected

Definition at line 519 of file dayzplayerimplementmeleecombat.c.

◆ TargetSelection()

void TargetSelection ( )
protected

Definition at line 334 of file dayzplayerimplementmeleecombat.c.

◆ TrySelectFinisherType()

int TrySelectFinisherType ( InventoryItem weapon,
EntityAI target )
protected

General condition for finisher attacks.

Parameters
weaponWeapon used in the attack
targetTarget entity
Returns
int - type of finisher (-1 == no finisher)

perform only for finisher suitable weapons

check if attacker is in right pos and angle against victim

Check if the infected is aware of the player

prone checks

firearm

Definition at line 417 of file dayzplayerimplementmeleecombat.c.

Variable Documentation

◆ DEFAULT_HIT_ZONE

const string DEFAULT_HIT_ZONE = "Torso"
protected

DEPRECATED: "HitZoneSelection".

Definition at line 34 of file dayzplayerimplementmeleecombat.c.

◆ m_AllTargetObjects

ref array<Object> m_AllTargetObjects
protected

All potential targets found during most recent TargetSelection.

Definition at line 42 of file dayzplayerimplementmeleecombat.c.

◆ m_BlacklistedDamageZones

ref array<string> m_BlacklistedDamageZones
protected

List of blacklisted damage zone names (cannot use indices due to the possible changes when p3d components are recalculated)

Definition at line 51 of file dayzplayerimplementmeleecombat.c.

◆ m_DZPlayer

DayZPlayerImplement m_DZPlayer
protected

Parent.

Player executing the melee

Definition at line 54 of file dayzplayerimplementmeleecombat.c.

◆ m_FinisherType

int m_FinisherType
protected

Definition at line 74 of file dayzplayerimplementmeleecombat.c.

◆ m_ForceUntargetable

bool m_ForceUntargetable
protected

Misc - cache.

Forcing current target as untargetable

Definition at line 62 of file dayzplayerimplementmeleecombat.c.

◆ m_HitPositionWS

vector m_HitPositionWS
protected

Most recent target position.

Definition at line 76 of file dayzplayerimplementmeleecombat.c.

◆ m_HitType

EMeleeHitType m_HitType
protected

Hit type of the most recent attack.

Definition at line 70 of file dayzplayerimplementmeleecombat.c.

◆ m_HitZoneIdx

int m_HitZoneIdx
protected

Hit result - cache.

Most recent target HitZone index

Definition at line 73 of file dayzplayerimplementmeleecombat.c.

◆ m_HitZoneName

string m_HitZoneName
protected

Most recent target HitZone name.

Definition at line 75 of file dayzplayerimplementmeleecombat.c.

◆ m_MeleeTargeting

ref MeleeTargeting m_MeleeTargeting
protected

Target selecting "component".

Contains logic for Second Pass

Definition at line 37 of file dayzplayerimplementmeleecombat.c.

◆ m_NonAlignableObjects

ref array<typename> m_NonAlignableObjects
protected

Typenames of objects that can be targeted, but are not a priority (3rd Pass)

Definition at line 50 of file dayzplayerimplementmeleecombat.c.

◆ m_RayEnd

vector m_RayEnd
protected

End position of most recent HitZoneSelectionRaycast.

Definition at line 67 of file dayzplayerimplementmeleecombat.c.

◆ m_RayEndShort

vector m_RayEndShort
protected

DEPRECATED: "HitZoneSelection".

Definition at line 68 of file dayzplayerimplementmeleecombat.c.

◆ m_RayStart

vector m_RayStart
protected

Start position of most recent HitZoneSelectionRaycast.

Definition at line 66 of file dayzplayerimplementmeleecombat.c.

◆ m_SprintAttack

bool m_SprintAttack
protected

If most recent attack was a sprint attack.

Definition at line 63 of file dayzplayerimplementmeleecombat.c.

◆ m_TargetableObjects

ref array<typename> m_TargetableObjects
protected

Typenames of all directly/preferred targetable objects (1st Pass + 2nd Pass)

Definition at line 49 of file dayzplayerimplementmeleecombat.c.

◆ m_TargetObject

Object m_TargetObject
protected

Targets - types.

Main target found during most recent TargetSelection

Definition at line 40 of file dayzplayerimplementmeleecombat.c.

◆ m_TargetType

EMeleeTargetType m_TargetType
protected

DEPRECATED: Was added but never used..?

Definition at line 41 of file dayzplayerimplementmeleecombat.c.

◆ m_WasHit

bool m_WasHit
protected

If most recent attack was.

Definition at line 64 of file dayzplayerimplementmeleecombat.c.

◆ m_Weapon

InventoryItem m_Weapon
protected

Weapons - cache.

Weapon used during most recent Update

Definition at line 57 of file dayzplayerimplementmeleecombat.c.

◆ m_WeaponMode

int m_WeaponMode
protected

WeaponMode used during most recent Update.

Definition at line 58 of file dayzplayerimplementmeleecombat.c.

◆ m_WeaponRange

float m_WeaponRange
protected

WeaponRange used during most recent Update.

Definition at line 59 of file dayzplayerimplementmeleecombat.c.

◆ RANGE_EXTENDER_NORMAL

const float RANGE_EXTENDER_NORMAL = 0.65
protected

General range extension.

Definition at line 31 of file dayzplayerimplementmeleecombat.c.

◆ RANGE_EXTENDER_SPRINT

const float RANGE_EXTENDER_SPRINT = 1.35
protected

General range extension while in sprint.

Definition at line 32 of file dayzplayerimplementmeleecombat.c.

◆ TARGETING_ANGLE_NORMAL

enum EMeleeHitType TARGETING_ANGLE_NORMAL = 30.0

Target selection settings.

Second Pass: Half angle of cone

◆ TARGETING_ANGLE_SPRINT

const float TARGETING_ANGLE_SPRINT = 15.0
protected

Second Pass: Half angle of cone during sprint.

Definition at line 23 of file dayzplayerimplementmeleecombat.c.

◆ TARGETING_MAX_HEIGHT

const float TARGETING_MAX_HEIGHT = 2.0
protected

Second Pass: How high the cone goes in meters from player position.

Definition at line 25 of file dayzplayerimplementmeleecombat.c.

◆ TARGETING_MIN_HEIGHT

const float TARGETING_MIN_HEIGHT = -2.0
protected

Second Pass: How deep the cone goes in meters from player position.

Definition at line 24 of file dayzplayerimplementmeleecombat.c.

◆ TARGETING_RAY_DIST

const float TARGETING_RAY_DIST = 5.0
protected

DEPRECATED: "HitZoneSelection".

Definition at line 28 of file dayzplayerimplementmeleecombat.c.

◆ TARGETING_RAY_DIST_SHORT

const float TARGETING_RAY_DIST_SHORT = 2.0
protected

DEPRECATED: "HitZoneSelection".

Definition at line 29 of file dayzplayerimplementmeleecombat.c.

◆ TARGETING_RAY_RADIUS

const float TARGETING_RAY_RADIUS = 0.25
protected

DEPRECATED: "HitZoneSelection".

Definition at line 27 of file dayzplayerimplementmeleecombat.c.

◆ TARGETING_RAY_RADIUS_EX

const float TARGETING_RAY_RADIUS_EX = 0.5
protected

Second Pass: Max distance from ray projected from player looking direction.

Definition at line 26 of file dayzplayerimplementmeleecombat.c.