From eef7c1295a84a8d962271709222b4d4552875eb8 Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 11 Jun 2015 17:36:18 +0200 Subject: [PATCH] Added new adv. medical module option 'painIsOnlySuppressed' --- addons/medical/ACE_Settings.hpp | 5 +++++ addons/medical/CfgVehicles.hpp | 8 +++++++- .../fnc_moduleAdvancedMedicalSettings.sqf | 1 + .../fnc_treatmentAdvanced_medicationLocal.sqf | 11 +++++++++-- addons/medical/stringtable.xml | 15 +++++++++++++++ 5 files changed, 37 insertions(+), 3 deletions(-) diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index f9ae58780f..6fafbb3612 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -138,6 +138,11 @@ class ACE_Settings { typeName = "BOOL"; value = 0; }; + class GVAR(painIsOnlySuppressed) { + displayName = CSTRING(painIsOnlySuppressed); + typeName = "BOOL"; + value = 1; + }; class GVAR(painEffectType) { displayName = CSTRING(painEffectType); typeName = "SCALAR"; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 81ca3a91f3..b56be4a921 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -225,7 +225,13 @@ class CfgVehicles { displayName = CSTRING(AdvancedMedicalSettings_healHitPointAfterAdvBandage_DisplayName); description = CSTRING(AdvancedMedicalSettings_healHitPointAfterAdvBandage_Description); typeName = "BOOL"; - defaultValue = 0; + defaultValue = 0; + }; + class painIsOnlySuppressed { + displayName = CSTRING(AdvancedMedicalSettings_painIsOnlySuppressed_DisplayName); + description = CSTRING(AdvancedMedicalSettings_painIsOnlySuppressed_Description); + typeName = "BOOL"; + defaultValue = 1; }; }; class ModuleDescription { diff --git a/addons/medical/functions/fnc_moduleAdvancedMedicalSettings.sqf b/addons/medical/functions/fnc_moduleAdvancedMedicalSettings.sqf index f75d6b9531..5263044583 100644 --- a/addons/medical/functions/fnc_moduleAdvancedMedicalSettings.sqf +++ b/addons/medical/functions/fnc_moduleAdvancedMedicalSettings.sqf @@ -34,3 +34,4 @@ if !(_activated) exitWith {}; [_logic, QGVAR(useLocation_PAK), "useLocation_PAK"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(useLocation_SurgicalKit), "useLocation_SurgicalKit"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(healHitPointAfterAdvBandage), "healHitPointAfterAdvBandage"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(painIsOnlySuppressed), "painIsOnlySuppressed"] call EFUNC(common,readSettingFromModule); diff --git a/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf index 4936d0e412..0b3bc9ea22 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf @@ -73,8 +73,15 @@ if (alive _target) then { if (_painReduce > 0) then { // Reduce the pain level - _painSuppress = _target getvariable [QGVAR(painSuppress), 0]; - _target setvariable [QGVAR(painSuppress), (_painSuppress + _painReduce) max 0]; + if (GVAR(painIsOnlySuppressed)) then { + // Suppress the pain + _painSuppress = _target getvariable [QGVAR(painSuppress), 0]; + _target setvariable [QGVAR(painSuppress), (_painSuppress + _painReduce) max 0]; + } else { + // Remove the pain + _pain = _target getvariable [QGVAR(pain), 0]; + _target setvariable [QGVAR(pain), (_pain - _painReduce) max 0, true]; + }; }; _resistance = _target getvariable [QGVAR(peripheralResistance), 100]; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 95771f12ad..f42d1d6cb4 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -2209,6 +2209,11 @@ Bandagieren entfernt Blutflecken Bandażowanie usuwa ślady krwi + + Pain is only temporarily suppressed + Schmerzen werden nur vorübergehend unterdrückt + Ból jest tymczasowo zwalczany + Pain Effect Type Schmerzeffekt-Typ @@ -3149,6 +3154,16 @@ Bandagieren entfernt Blutflecken Bandażowanie usuwa ślady krwi + + Pain suppression + Schmerzunterdrückung + Zwalczanie bólu + + + Pain is only temporarily suppressed, not removed + Bandagieren entfernt Blutflecken + Ból jest tylko tymczasowo zwalczany, nie jest usuwany trwale + Configure the treatment settings from ACE Medical Настройка лечения в медицинской системе ACE