diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index 70afc7dffa..052c1da26e 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -19,6 +19,7 @@ class ACE_Medical_Actions { animationPatient = ""; animationPatientUnconscious = "AinjPpneMstpSnonWrflDnon_rolltoback"; + animationPatientUnconsciousExcludeOn[] = {"ainjppnemstpsnonwrfldnon"}; animationCaller = "AinvPknlMstpSnonWnonDnon_medic4"; animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medic"; animationCallerSelf = "AinvPknlMstpSlayW[wpn]Dnon_medic"; @@ -113,6 +114,7 @@ class ACE_Medical_Actions { itemConsumed = 1; animationPatient = ""; animationPatientUnconscious = "AinjPpneMstpSnonWrflDnon_rolltoback"; + animationPatientUnconsciousExcludeOn[] = {"ainjppnemstpsnonwrfldnon"}; animationCaller = "AinvPknlMstpSnonWnonDnon_medic4"; animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medic"; animationCallerSelf = "AinvPknlMstpSlayW[wpn]Dnon_medic"; diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index a001f2fcf4..455c2f23e3 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -137,9 +137,9 @@ _startingTime = time; // A check to ensure that the animation is being played properly. // TODO: Might no longer be necessary: Have to test this in MP. - if (vehicle _unit == _unit && {animationState _unit != "deadState" && animationState _unit != "unconscious"} && {(isNull ([_unit] call EFUNC(common,getCarriedBy)))} && (time - _startingTime >= 0.5)) then { - [_unit,([_unit] call FUNC(getDeathAnim)), 1, true] call EFUNC(common,doAnimation); // Reset animations if unit starts doing wierd things. - }; + // if (vehicle _unit == _unit && {animationState _unit != "deadState" && animationState _unit != "unconscious"} && {(isNull ([_unit] call EFUNC(common,getCarriedBy)))} && (time - _startingTime >= 0.5)) then { + //[_unit,([_unit] call FUNC(getDeathAnim)), 1, true] call EFUNC(common,doAnimation); // Reset animations if unit starts doing wierd things. + //}; }, 0.1, [_unit,_animState, _originalPos, _startingTime, _minWaitingTime, false] ] call CBA_fnc_addPerFrameHandler; diff --git a/addons/medical/functions/fnc_treatment.sqf b/addons/medical/functions/fnc_treatment.sqf index 8c7028bf4b..31b0d72fe9 100644 --- a/addons/medical/functions/fnc_treatment.sqf +++ b/addons/medical/functions/fnc_treatment.sqf @@ -90,11 +90,17 @@ if (isNil _callbackProgress) then { // Patient Animation _patientAnim = getText (_config >> "animationPatient"); if (_target getvariable ["ACE_isUnconscious", false]) then { - _patientAnim = getText (_config >> "animationPatientUnconscious"); + if !(animationState _target in (getArray (_config >> "animationPatientUnconsciousExcludeOn"))) then { + _patientAnim = getText (_config >> "animationPatientUnconscious"); + }; }; if (_caller != _target && {vehicle _target == _target} && {_patientAnim != ""}) then { - [_target, _patientAnim, 2, true] call EFUNC(common,doAnimation); + if (_target getvariable ["ACE_isUnconscious", false]) then { + [_target, _patientAnim, 2, true] call EFUNC(common,doAnimation); + } else { + [_target, _patientAnim, 1, true] call EFUNC(common,doAnimation); + }; }; // Player Animation diff --git a/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf index 1531a6858f..c003f48ead 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf @@ -99,7 +99,7 @@ if (_impact > 0) then { // If all wounds have been bandaged, we will reset all damage to 0, so the unit is not showing any blood on the model anymore. if (count _openWounds == 0) then { _target setDamage 0; - // TODO also set hitpoints to 0 + // _target setvariable [QGVAR(bodyPartStatus), [0,0,0,0,0,0], true]; }; true;