From 147bb925413281d55859a2262cd96405f151e5c2 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Sun, 5 Apr 2015 20:23:07 +0200 Subject: [PATCH] Added setting to disable variable sync (recommended on) --- addons/medical/ACE_Settings.hpp | 19 +++++++++++++------ addons/medical/CfgVehicles.hpp | 6 ++++++ .../functions/fnc_handleUnitVitals.sqf | 2 +- .../functions/fnc_moduleMedicalSettings.sqf | 1 + 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index 51ad3533f6..915beafd6c 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -16,13 +16,12 @@ class ACE_Settings { }; class GVAR(enableOverdosing) { typeName = "BOOL"; - value = true; + value = 1; }; class GVAR(bleedingCoefficient) { typeName = "SCALAR"; value = 1; }; - class GVAR(enableAirway) { typeName = "BOOL"; value = false; @@ -37,11 +36,11 @@ class ACE_Settings { }; class GVAR(enableVehicleCrashes) { typeName = "BOOL"; - value = true; + value = 1; }; class GVAR(enableScreams) { typeName = "BOOL"; - value = true; + value = 1; }; class GVAR(playerDamageThreshold) { typeName = "SCALAR"; @@ -58,7 +57,7 @@ class ACE_Settings { }; class GVAR(preventInstaDeath) { typeName = "BOOL"; - value = false; + value = 0; }; class GVAR(maxReviveTime) { typeName = "SCALAR"; @@ -70,7 +69,7 @@ class ACE_Settings { }; class GVAR(allowDeadBodyMovement) { typeName = "BOOL"; - value = false; + value = 0; }; class GVAR(allowLitterCreation) { typeName = "BOOL"; @@ -83,17 +82,25 @@ class ACE_Settings { class GVAR(medicSetting_PAK) { typeName = "SCALAR"; value = 1; + values[] = {"Anyone", "Medics only", "Doctors only"}; }; class GVAR(medicSetting_SurgicalKit) { typeName = "SCALAR"; value = 1; + values[] = {"Anyone", "Medics only", "Doctors only"}; }; class GVAR(consumeItem_PAK) { typeName = "SCALAR"; value = 0; + values[] = {"No", "Yes"}; }; class GVAR(consumeItem_SurgicalKit) { typeName = "SCALAR"; value = 0; + values[] = {"No", "Yes"}; + }; + class GVAR(keepLocalSettingsSynced) { + typeName = "BOOL"; + value = 1; }; }; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 9f2f4a597b..a1110019ae 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -128,6 +128,12 @@ class CfgVehicles { typeName = "NUMBER"; defaultValue = 1; }; + class keepLocalSettingsSynced { + displayName = "Sync status"; + description = "Keep unit status synced. Recommended on."; + typeName = "BOOL"; + defaultValue = 1; + }; }; class ModuleDescription { description = "Provides a medical system for both players and AI."; diff --git a/addons/medical/functions/fnc_handleUnitVitals.sqf b/addons/medical/functions/fnc_handleUnitVitals.sqf index 107480108b..fc13e19d29 100644 --- a/addons/medical/functions/fnc_handleUnitVitals.sqf +++ b/addons/medical/functions/fnc_handleUnitVitals.sqf @@ -22,7 +22,7 @@ _unit setVariable [QGVAR(lastMomentVitalsHandled), time]; if (_interval == 0) exitWith {}; _lastTimeValuesSynced = _unit getvariable [QGVAR(lastMomentValuesSynced), 0]; -_syncValues = time - _lastTimeValuesSynced >= (10 + floor(random(10))); +_syncValues = (time - _lastTimeValuesSynced >= (10 + floor(random(10))) && GVAR(keepLocalSettingsSynced)); if (_syncValues) then { _unit setvariable [QGVAR(lastMomentValuesSynced), time]; }; diff --git a/addons/medical/functions/fnc_moduleMedicalSettings.sqf b/addons/medical/functions/fnc_moduleMedicalSettings.sqf index 4fa90ae267..34dd063a4d 100644 --- a/addons/medical/functions/fnc_moduleMedicalSettings.sqf +++ b/addons/medical/functions/fnc_moduleMedicalSettings.sqf @@ -34,3 +34,4 @@ if !(_activated) exitWith {}; [_logic, QGVAR(enableUnsconsiousnessAI), "enableUnsconsiousnessAI"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(preventInstaDeath), "preventInstaDeath"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(bleedingCoefficient), "bleedingCoefficient"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(keepLocalSettingsSynced), "keepLocalSettingsSynced"] call EFUNC(common,readSettingFromModule);