Add HealTime modifiers to medical settings (#5188)

* Add modifiers of TreatmentTime of PAK and Medkit to settings

* Fix indents and stringtable tags

* Fix Healtime vars

* Absolute time for PAK to settings

* Add Medkit Healtime setting
This commit is contained in:
Ľuboš Lendáč 2017-12-30 13:01:23 +01:00 committed by SilentSpike
parent f4e8972a37
commit 38e7913caf
8 changed files with 67 additions and 3 deletions

View File

@ -41,6 +41,7 @@ Alganthe <alganthe@live.fr>
Andrea "AtixNeon" Verano <veranoandrea88@gmail.com> Andrea "AtixNeon" Verano <veranoandrea88@gmail.com>
Anthariel <Contact@storm-simulation.com> Anthariel <Contact@storm-simulation.com>
Anton Anton
Arcanum417 <lubos.len@gmail.com>
Arkhir <wonsz666@gmail.com > Arkhir <wonsz666@gmail.com >
Asgar Serran <piechottaf@web.de> Asgar Serran <piechottaf@web.de>
BaerMitUmlaut BaerMitUmlaut

View File

@ -305,6 +305,7 @@ class GVAR(Actions) {
items[] = {"ACE_medKit"}; items[] = {"ACE_medKit"};
treatmentLocations[] = {QEGVAR(medical,useLocation_MedKit)}; treatmentLocations[] = {QEGVAR(medical,useLocation_MedKit)};
requiredMedic = QEGVAR(medical,medicSetting_MedKit); requiredMedic = QEGVAR(medical,medicSetting_MedKit);
treatmentTime = QUOTE(_target call FUNC(HealTimeMedkit));
callbackSuccess = QFUNC(treatmentPartialHeal); callbackSuccess = QFUNC(treatmentPartialHeal);
itemConsumed = QEGVAR(medical,consumeItem_MedKit); itemConsumed = QEGVAR(medical,consumeItem_MedKit);
}; };

View File

@ -23,4 +23,18 @@ class ACE_Settings {
typeName = "SCALAR"; typeName = "SCALAR";
value = 0; value = 0;
}; };
class EGVAR(medical,MedkitTime) {
category = ECSTRING(medical,Category_Medical);
displayName = CSTRING(MedkitTime);
description = CSTRING(MedkitTime_Description);
typeName = "SCALAR";
value = 0;
};
class EGVAR(medical,PAKTime) {
category = ECSTRING(medical,Category_Medical);
displayName = CSTRING(PAKTime);
description = CSTRING(PAKTime_Description);
typeName = "SCALAR";
value = 0;
};
}; };

View File

@ -43,6 +43,7 @@ PREP(dropDownTriageCard);
PREP(getTriageStatus); PREP(getTriageStatus);
PREP(handleBandageOpening); PREP(handleBandageOpening);
PREP(healTime); PREP(healTime);
PREP(HealTimeMedkit);
PREP(isBeingCarried); PREP(isBeingCarried);
PREP(isBeingDragged); PREP(isBeingDragged);
PREP(onMedicationUsage); PREP(onMedicationUsage);

View File

@ -8,7 +8,7 @@ class CfgPatches {
requiredVersion = REQUIRED_VERSION; requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_medical"}; requiredAddons[] = {"ace_medical"};
author = ECSTRING(common,ACETeam); author = ECSTRING(common,ACETeam);
authors[] = {""}; authors[] = {"Glowbal", "KoffeinFlummi", "Arcanum"};
url = ECSTRING(main,URL); url = ECSTRING(main,URL);
VERSION_CONFIG; VERSION_CONFIG;
}; };

View File

@ -0,0 +1,31 @@
/*
* Author: Ruthberg, Arcanum
* Calculates the personal aid kit treatment time based on amount of damage to heal
*
* Arguments:
* unit <OBJECT>
*
* Return Value:
* treatment time <NUMBER>
*
* Example:
* [_target] call ace_medical_treatment_fnc_HealTimeMedkit
*
* Public: No
*/
#include "script_component.hpp"
params ["_unit"];
private _totalDamage = 0;
private _treatTime = 0;
{
_totalDamage = _totalDamage + _x;
} forEach (_unit getVariable [QEGVAR(medical,bodyPartDamage), []]);
if (EGVAR(medical,MedkitTime) > 0) then {
_treatTime = EGVAR(medical,MedkitTime);
} else {
_treatTime = 10 max (_totalDamage * 5) min 180;
};
_treatTime

View File

@ -18,9 +18,14 @@
params ["_unit"]; params ["_unit"];
private _totalDamage = 0; private _totalDamage = 0;
private _treatTime = 0;
{ {
_totalDamage = _totalDamage + _x; _totalDamage = _totalDamage + _x;
} forEach (_unit getVariable [QEGVAR(medical,bodyPartDamage), []]); } forEach (_unit getVariable [QEGVAR(medical,bodyPartDamage), []]);
if (EGVAR(medical,PAKTime) > 0) then {
10 max (_totalDamage * 5) min 180 _treatTime = EGVAR(medical,PAKTime);
} else {
_treatTime = 10 max (_totalDamage * 5) min 180;
};
_treatTime

View File

@ -78,6 +78,17 @@
<Hungarian>Milyen sokáig legyenek jelen a szemétobjektumok (másodpercben)? A -1 végtelen időt jelent.</Hungarian> <Hungarian>Milyen sokáig legyenek jelen a szemétobjektumok (másodpercben)? A -1 végtelen időt jelent.</Hungarian>
<Italian>Per quanto devono restare le barelle? In secondi. -1 è permanente</Italian> <Italian>Per quanto devono restare le barelle? In secondi. -1 è permanente</Italian>
<Japanese>医療廃棄物オブジェクトが表示されつづける時間を設定しますか?-1 は永遠です。</Japanese> <Japanese>医療廃棄物オブジェクトが表示されつづける時間を設定しますか?-1 は永遠です。</Japanese>
<Key ID="STR_ACE_Medical_Treatment_PAKTime">
<English>How long should PAK take to apply ?</English>
</Key>
<Key ID="STR_ACE_Medical_Treatment_PAKTime_Description">
<English>How long should PAK take to apply ? Use 0 for default (based on damage)</English>
</Key>
<Key ID="STR_ACE_Medical_Treatment_MedkitTime">
<English>How long should Medkit take to apply ?</English>
</Key>
<Key ID="STR_ACE_Medical_Treatment_MedkitTime_Description">
<English>How long should Medkit take to apply ? Use 0 for default (based on damage)</English>
</Key> </Key>
</Package> </Package>
</Project> </Project>