From d81e943590c81c73a876cadb0a72dcbbeb9cb79b Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 9 Aug 2017 12:13:29 -0500 Subject: [PATCH 1/2] Delete medical litter on building explosion --- addons/medical/XEH_postInit.sqf | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 979f3c47bc..33119c870a 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -31,6 +31,20 @@ GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; if (isServer) then { ["ace_placedInBodyBag", FUNC(serverRemoveBody)] call CBA_fnc_addEventHandler; [QGVAR(createLitterServer), FUNC(handleCreateLitter)] call CBA_fnc_addEventHandler; + addMissionEventHandler ["BuildingChanged", { + if (isNil QGVAR(allCreatedLitter)) exitWith {}; + params ["_buildingOld", "_buildingNew", "_isRuin"]; + TRACE_3("BuildingChanged",_buildingOld,_buildingNew,_isRuin); + private _radius = ((0.75 * getNumber (configFile >> "CfgVehicles" >> (typeOf _buildingOld) >> "mapsize")) max 5) min 50; + TRACE_1("",_radius); + { + _x params ["", "_objects"]; + if (({(_x distance2d _buildingOld) < _radius} count _objects) > 0) then { + GVAR(allCreatedLitter) deleteAt (GVAR(allCreatedLitter) find _x); + { TRACE_1("deleting",_x); deleteVehicle _x } forEach _objects; + }; + } forEach (+GVAR(allCreatedLitter)); + }]; }; ["ace_unconscious", { From 7d4bc85f75774c559e733fa57af92625fe194e75 Mon Sep 17 00:00:00 2001 From: commy2 Date: Mon, 4 Dec 2017 13:18:56 +0100 Subject: [PATCH 2/2] tweak radius, and med junk height check --- addons/medical/XEH_postInit.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 33119c870a..40f18eb151 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -35,11 +35,11 @@ if (isServer) then { if (isNil QGVAR(allCreatedLitter)) exitWith {}; params ["_buildingOld", "_buildingNew", "_isRuin"]; TRACE_3("BuildingChanged",_buildingOld,_buildingNew,_isRuin); - private _radius = ((0.75 * getNumber (configFile >> "CfgVehicles" >> (typeOf _buildingOld) >> "mapsize")) max 5) min 50; + private _radius = sizeOf typeOf _buildingOld / 2; TRACE_1("",_radius); { _x params ["", "_objects"]; - if (({(_x distance2d _buildingOld) < _radius} count _objects) > 0) then { + if (({(_x distance2d _buildingOld) < _radius && {getPos _x select 2 > 0.1}} count _objects) > 0) then { GVAR(allCreatedLitter) deleteAt (GVAR(allCreatedLitter) find _x); { TRACE_1("deleting",_x); deleteVehicle _x } forEach _objects; };