diff --git a/addons/overpressure/CfgEden.hpp b/addons/overpressure/CfgEden.hpp new file mode 100644 index 00000000000..18bcb88aaa4 --- /dev/null +++ b/addons/overpressure/CfgEden.hpp @@ -0,0 +1,21 @@ +class Cfg3DEN { + class Object { + class AttributeCategories { + class ace_attributes { + class Attributes { + class GVAR(overPressureDistanceSetting) { + displayName = CSTRING(distanceCoefficient_displayName); + tooltip = CSTRING(distanceCoefficient_toolTip); + property = QUOTE(overpressureDistanceCoefficient); + control = "Edit"; + expression = QUOTE(_this setVariable [ARR_3(QQEGVAR(overpressure,distance),_value,true)]); + defaultValue = -1; + validate = "number"; + typeName = "NUMBER"; + condition = "objectVehicle"; + }; + }; + }; + }; + }; +}; diff --git a/addons/overpressure/config.cpp b/addons/overpressure/config.cpp index 7274cd50593..238acb8e8c6 100644 --- a/addons/overpressure/config.cpp +++ b/addons/overpressure/config.cpp @@ -8,7 +8,7 @@ class CfgPatches { requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; author = ECSTRING(common,ACETeam); - authors[] = {"commy2","KoffeinFlummi","esteldunedain"}; + authors[] = {"commy2","KoffeinFlummi","esteldunedain", "bluefield"}; url = ECSTRING(main,URL); VERSION_CONFIG; }; @@ -17,3 +17,4 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgWeapons.hpp" #include "ACE_Arsenal_Stats.hpp" +#include "CfgEden.hpp" diff --git a/addons/overpressure/functions/fnc_firedEHOP.sqf b/addons/overpressure/functions/fnc_firedEHOP.sqf index eb51a055076..6428fefa44a 100644 --- a/addons/overpressure/functions/fnc_firedEHOP.sqf +++ b/addons/overpressure/functions/fnc_firedEHOP.sqf @@ -22,7 +22,11 @@ TRACE_8("firedEH:",_unit,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile,_gunn private _opValues = [_weapon, _ammo, _magazine] call FUNC(getOverPressureValues); _opValues params ["_dangerZoneAngle", "_dangerZoneRange", "_dangerZoneDamage"]; -_dangerZoneRange = _dangerZoneRange * GVAR(overpressureDistanceCoefficient); + +private _unitOverpressureRangeAttribute = _unit getVariable [QEGVAR(overpressure,distance), -1]; + +// If -1 (disabled) we return to server value, otherwise we use the given value. +_dangerZoneRange = _dangerZoneRange * ([_unitOverpressureRangeAttribute, GVAR(overpressureDistanceCoefficient)] select (_unitOverpressureRangeAttribute < 0)); TRACE_3("cache",_dangerZoneAngle,_dangerZoneRange,_dangerZoneDamage);