mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Medical - Fix broken AI ragdolls if AI unconsciousness is disabled (#9917)
Co-authored-by: jonpas <jonpas33@gmail.com> Co-authored-by: PabstMirror <pabstmirror@gmail.com>
This commit is contained in:
parent
f3f7f2c492
commit
6a2f3a21f2
@ -86,12 +86,6 @@
|
||||
if (!isNull objectParent _unit && {local objectParent _unit}) exitWith {
|
||||
[_unit] call FUNC(lockUnconsciousSeat);
|
||||
};
|
||||
|
||||
// Prevent second ragdoll of uncon units when they're killed
|
||||
if (IS_UNCONSCIOUS(_unit) && !isAwake _unit) then {
|
||||
_unit enableSimulation false;
|
||||
[{_this enableSimulation true}, _unit, 2] call CBA_fnc_waitAndExecute;
|
||||
};
|
||||
}] call CBA_fnc_addEventHandler;
|
||||
|
||||
["CAManBase", "deleted", {
|
||||
|
@ -10,6 +10,12 @@ class Extended_PreInit_EventHandlers {
|
||||
};
|
||||
};
|
||||
|
||||
class Extended_PostInit_EventHandlers {
|
||||
class ADDON {
|
||||
init = QUOTE(call COMPILE_SCRIPT(XEH_postInit));
|
||||
};
|
||||
};
|
||||
|
||||
class Extended_Respawn_EventHandlers {
|
||||
class CAManBase {
|
||||
class ADDON {
|
||||
|
14
addons/medical_statemachine/XEH_postInit.sqf
Normal file
14
addons/medical_statemachine/XEH_postInit.sqf
Normal file
@ -0,0 +1,14 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
["ace_killed", { // global event
|
||||
params ["_unit"];
|
||||
|
||||
// Prevent second ragdoll of uncon units when they're killed
|
||||
if (
|
||||
IS_UNCONSCIOUS(_unit) && !isAwake _unit // uncon and not ragdolling
|
||||
&& {isPlayer _unit || {_unit getVariable [QGVAR(AIUnconsciousness), GVAR(AIUnconsciousness)]}}
|
||||
) then {
|
||||
_unit enableSimulation false;
|
||||
[{_this enableSimulation true}, _unit, 2] call CBA_fnc_waitAndExecute;
|
||||
};
|
||||
}] call CBA_fnc_addEventHandler;
|
@ -17,10 +17,14 @@
|
||||
params ["_unit", ["_reason", "#setDead"], ["_instigator", objNull]];
|
||||
TRACE_3("setDead",_unit,_reason,_instigator);
|
||||
|
||||
|
||||
// No heart rate or blood pressure to measure when dead
|
||||
_unit setVariable [VAR_HEART_RATE, 0, true];
|
||||
_unit setVariable [VAR_BLOOD_PRESS, [0, 0], true];
|
||||
|
||||
// Clear uncon variable just to be safe
|
||||
_unit setVariable [VAR_UNCON, nil, true];
|
||||
|
||||
_unit setVariable [QEGVAR(medical,causeOfDeath), _reason, true];
|
||||
|
||||
// Send a local event before death
|
||||
|
Loading…
Reference in New Issue
Block a user