mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
Fix AI damage scaling
Fixes shots from AI using default scaling. For example AK_74 was doing 200 blood per shot or 60 shots to kill.
This commit is contained in:
@@ -5,7 +5,7 @@ scriptName "Functions\misc\fn_damageHandler.sqf";
|
|||||||
- Function
|
- Function
|
||||||
- [unit, selectionName, damage, source, projectile] call fnc_usec_damageHandler;
|
- [unit, selectionName, damage, source, projectile] call fnc_usec_damageHandler;
|
||||||
************************************************************/
|
************************************************************/
|
||||||
private ["_HitBy","_end","_unit","_hit","_damage","_unconscious","_source","_ammo","_Viralzed","_isMinor","_isHeadHit","_isPlayer","_isBandit","_punishment","_humanityHit","_myKills","_wpst","_sourceDist","_sourceWeap","_scale","_type","_nrj","_rndPain","_hitPain","_wound","_isHit","_isbleeding","_rndBleed","_hitBleed","_isInjured","_lowBlood","_rndInfection","_hitInfection","_isCardiac","_chance","_falling","_model","_isZombieHit","_sourceType","_sourceVehicleType"];
|
private ["_HitBy","_end","_unit","_hit","_damage","_unconscious","_source","_ammo","_Viralzed","_isMinor","_isHeadHit","_isPlayer","_isBandit","_punishment","_humanityHit","_myKills","_wpst","_sourceDist","_sourceWeap","_scale","_type","_nrj","_rndPain","_hitPain","_wound","_isHit","_isbleeding","_rndBleed","_hitBleed","_isInjured","_lowBlood","_rndInfection","_hitInfection","_isCardiac","_chance","_falling","_model","_isZombieHit","_sourceType","_sourceVehicleType","_isMan"];
|
||||||
_unit = _this select 0;
|
_unit = _this select 0;
|
||||||
_hit = _this select 1;
|
_hit = _this select 1;
|
||||||
_damage = _this select 2;
|
_damage = _this select 2;
|
||||||
@@ -19,6 +19,7 @@ _sourceVehicleType = typeOf (vehicle _source);
|
|||||||
_Viralzed = _sourceType in DayZ_ViralZeds;
|
_Viralzed = _sourceType in DayZ_ViralZeds;
|
||||||
_isMinor = (_hit in USEC_MinorWounds);
|
_isMinor = (_hit in USEC_MinorWounds);
|
||||||
_isHeadHit = (_hit == "head_hit");
|
_isHeadHit = (_hit == "head_hit");
|
||||||
|
_isMan = _sourceType isKindOf "CAManBase";
|
||||||
_isPlayer = (isPlayer _source);
|
_isPlayer = (isPlayer _source);
|
||||||
_isZombieHit = _ammo == "zombie";
|
_isZombieHit = _ammo == "zombie";
|
||||||
|
|
||||||
@@ -185,7 +186,7 @@ if (_unit == player) then {
|
|||||||
case (_ammo == "RunOver"): {"runover"};
|
case (_ammo == "RunOver"): {"runover"};
|
||||||
case (_ammo == "Dragged"): {"eject"};
|
case (_ammo == "Dragged"): {"eject"};
|
||||||
case (_ammo in MeleeAmmo): {"melee"};
|
case (_ammo in MeleeAmmo): {"melee"};
|
||||||
case (_source isKindOf "CAManBase" && !local _source && !(currentWeapon _source in ["","Throw"])): {"shot"};
|
case (_isMan && !local _source && !(currentWeapon _source in ["","Throw"])): {"shot"};
|
||||||
//(vehicle _source != _source) does not work to detect if source unit is in a vehicle in HandleDamage EH
|
//(vehicle _source != _source) does not work to detect if source unit is in a vehicle in HandleDamage EH
|
||||||
case (_sourceVehicleType isKindOf "LandVehicle" or _sourceVehicleType isKindOf "Air" or _sourceVehicleType isKindOf "Ship"): {"shot"};
|
case (_sourceVehicleType isKindOf "LandVehicle" or _sourceVehicleType isKindOf "Air" or _sourceVehicleType isKindOf "Ship"): {"shot"};
|
||||||
default {"none"};
|
default {"none"};
|
||||||
@@ -228,7 +229,7 @@ if (_damage > 0.4) then {
|
|||||||
|
|
||||||
//End body part scale
|
//End body part scale
|
||||||
//???????????
|
//???????????
|
||||||
if ((isPlayer _source) and !(player == _source)) then {
|
if (!(player == _source) && (isPlayer _source or (_isMan && !_isZombieHit))) then {
|
||||||
_scale = _scale + 800;
|
_scale = _scale + 800;
|
||||||
if (_isHeadHit) then {
|
if (_isHeadHit) then {
|
||||||
_scale = _scale + 500;
|
_scale = _scale + 500;
|
||||||
|
|||||||
Reference in New Issue
Block a user