mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
44 lines
1.5 KiB
Plaintext
44 lines
1.5 KiB
Plaintext
//[unit, selectionName, damage, source, projectile]
|
|
//will only run when local to the created object
|
|
//record any key hits to the required selection
|
|
private ["_damage","_headShots"];
|
|
|
|
_zed = _this select 0;
|
|
_selection = _this select 1;
|
|
_damage = _this select 2;
|
|
_hitter = _this select 3;
|
|
_projectile = _this select 4;
|
|
|
|
_meleeAmmo = ["Hatchet_Swing_Ammo","Sledge_Swing_Ammo","Machete_Swing_Ammo","Crowbar_Swing_Ammo","Bat_Swing_Ammo","BatBarbed_Swing_Ammo","Fishing_Swing_Ammo","BatNailed_Swing_Ammo"];
|
|
|
|
if (_projectile in _meleeAmmo) then {
|
|
_damage = _damage * 10;
|
|
};
|
|
|
|
if (local _zed) then {
|
|
if (_damage > 1 and _projectile != "") then {
|
|
//Record deliberate critical damages
|
|
switch (_selection) do {
|
|
case "head_hit": {
|
|
if (!(_zed getVariable["hitRegistered",false])) then {
|
|
_headShots = _hitter getVariable["headShots",0];
|
|
_hitter setVariable["headShots",(_headShots + 1),true];
|
|
_zed setVariable["hitRegistered",true];
|
|
};
|
|
};
|
|
};
|
|
|
|
//diag_log format["0: %1, 1: %2, 2: %3, 3: %4, 4: %5",_zed,_selection,_damage,_hitter,_projectile];
|
|
|
|
if (_projectile isKindOf "Bolt") then {
|
|
_damageOrg = _hitter getVariable["firedDamage",0]; //_unit getVariable["firedSelection",_selection];
|
|
if (_damageOrg < _damage) then {
|
|
_hitter setVariable["firedHit",[_zed,_selection],true];
|
|
_hitter setVariable["firedDamage",_damage,true];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
// all "HandleDamage event" functions should return the effective damage that the engine will record
|
|
_damage |