mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 20:13:13 +03:00
77 lines
2.1 KiB
Plaintext
77 lines
2.1 KiB
Plaintext
/***********************************************************
|
|
ASSIGN DAMAGE TO A UNIT
|
|
- Function Vehicle_HandleDamage
|
|
- [unit, selectionName, damage, source, projectile] call Vehicle_HandleDamage;
|
|
************************************************************/
|
|
private ["_unit","_selection","_strH","_dam","_total","_needUpdate"];
|
|
_unit = _this select 0;
|
|
_selection = _this select 1;
|
|
_total = _this select 2;
|
|
_dam = _unit getVariable["totalDmg",0];
|
|
_needUpdate = _unit getVariable["needUpdate",false];
|
|
|
|
if (_dam < 1 ) then {
|
|
if ( (_selection != "") ) then {
|
|
_strH = "hit_" + (_selection);
|
|
} else {
|
|
_strH = "totalDmg";
|
|
};
|
|
if (_total > 0.98) then {
|
|
_total = 1;
|
|
};
|
|
if ( _total>0 ) then {
|
|
_unit setVariable [_strH,_total,true];
|
|
if ( !_needUpdate ) then {
|
|
_unit setVariable ["needUpdate",true,true];
|
|
//["PVDZE_veh_Update",[_unit,"damage"]] call callRpcProcedure;
|
|
if (isServer) then {
|
|
[_unit, "damage"] call server_updateObject;
|
|
} else {
|
|
PVDZE_veh_Update = [_unit,"damage"];
|
|
publicVariableServer "PVDZE_veh_Update";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
_total
|
|
|
|
/* WIP - PVS/PVC - Skaronator - CP out of DayZ Mod 1.8
|
|
private["_unit","_selection","_strH","_total","_damage","_needUpdate"];
|
|
|
|
_unit = _this select 0;
|
|
_selection = _this select 1;
|
|
_total = _this select 2;
|
|
|
|
if (_selection != "") then {
|
|
_strH = "hit_" + _selection;
|
|
} else {
|
|
_strH = "totalDmg";
|
|
};
|
|
|
|
if (_total >= 0.98) then {
|
|
_total = 1.0;
|
|
};
|
|
|
|
if (local _unit) then {
|
|
if (_total > 0) then {
|
|
|
|
_unit setVariable [_strH, _total, true];
|
|
_unit setHit [_selection, _total];
|
|
|
|
if (isServer) then {
|
|
[_unit, "damage"] call server_updateObject;
|
|
} else {
|
|
PVDZE_veh_Update = [_unit,"damage"];
|
|
publicVariableServer "PVDZE_veh_Update";
|
|
};
|
|
};
|
|
} else {
|
|
// vehicle is not local to this client, ask the client which vehicle is local to set damage
|
|
//_this resize 5; // delete "broadcast" boolean
|
|
PVDZE_send = [_unit,"VehHandleDam",_this];
|
|
publicVariableServer "PVDZE_send";
|
|
};
|
|
|
|
// all "HandleDamage event" functions should return the effective damage that the engine will record for that part
|
|
_total
|
|
*/ |