mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Medical Blood - Small optimizations (#6984)
This commit is contained in:
parent
709548c1ef
commit
366f49295f
@ -30,13 +30,13 @@ if (isServer) then {
|
||||
if ((GVAR(enabledFor) == 1) && {!hasInterface}) exitWith {}; // 1: enabledFor_OnlyPlayers
|
||||
|
||||
private _listcode = if (GVAR(enabledFor) == 1) then {
|
||||
{[ACE_player]} // ace_player is only possible local player
|
||||
{if (alive ACE_player) then {[ACE_player]} else {[]}} // ace_player is only possible local player
|
||||
} else {
|
||||
EFUNC(common,getLocalUnits) // filter all local units
|
||||
};
|
||||
|
||||
private _stateMachine = [_listcode, true] call CBA_statemachine_fnc_create;
|
||||
[_stateMachine, {call FUNC(onBleeding)}, {}, {}, "Bleeding"] call CBA_statemachine_fnc_addState;
|
||||
[_stateMachine, LINKFUNC(onBleeding), {}, {}, "Bleeding"] call CBA_statemachine_fnc_addState;
|
||||
|
||||
[QEGVAR(medical,woundReceived), FUNC(handleWoundReceived)] call CBA_fnc_addEventHandler;
|
||||
}] call CBA_fnc_addEventHandler;
|
||||
|
@ -20,12 +20,10 @@ params ["_unit"];
|
||||
if (!([_unit] call FUNC(isBleeding))) exitWith {};
|
||||
if (((vehicle _unit) != _unit) && {!((vehicle _unit) isKindOf "StaticWeapon")}) exitWith {}; // Don't bleed on ground if mounted
|
||||
|
||||
private _lastTime = _unit getVariable [QGVAR(lastTime), -10];
|
||||
private _bloodLoss = (if (GVAR(useAceMedical)) then {GET_BLOOD_LOSS(_unit) * 2.5} else {getDammage _unit * 2}) min 6;
|
||||
TRACE_1("",_bloodLoss);
|
||||
|
||||
if ((CBA_missionTime - _lastTime) + _bloodLoss >= 8 + random 2) then {
|
||||
_unit setVariable [QGVAR(lastTime), CBA_missionTime];
|
||||
if (CBA_missionTime > (_unit getVariable [QGVAR(nextTime), -10])) then {
|
||||
private _bloodLoss = (if (GVAR(useAceMedical)) then {GET_BLOOD_LOSS(_unit) * 2.5} else {getDammage _unit * 2}) min 6;
|
||||
TRACE_2("",_unit,_bloodLoss);
|
||||
_unit setVariable [QGVAR(nextTime), CBA_missionTime + 8 + random 2 - _bloodLoss];
|
||||
|
||||
private _position = getPosASL _unit;
|
||||
_position = _position vectorAdd [
|
||||
@ -36,5 +34,5 @@ if ((CBA_missionTime - _lastTime) + _bloodLoss >= 8 + random 2) then {
|
||||
_position set [2, 0];
|
||||
|
||||
private _bloodDrop = ["blooddrop_1", "blooddrop_2", "blooddrop_3", "blooddrop_4"] select floor (_bloodLoss min 3);
|
||||
[_bloodDrop, _position, getDir _unit] call FUNC(createBlood);
|
||||
[_bloodDrop, _position] call FUNC(createBlood);
|
||||
};
|
||||
|
@ -22,7 +22,6 @@
|
||||
#define OFFSET 0.25
|
||||
|
||||
params ["_unit", "_dir", "_damage"];
|
||||
_damage = _damage min 1;
|
||||
|
||||
private _distanceBetweenDrops = DISTANCE_BETWEEN_DROPS * _damage;
|
||||
private _offset = OFFSET + _distanceBetweenDrops;
|
||||
|
Loading…
Reference in New Issue
Block a user