From 664d08d4aa729767d366c855c38af199d3139f76 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 25 Apr 2015 08:23:54 +0200 Subject: [PATCH 01/32] add option to only use action when clicking --- addons/interact_menu/XEH_clientInit.sqf | 6 ++---- addons/interact_menu/config.cpp | 12 +++++++++--- .../functions/fnc_handlePlayerChanged.sqf | 6 +++++- addons/interact_menu/functions/fnc_keyUp.sqf | 6 ++++++ addons/interact_menu/stringtable.xml | 6 +++++- 5 files changed, 27 insertions(+), 9 deletions(-) diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index b8a8fc899b..1a7dba3065 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -32,8 +32,7 @@ addMissionEventHandler ["Draw3D", DFUNC(render)]; if !([ACE_player, objNull, ["isNotInside","isNotDragging", "isNotCarrying", "isNotSwimming", "notOnMap", "isNotEscorting", "isNotSurrendering"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Statement [0] call FUNC(keyDown) -}, -{[0] call FUNC(keyUp)}, +},{[0,false] call FUNC(keyUp)}, [219, [false, false, false]], false] call cba_fnc_addKeybind; //Left Windows Key ["ACE3", QGVAR(SelfInteractKey), (localize "STR_ACE_Interact_Menu_SelfInteractKey"), @@ -42,8 +41,7 @@ addMissionEventHandler ["Draw3D", DFUNC(render)]; if !([ACE_player, objNull, ["isNotInside","isNotDragging", "isNotCarrying", "isNotSwimming", "notOnMap", "isNotEscorting", "isNotSurrendering"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Statement [1] call FUNC(keyDown) -}, -{[1] call FUNC(keyUp)}, +},{[1,false] call FUNC(keyUp)}, [219, [false, true, false]], false] call cba_fnc_addKeybind; //Left Windows Key + Ctrl/Strg diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index c79c9cd6d1..5ca0ebdc5f 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -42,25 +42,31 @@ class ACE_Settings { typeName = "COLOR"; isClientSettable = 1; displayName = "$STR_ACE_Interact_Menu_ColorTextMax"; - }; + }; class GVAR(colorTextMin) { value[] = {1, 1, 1, 0.25}; typeName = "COLOR"; isClientSettable = 1; displayName = "$STR_ACE_Interact_Menu_ColorTextMin"; - }; + }; class GVAR(colorShadowMax) { value[] = {0, 0, 0, 1}; typeName = "COLOR"; isClientSettable = 1; displayName = "$STR_ACE_Interact_Menu_ColorShadowMax"; - }; + }; class GVAR(colorShadowMin) { value[] = {0, 0, 0, 0.25}; typeName = "COLOR"; isClientSettable = 1; displayName = "$STR_ACE_Interact_Menu_ColorShadowMin"; }; + class GVAR(actionOnKeyRelease) { + value = 1; + typeName = "BOOL"; + isClientSettable = 1; + displayName = "$STR_ACE_Interact_Menu_ActionOnKeyRelease"; + }; }; class ACE_Extensions { diff --git a/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf index fe25853733..f1f6e78f6d 100644 --- a/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf +++ b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf @@ -15,7 +15,11 @@ EXPLODE_2_PVT(_this,_newUnit,_oldUnit); // add to new unit private "_ehid"; -_ehid = [_newUnit, "DefaultAction", {EGVAR(interact_menu,openedMenuType) >= 0}, {}] call EFUNC(common,addActionEventHandler); +_ehid = [_newUnit, "DefaultAction", {GVAR(openedMenuType) >= 0}, { + if !(GVAR(actionOnKeyRelease)) then { + [GVAR(openedMenuType),true] call FUNC(keyUp); + }; +}] call EFUNC(common,addActionEventHandler); _newUnit setVariable [QGVAR(AAEHID), _ehid]; diff --git a/addons/interact_menu/functions/fnc_keyUp.sqf b/addons/interact_menu/functions/fnc_keyUp.sqf index 735130e69a..7b24497802 100644 --- a/addons/interact_menu/functions/fnc_keyUp.sqf +++ b/addons/interact_menu/functions/fnc_keyUp.sqf @@ -12,6 +12,9 @@ */ #include "script_component.hpp" +private "_calledByClicking"; +_calledByClicking = _this select 1; + // Exit if there's no menu opened if (GVAR(openedMenuType) < 0) exitWith {true}; @@ -29,6 +32,9 @@ if(GVAR(actionSelected)) then { // Clear the conditions caches ["clearConditionCaches", []] call EFUNC(common,localEvent); + // exit scope if selecting an action on key release is disabled + if (!(GVAR(actionOnKeyRelease)) && !_calledByClicking) exitWith {}; + // Check the action conditions _actionData = GVAR(selectedAction) select 0; if ([_target, _player, _actionData select 6] call (_actionData select 4)) then { diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 55d67788f4..d9e2e1366b 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -83,5 +83,9 @@ Interaction - Shadow Min + + Do action when releasing menu key + Aktion nach Loslassen der Taste ausführen + - \ No newline at end of file + From 55529d03963416ba0051268ea2914202bf95eab6 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Sat, 25 Apr 2015 09:41:55 +0200 Subject: [PATCH 02/32] Added support for switching from 3d selections to radial menu --- addons/medical/ACE_Medical_Actions.hpp | 12 ++++++------ addons/medical/ACE_Settings.hpp | 9 +++++++++ addons/medical/CfgVehicles.hpp | 5 ++++- addons/medical/stringtable.xml | 13 +++++++++++++ 4 files changed, 32 insertions(+), 7 deletions(-) diff --git a/addons/medical/ACE_Medical_Actions.hpp b/addons/medical/ACE_Medical_Actions.hpp index ed5670f814..e3292105b0 100644 --- a/addons/medical/ACE_Medical_Actions.hpp +++ b/addons/medical/ACE_Medical_Actions.hpp @@ -3,7 +3,7 @@ class ACE_Head { displayName = "$STR_ACE_Interaction_Head"; runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 0)] call DFUNC(displayPatientInformation)); - condition = "true"; + ACTION_CONDITION EXCEPTIONS icon = PATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; @@ -75,7 +75,7 @@ class ACE_Torso { displayName = "$STR_ACE_Interaction_Torso"; runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 1)] call DFUNC(displayPatientInformation)); - condition = "true"; + ACTION_CONDITION EXCEPTIONS icon = PATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; @@ -175,7 +175,7 @@ class ACE_ArmLeft { displayName = "$STR_ACE_Interaction_ArmLeft"; runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 2)] call DFUNC(displayPatientInformation)); - condition = "true"; + ACTION_CONDITION EXCEPTIONS icon = PATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; @@ -332,7 +332,7 @@ class ACE_ArmRight { displayName = "$STR_ACE_Interaction_ArmRight"; runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 3)] call DFUNC(displayPatientInformation)); - condition = "true"; + ACTION_CONDITION EXCEPTIONS icon = PATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; @@ -486,7 +486,7 @@ class ACE_LegLeft { displayName = "$STR_ACE_Interaction_LegLeft"; runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 4)] call DFUNC(displayPatientInformation)); - condition = "true"; + ACTION_CONDITION EXCEPTIONS icon = PATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; @@ -628,7 +628,7 @@ class ACE_LegRight { displayName = "$STR_ACE_Interaction_LegRight"; runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 5)] call DFUNC(displayPatientInformation)); - condition = "true"; + ACTION_CONDITION EXCEPTIONS icon = PATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index e7f60a14e8..c3531915db 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -143,4 +143,13 @@ class ACE_Settings { typeName = "BOOL"; value = 0; }; + + class GVAR(menuTypeStyle) { + displayName = "$STR_ACE_Medical_menuTypeDisplay"; + description = "$STR_ACE_Medical_menuTypeDescription"; + typeName = "SCALAR"; + value = 0; + values[] = {"$STR_ACE_Medical_useSelection", "$STR_ACE_Medical_useRadial"}; + isClientSettable = 1; + }; }; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 2b1f7c9468..648aa8e420 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -428,6 +428,7 @@ class CfgVehicles { class ACE_Actions { // Include actions in body parts for treatment while in the open #define EXCEPTIONS exceptions[] = {}; + #define ACTION_CONDITION condition = QUOTE(GVAR(menuTypeStyle) == 0); #include "ACE_Medical_Actions.hpp" // Create a consolidates medical menu for treatment while boarded @@ -436,12 +437,14 @@ class CfgVehicles { displayName = "$STR_ACE_MEDICAL_ACTIONS_Medical"; runOnHover = 1; exceptions[] = {"isNotInside"}; - condition = QUOTE(vehicle _target != _target); + condition = QUOTE(vehicle _target != _target || GVAR(menuTypeStyle) == 1); statement = QUOTE([ARR_3(_target, true, 0)] call DFUNC(displayPatientInformation)); icon = PATHTOF(UI\icons\medical_cross.paa); #undef EXCEPTIONS + #undef ACTION_CONDITION #define EXCEPTIONS exceptions[] = {"isNotInside"}; + #define ACTION_CONDITION condition = "true"; #include "ACE_Medical_Actions.hpp" }; class GVAR(loadPatient) { diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 53c587bec0..316425d6b4 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1635,5 +1635,18 @@ Aberración cromática Aberration chromatique + + Style of menu (Medical) + + + Select the type of menu you prefer; default 3d selections or radial. + + + Selections (3d) + + + Radial + + \ No newline at end of file From 6170ef0d5033fb24b81225b5622e78dd56b41a11 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 26 Apr 2015 23:05:58 +0200 Subject: [PATCH 03/32] Code cleanup --- addons/frag/CfgVehicles.hpp | 0 addons/frag/XEH_post_init.sqf | 17 ++--------- addons/frag/XEH_pre_Init.sqf | 29 ++++++------------- addons/frag/config.cpp | 4 +-- .../frag/functions/fnc_BIS_ARTY_WRAPPER.sqf | 13 --------- addons/frag/functions/fnc_addBlackList.sqf | 4 --- addons/frag/functions/fnc_addManualTrack.sqf | 7 ----- addons/frag/functions/fnc_clearTraces.sqf | 2 -- addons/frag/functions/fnc_denyFrag.sqf | 7 ----- addons/frag/functions/fnc_frag_trace.sqf | 10 ------- addons/frag/functions/fnc_vectorDiffFast.sqf | 15 ---------- 11 files changed, 12 insertions(+), 96 deletions(-) delete mode 100644 addons/frag/CfgVehicles.hpp delete mode 100644 addons/frag/functions/fnc_BIS_ARTY_WRAPPER.sqf delete mode 100644 addons/frag/functions/fnc_addBlackList.sqf delete mode 100644 addons/frag/functions/fnc_addManualTrack.sqf delete mode 100644 addons/frag/functions/fnc_clearTraces.sqf delete mode 100644 addons/frag/functions/fnc_denyFrag.sqf delete mode 100644 addons/frag/functions/fnc_frag_trace.sqf delete mode 100644 addons/frag/functions/fnc_vectorDiffFast.sqf diff --git a/addons/frag/CfgVehicles.hpp b/addons/frag/CfgVehicles.hpp deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/addons/frag/XEH_post_init.sqf b/addons/frag/XEH_post_init.sqf index 9769148871..6c8d64d1fb 100644 --- a/addons/frag/XEH_post_init.sqf +++ b/addons/frag/XEH_post_init.sqf @@ -1,18 +1,5 @@ #include "script_component.hpp" + if(isServer) then { [QGVAR(frag_eh), { _this call FUNC(frago); }] call ace_common_fnc_addEventHandler; -}; -/* -GVAR(replacedBisArtyWrapper) = false; -[] spawn { - waitUntil { - if(!(isNil "BIS_ARTY_F_ShellFlight")) then { - ACE_WRAPPER_BIS_ARTY_F_ShellFlight = BIS_ARTY_F_ShellFlight; - BIS_ARTY_F_ShellFlight = FUNC(BIS_ARTY_WRAPPER); - GVAR(replacedBisArtyWrapper) = true; - }; - sleep 4; - GVAR(replacedBisArtyWrapper) - }; -}; -*/ \ No newline at end of file +}; \ No newline at end of file diff --git a/addons/frag/XEH_pre_Init.sqf b/addons/frag/XEH_pre_Init.sqf index 5fb261cc05..cefd77d921 100644 --- a/addons/frag/XEH_pre_Init.sqf +++ b/addons/frag/XEH_pre_Init.sqf @@ -1,48 +1,37 @@ #include "script_component.hpp" - ADDON = false; +PREP(doSpall); PREP(fired); PREP(frago); -PREP(trackFragRound); PREP(spallTrack); -PREP(doSpall); -PREP(vectorDiffFast); +PREP(trackFragRound); -GVAR(trackedObjects) = []; GVAR(blackList) = []; GVAR(traceFrags) = false; - -GVAR(replacedBisArtyWrapper) = true; +GVAR(trackedObjects) = []; GVAR(TOTALFRAGS) = 0; -GVAR(spallIsTrackingCount) = 0; GVAR(spallHPData) = []; +GVAR(spallIsTrackingCount) = 0; +GVAR(autoTrace) = true; +GVAR(traceID) = -1; GVAR(traces) = []; GVAR(tracesStarted) = false; -GVAR(traceID) = -1; -GVAR(autoTrace) = true; // TODO setting GVAR(enabled) = true; - // * Other Shit */ -PREP(frag_trace); -PREP(denyFrag); -PREP(BIS_ARTY_WRAPPER); -PREP(startTracing); -PREP(stopTracing); -PREP(clearTraces); -PREP(trackTrace); PREP(addTrack); PREP(drawTraces); PREP(removeTrack); PREP(spallHP); -PREP(addBlackList); -PREP(addManualTrack); +PREP(startTracing); +PREP(stopTracing); +PREP(trackTrace); ADDON = true; diff --git a/addons/frag/config.cpp b/addons/frag/config.cpp index 4c1fb71e15..c9dff6bac6 100644 --- a/addons/frag/config.cpp +++ b/addons/frag/config.cpp @@ -10,7 +10,5 @@ class CfgPatches { }; }; -//PRELOAD_ADDONS; - #include "CfgEventhandlers.hpp" -#include "CfgAmmo.hpp" +#include "CfgAmmo.hpp" \ No newline at end of file diff --git a/addons/frag/functions/fnc_BIS_ARTY_WRAPPER.sqf b/addons/frag/functions/fnc_BIS_ARTY_WRAPPER.sqf deleted file mode 100644 index 0d71cf58ac..0000000000 --- a/addons/frag/functions/fnc_BIS_ARTY_WRAPPER.sqf +++ /dev/null @@ -1,13 +0,0 @@ -#include "script_component.hpp" -_ret = [(_this select 6)] call FUNC(removeTrack); -if(!_ret) then { - [(_this select 6)] call FUNC(addBlackList); -}; -_this call ACE_WRAPPER_BIS_ARTY_F_ShellFlight; -_catEntry = BIS_ARTY_SHELLCAT select ((count BIS_ARTY_SHELLCAT) - 1); -_shell = _catEntry select 0; -_ARTY_DeployOnImpact = getText (configFile >> "CfgAmmo" >> "ARTY_DeployOnImpact"); -if(_ARTY_DeployOnImpact == "") then { - _this set[6, _shell]; - _this call FUNC(fired); -}; \ No newline at end of file diff --git a/addons/frag/functions/fnc_addBlackList.sqf b/addons/frag/functions/fnc_addBlackList.sqf deleted file mode 100644 index f7b3faf902..0000000000 --- a/addons/frag/functions/fnc_addBlackList.sqf +++ /dev/null @@ -1,4 +0,0 @@ -#include "script_component.hpp" -private ["_round"]; -_round = _this select 0; -GVAR(blackList) set[(count GVAR(blackList)), _round]; \ No newline at end of file diff --git a/addons/frag/functions/fnc_addManualTrack.sqf b/addons/frag/functions/fnc_addManualTrack.sqf deleted file mode 100644 index 3dc14cc748..0000000000 --- a/addons/frag/functions/fnc_addManualTrack.sqf +++ /dev/null @@ -1,7 +0,0 @@ -#include "script_component.hpp" -private ["_round"]; -_round = _this select 0; -if(alive _round) then { - GVAR(trackedObjects) set[(count GVAR(trackedObjects)), _round]; - [DFUNC(trackFragRound), 0, [_round, (getPosASL _round), (velocity _round), (typeOf _round), time, objNull, false, 0, 0]] call cba_fnc_addPerFrameHandler; -}; \ No newline at end of file diff --git a/addons/frag/functions/fnc_clearTraces.sqf b/addons/frag/functions/fnc_clearTraces.sqf deleted file mode 100644 index b301094044..0000000000 --- a/addons/frag/functions/fnc_clearTraces.sqf +++ /dev/null @@ -1,2 +0,0 @@ -#include "script_component.hpp" -GVAR(traces) = []; \ No newline at end of file diff --git a/addons/frag/functions/fnc_denyFrag.sqf b/addons/frag/functions/fnc_denyFrag.sqf deleted file mode 100644 index 6c4aa9bf8d..0000000000 --- a/addons/frag/functions/fnc_denyFrag.sqf +++ /dev/null @@ -1,7 +0,0 @@ -#include "script_component.hpp" - -private ["_ret"]; -_ret = [(_this select 0)] call FUNC(removeTrack); -if(!_ret) then { - [(_this select 0)] call FUNC(addBlackList); -}; \ No newline at end of file diff --git a/addons/frag/functions/fnc_frag_trace.sqf b/addons/frag/functions/fnc_frag_trace.sqf deleted file mode 100644 index 664e117793..0000000000 --- a/addons/frag/functions/fnc_frag_trace.sqf +++ /dev/null @@ -1,10 +0,0 @@ -#include "script_component.hpp" - -private ["_params", "_shell"]; -_params = _this select 0; -_shell = _params select 0; -if(alive _shell) then { - drop ["\Ca\Data\Cl_basic","","Billboard",1,30,(getPos _shell),[0,0,0],1,1.275,1.0,0.0,[0.5],[[0,1,0,1]],[0],0.0,2.0,"","",""]; -} else { - [_this select 1] call cba_fnc_removePerFrameHandler; -}; \ No newline at end of file diff --git a/addons/frag/functions/fnc_vectorDiffFast.sqf b/addons/frag/functions/fnc_vectorDiffFast.sqf deleted file mode 100644 index 0a41860727..0000000000 --- a/addons/frag/functions/fnc_vectorDiffFast.sqf +++ /dev/null @@ -1,15 +0,0 @@ -#include "script_component.hpp" -private["_p1","_p2","_return"]; - -_p1 = _this select 0; -_p2 = _this select 1; - -if ((count _p1) != (count _p2)) then {textLogFormat ["BIS_FNC Error: vectors not of same size"]}; - -_return = []; - -{ - _return set[_forEachIndex, (_p2 select _forEachIndex) - _x]; -} forEach _p1; - -_return From 1fc044dfa9e9954574942fd172462fe5f3dc136a Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 26 Apr 2015 23:14:54 +0200 Subject: [PATCH 04/32] Cleanup++: *Moved GVAR(enabled) into ACE_Settings.hpp *Replaced BIS_fnc_magnitude with vectorMagnitude *Renamed Nou_GBU12 *Added G_40mm_HE config data --- addons/frag/ACE_Settings.hpp | 8 ++++++++ addons/frag/CfgAmmo.hpp | 9 ++++++--- addons/frag/XEH_pre_Init.sqf | 3 --- addons/frag/config.cpp | 3 ++- addons/frag/functions/fnc_doSpall.sqf | 4 ++-- addons/frag/functions/fnc_fired.sqf | 4 +++- 6 files changed, 21 insertions(+), 10 deletions(-) create mode 100644 addons/frag/ACE_Settings.hpp diff --git a/addons/frag/ACE_Settings.hpp b/addons/frag/ACE_Settings.hpp new file mode 100644 index 0000000000..b160a127f3 --- /dev/null +++ b/addons/frag/ACE_Settings.hpp @@ -0,0 +1,8 @@ +class ACE_Settings { + class GVAR(enabled) { + displayName = "Frag System"; + description = "Enables the shrapnel system for explosives"; + typeName = "BOOL"; + value = 1; + }; +}; diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index 3cfb27dfaf..6490c94f22 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -9,7 +9,7 @@ class CfgAmmo { // GVAR(skip) = 1; //}; class Bo_GBU12_LGB; - class Nou_GBU12 : Bo_GBU12_LGB { + class ACE_GBU12 : Bo_GBU12_LGB { GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; GVAR(metal) = 140000; GVAR(charge) = 87000; @@ -71,8 +71,11 @@ class CfgAmmo { class G_40mm_HE: GrenadeBase { - GVAR(skip) = 0; - GVAR(force) = 1; + GVAR(classes)[] = {"ACE_frag_tiny_HD"}; + GVAR(metal) = 200; + GVAR(charge) = 45; + GVAR(gurney_c) = 2830; + GVAR(gurney_k) = 3/5; }; class ACE_G_40mm_HEDP: G_40mm_HE { diff --git a/addons/frag/XEH_pre_Init.sqf b/addons/frag/XEH_pre_Init.sqf index cefd77d921..beede543dd 100644 --- a/addons/frag/XEH_pre_Init.sqf +++ b/addons/frag/XEH_pre_Init.sqf @@ -22,9 +22,6 @@ GVAR(traceID) = -1; GVAR(traces) = []; GVAR(tracesStarted) = false; -// TODO setting -GVAR(enabled) = true; - // * Other Shit */ PREP(addTrack); PREP(drawTraces); diff --git a/addons/frag/config.cpp b/addons/frag/config.cpp index c9dff6bac6..16af88bfc4 100644 --- a/addons/frag/config.cpp +++ b/addons/frag/config.cpp @@ -11,4 +11,5 @@ class CfgPatches { }; #include "CfgEventhandlers.hpp" -#include "CfgAmmo.hpp" \ No newline at end of file +#include "CfgAmmo.hpp" +#include "ACE_Settings.hpp" \ No newline at end of file diff --git a/addons/frag/functions/fnc_doSpall.sqf b/addons/frag/functions/fnc_doSpall.sqf index cb54cb776b..c033210325 100644 --- a/addons/frag/functions/fnc_doSpall.sqf +++ b/addons/frag/functions/fnc_doSpall.sqf @@ -45,8 +45,8 @@ if(_alive || {_caliber >= 2.5} || {(_explosive > 0 && {_idh >= 1})}) then { _vm = 1; _velocity = _initialData select 5; - _oldVelocity = _velocity call BIS_fnc_magnitude; - _curVelocity = (velocity _round) call BIS_fnc_magnitude; + _oldVelocity = vectorMagnitude _velocity; + _curVelocity = vectorMagnitude (velocity _round); if(alive _round) then { _diff = _velocity vectorDiff (velocity _round); diff --git a/addons/frag/functions/fnc_fired.sqf b/addons/frag/functions/fnc_fired.sqf index 85f5f45c0a..0ead1a17f8 100644 --- a/addons/frag/functions/fnc_fired.sqf +++ b/addons/frag/functions/fnc_fired.sqf @@ -1,6 +1,8 @@ #include "script_component.hpp" + private ["_gun", "_type", "_round", "_doFragTrack", "_doSpall"]; -if !(!isNil QGVAR(enabled) && {GVAR(enabled)}) exitWith {}; + +if (!GVAR(enabled)) exitWith {}; _gun = _this select 0; _type = _this select 4; From f54f0cd1faa7b5b7c929ba5ce364f92a72d82afd Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 27 Apr 2015 13:58:18 +0200 Subject: [PATCH 05/32] Renamed init functions --- addons/frag/CfgEventhandlers.hpp | 6 +++--- addons/frag/{XEH_post_init.sqf => XEH_postInit.sqf} | 0 addons/frag/{XEH_pre_Init.sqf => XEH_preInit.sqf} | 0 3 files changed, 3 insertions(+), 3 deletions(-) rename addons/frag/{XEH_post_init.sqf => XEH_postInit.sqf} (100%) rename addons/frag/{XEH_pre_Init.sqf => XEH_preInit.sqf} (100%) diff --git a/addons/frag/CfgEventhandlers.hpp b/addons/frag/CfgEventhandlers.hpp index 1e631e07eb..df7eaeacd1 100644 --- a/addons/frag/CfgEventhandlers.hpp +++ b/addons/frag/CfgEventhandlers.hpp @@ -1,12 +1,12 @@ class Extended_PreInit_EventHandlers { class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_pre_init)); + init = QUOTE(call COMPILE_FILE(XEH_preInit)); }; }; class Extended_PostInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_post_init)); + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); }; }; diff --git a/addons/frag/XEH_post_init.sqf b/addons/frag/XEH_postInit.sqf similarity index 100% rename from addons/frag/XEH_post_init.sqf rename to addons/frag/XEH_postInit.sqf diff --git a/addons/frag/XEH_pre_Init.sqf b/addons/frag/XEH_preInit.sqf similarity index 100% rename from addons/frag/XEH_pre_Init.sqf rename to addons/frag/XEH_preInit.sqf From 3c92cab7aff9b17cd1105b843d5941e9bdd74f4f Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 27 Apr 2015 14:02:59 +0200 Subject: [PATCH 06/32] Reverted the addBlackList function --- addons/frag/XEH_preInit.sqf | 1 + addons/frag/functions/fnc_addBlackList.sqf | 4 ++++ 2 files changed, 5 insertions(+) create mode 100644 addons/frag/functions/fnc_addBlackList.sqf diff --git a/addons/frag/XEH_preInit.sqf b/addons/frag/XEH_preInit.sqf index beede543dd..906a696ebf 100644 --- a/addons/frag/XEH_preInit.sqf +++ b/addons/frag/XEH_preInit.sqf @@ -23,6 +23,7 @@ GVAR(traces) = []; GVAR(tracesStarted) = false; // * Other Shit */ +PREP(addBlackList); PREP(addTrack); PREP(drawTraces); PREP(removeTrack); diff --git a/addons/frag/functions/fnc_addBlackList.sqf b/addons/frag/functions/fnc_addBlackList.sqf new file mode 100644 index 0000000000..95edcd1590 --- /dev/null +++ b/addons/frag/functions/fnc_addBlackList.sqf @@ -0,0 +1,4 @@ +#include "script_component.hpp" +private ["_round"]; +_round = _this select 0; +GVAR(blackList) set[(count GVAR(blackList)), _round]; \ No newline at end of file From 0d6d96e76c6ee3c51552be1b239c4a75f6776676 Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 27 Apr 2015 22:04:35 +0200 Subject: [PATCH 07/32] Cleanup++: * Added missing privates * Removed unused privates * Replaced some old vector calculations with new vector commands --- addons/frag/functions/fnc_addTrack.sqf | 8 +++++-- addons/frag/functions/fnc_doSpall.sqf | 5 ++-- addons/frag/functions/fnc_drawTraces.sqf | 5 +++- addons/frag/functions/fnc_fired.sqf | 2 +- addons/frag/functions/fnc_frago.sqf | 2 +- addons/frag/functions/fnc_spallHP.sqf | 12 +++++----- addons/frag/functions/fnc_spallTrack.sqf | 24 +++++++------------- addons/frag/functions/fnc_trackFragRound.sqf | 2 +- addons/frag/functions/fnc_trackTrace.sqf | 10 ++++---- 9 files changed, 34 insertions(+), 36 deletions(-) diff --git a/addons/frag/functions/fnc_addTrack.sqf b/addons/frag/functions/fnc_addTrack.sqf index 2beea1dd56..1ce25b6bf9 100644 --- a/addons/frag/functions/fnc_addTrack.sqf +++ b/addons/frag/functions/fnc_addTrack.sqf @@ -1,5 +1,8 @@ #include "script_component.hpp" -if(GVAR(autoTrace)) then { + +private ["_color", "_data", "_index", "_obj", "_objTVel", "_objVel", "_origin", "_positions"]; + +if (GVAR(autoTrace)) then { [] call FUNC(startTracing); }; @@ -16,5 +19,6 @@ _objVel = velocity _obj; _objTVel = sqrt((_objVel select 0)^2 + (_objVel select 1)^2 + (_objVel select 2)^2); _positions set[(count _positions), [(getPos _obj), _objTVel]]; _data = [_origin, typeOf _origin, typeOf _obj, _objTVel, _positions, _color]; + GVAR(traces) set[_index, _data]; -[DFUNC(trackTrace), 0, [_obj, _index, time]] call cba_fnc_addPerFrameHandler; \ No newline at end of file +[DFUNC(trackTrace), 0, [_obj, _index, time]] call cba_fnc_addPerFrameHandler; diff --git a/addons/frag/functions/fnc_doSpall.sqf b/addons/frag/functions/fnc_doSpall.sqf index c033210325..808b027690 100644 --- a/addons/frag/functions/fnc_doSpall.sqf +++ b/addons/frag/functions/fnc_doSpall.sqf @@ -3,13 +3,12 @@ #ifdef DEBUG_MODE_FULL GVAR(traceFrags) = true; #endif -// ACE_player sideChat "WAAAAAAAAAAAAAAAAAAAAA"; +// ACE_player sideChat "WAAAAAAAAAAAAAAAAAAAAA"; private ["_params", "_initialData", "_hpData", "_roundType", "_round", "_object", "_caliber", "_explosive", "_idh", "_alive", "_exit", "_vm", "_velocity", "_unitDir", "_oldVelocity", "_curVelocity", "_diff", "_polar", "_pos", "_spallPos", "_i", "_pos1", "_pos2", "_blah", "_data", "_spallPolar", "_c", "_warn", "_m", "_k", "_gC", "_shellType", "_fragPower", "_spread", "_spallCount", "_elev", "_dir", "_vel", "_spallFragVect", - "_fragment"]; - + "_fragment", "_index", "_hitData", "_fragTypes", "_fragType", "_foundObjects"]; _params = _this select 0; [(_this select 1)] call cba_fnc_removePerFrameHandler; diff --git a/addons/frag/functions/fnc_drawTraces.sqf b/addons/frag/functions/fnc_drawTraces.sqf index b9645bab97..9dfaa3e46d 100644 --- a/addons/frag/functions/fnc_drawTraces.sqf +++ b/addons/frag/functions/fnc_drawTraces.sqf @@ -1,4 +1,7 @@ #include "script_component.hpp" + +private ["_color", "_index", "_lastPos", "_lastSpd", "_max", "_positions", "_startSpeed"]; + { _positions = _x select 4; _color = _x select 5; @@ -29,4 +32,4 @@ _lastSpd = _data1 select 1; }; // drawIcon3D ["", [1,0,0,1], _lastPos, 0, 0, 0, format["%1m/s", _lastSpd], 1, 0.05, "PuristaMedium"]; -} forEach GVAR(traces); \ No newline at end of file +} forEach GVAR(traces); diff --git a/addons/frag/functions/fnc_fired.sqf b/addons/frag/functions/fnc_fired.sqf index 0ead1a17f8..7ed717c2b8 100644 --- a/addons/frag/functions/fnc_fired.sqf +++ b/addons/frag/functions/fnc_fired.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -private ["_gun", "_type", "_round", "_doFragTrack", "_doSpall"]; +private ["_gun", "_type", "_round", "_doFragTrack", "_doSpall", "_spallTrack", "_spallTrackID"]; if (!GVAR(enabled)) exitWith {}; diff --git a/addons/frag/functions/fnc_frago.sqf b/addons/frag/functions/fnc_frago.sqf index a396de04e8..4c3408db6d 100644 --- a/addons/frag/functions/fnc_frago.sqf +++ b/addons/frag/functions/fnc_frago.sqf @@ -14,7 +14,7 @@ private ["_round", "_lastPos", "_lastVel", "_shellType", "_gun", "_fragTypes", " "_manObjects", "_objects", "_crew", "_fragCount", "_fragArcs", "_doRandom", "_target", "_boundingBox", "_targetPos", "_distance", "_add", "_bbX", "_bbY", "_bbZ", "_cubic", "_targetVel", "_baseVec", "_dir", "_currentCount", "_count", "_vecVar", "_i", "_vec", "_fp", "_vel", "_fragType", "_fragObj", "_randomCount", - "_sectorSize", "_sectorOffset", "_randomDir"]; + "_sectorSize", "_sectorOffset", "_randomDir", "_endTime"]; _round = _this select 0; diff --git a/addons/frag/functions/fnc_spallHP.sqf b/addons/frag/functions/fnc_spallHP.sqf index fb894be499..5e3719cb47 100644 --- a/addons/frag/functions/fnc_spallHP.sqf +++ b/addons/frag/functions/fnc_spallHP.sqf @@ -1,15 +1,15 @@ #include "script_component.hpp" -private ["_initialData", "_currentCount", "_hpData", "_round", "_hpRound"]; +private ["_initialData", "_hpData", "_round", "_hpRound", "_hpDirect"]; //player sideChat format["f: %1 c: %2", (_this select 0), (count GVAR(spallHPData))]; -if((_this select 0) <= (count GVAR(spallHPData))) then { + +if ((_this select 0) <= (count GVAR(spallHPData))) then { _initialData = GVAR(spallHPData) select (_this select 0); - if(!isNil "_initialData") then { + if (!isNil "_initialData") then { _hpRound = ((_this select 1) select 0) select 2; _round = _initialData select 3; _hpDirect = ((_this select 1) select 0) select 10; - if(_hpDirect && {_round == _hpRound}) then { - + if (_hpDirect && {_round == _hpRound}) then { { _hpData = _x; _round = _initialData select 3; @@ -26,4 +26,4 @@ if((_this select 0) <= (count GVAR(spallHPData))) then { } forEach (_this select 1); }; }; -}; \ No newline at end of file +}; diff --git a/addons/frag/functions/fnc_spallTrack.sqf b/addons/frag/functions/fnc_spallTrack.sqf index a264e1ded9..4b7a06bc65 100644 --- a/addons/frag/functions/fnc_spallTrack.sqf +++ b/addons/frag/functions/fnc_spallTrack.sqf @@ -1,30 +1,22 @@ //fnc_spallTrack.sqf #include "script_component.hpp" -private ["_params", "_round", "_multiplier", "_delta", "_curPos", "_velocity", "_velocityStep", "_forwardPos", "_intersectsWith", "_index", "_i", "_test", "_hpId", "_data"]; -// setAccTime 0; + +private ["_round", "_multiplier", "_foundObjects", "_foundObjectHPIds", "_delta", "_curPos", "_velocity", "_velocityStep", "_forwardPos", "_intersectsWith", "_index", "_hpId", "_data"]; _round = _this select 0; _multiplier = _this select 1; _foundObjects = _this select 2; _foundObjectHPIds = _this select 3; -_delta = (1/diag_fps)*_multiplier; +_delta = (1/diag_fps) * _multiplier; _curPos = getPosASL _round; _velocity = velocity _round; -_velocityStep = [ - (_velocity select 0)*_delta, - (_velocity select 1)*_delta, - (_velocity select 2)*_delta - ]; -_forwardPos = [ - (_curPos select 0) + (_velocityStep select 0), - (_curPos select 1) + (_velocityStep select 1), - (_curPos select 2) + (_velocityStep select 2) - ]; - +_velocityStep = _velocity vectorMultiply _delta; +_forwardPos = _curPos vectorAdd _velocityStep; + _intersectsWith = lineIntersectsWith [_curPos, _forwardPos]; -if(count _intersectsWith > 0) then { +if (count _intersectsWith > 0) then { // player sideChat format["inter: %1", _intersectsWith]; { if(!(_x in _foundObjects)) then { @@ -37,4 +29,4 @@ if(count _intersectsWith > 0) then { GVAR(spallHPData) set[_index, _data]; }; } forEach _intersectsWith; -}; \ No newline at end of file +}; diff --git a/addons/frag/functions/fnc_trackFragRound.sqf b/addons/frag/functions/fnc_trackFragRound.sqf index 4358448188..8db68c99e8 100644 --- a/addons/frag/functions/fnc_trackFragRound.sqf +++ b/addons/frag/functions/fnc_trackFragRound.sqf @@ -1,6 +1,6 @@ //fnc_trackFragRound.sqf #include "script_component.hpp" -private ["_params", "_round", "_lastPos", "_lastVel", "_type", "_time", "_doSpall", "_skip", "_explosive", "_indirectRange", "_force", "_fragPower"]; +private ["_params", "_round", "_lastPos", "_lastVel", "_type", "_time", "_doSpall", "_spallTrack", "_foundObjectHPIds", "_skip", "_explosive", "_indirectRange", "_force", "_fragPower"]; _params = _this select 0; _round = _params select 0; _lastPos = _params select 1; diff --git a/addons/frag/functions/fnc_trackTrace.sqf b/addons/frag/functions/fnc_trackTrace.sqf index b0f3f06633..205292a820 100644 --- a/addons/frag/functions/fnc_trackTrace.sqf +++ b/addons/frag/functions/fnc_trackTrace.sqf @@ -1,14 +1,14 @@ #include "script_component.hpp" + +private ["_params", "_tracerObj", "_index", "_positions"]; _params = _this select 0; _tracerObj = _params select 0; _index = _params select 1; -if(alive _tracerObj && (count GVAR(traces)) > 0) then { +if (alive _tracerObj && (count GVAR(traces)) > 0) then { _data = GVAR(traces) select _index; _positions = _data select 4; - _objVel = velocity _tracerObj; - _objTVel = sqrt((_objVel select 0)^2 + (_objVel select 1)^2 + (_objVel select 2)^2); - _positions set[(count _positions), [(getPos _tracerObj), _objTVel]]; + _positions set[(count _positions), [(getPos _tracerObj), vectorMagnitude (velocity _tracerObj)]]; } else { [(_this select 1)] call cba_fnc_removePerFrameHandler; -}; \ No newline at end of file +}; From 416a914253326c3ed5dc5dd3555f819f3a8e500c Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 27 Apr 2015 22:14:08 +0200 Subject: [PATCH 08/32] More vector math replacements --- addons/frag/functions/fnc_addTrack.sqf | 9 ++++----- addons/frag/functions/fnc_doSpall.sqf | 12 ++---------- addons/frag/functions/fnc_drawTraces.sqf | 5 +---- addons/frag/functions/fnc_frago.sqf | 16 ++++------------ 4 files changed, 11 insertions(+), 31 deletions(-) diff --git a/addons/frag/functions/fnc_addTrack.sqf b/addons/frag/functions/fnc_addTrack.sqf index 1ce25b6bf9..d4a4272a9c 100644 --- a/addons/frag/functions/fnc_addTrack.sqf +++ b/addons/frag/functions/fnc_addTrack.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -private ["_color", "_data", "_index", "_obj", "_objTVel", "_objVel", "_origin", "_positions"]; +private ["_color", "_data", "_index", "_obj", "_objSpd", "_origin", "_positions"]; if (GVAR(autoTrace)) then { [] call FUNC(startTracing); @@ -15,10 +15,9 @@ if((count _this) > 2) then { _color = _this select 2; }; _positions = []; -_objVel = velocity _obj; -_objTVel = sqrt((_objVel select 0)^2 + (_objVel select 1)^2 + (_objVel select 2)^2); -_positions set[(count _positions), [(getPos _obj), _objTVel]]; -_data = [_origin, typeOf _origin, typeOf _obj, _objTVel, _positions, _color]; +_objSpd = vectorMagnitude (velocity _obj); +_positions set[(count _positions), [(getPos _obj), _objSpd]]; +_data = [_origin, typeOf _origin, typeOf _obj, _objSpd, _positions, _color]; GVAR(traces) set[_index, _data]; [DFUNC(trackTrace), 0, [_obj, _index, time]] call cba_fnc_addPerFrameHandler; diff --git a/addons/frag/functions/fnc_doSpall.sqf b/addons/frag/functions/fnc_doSpall.sqf index 808b027690..990fb80f8d 100644 --- a/addons/frag/functions/fnc_doSpall.sqf +++ b/addons/frag/functions/fnc_doSpall.sqf @@ -65,16 +65,8 @@ if(_alive || {_caliber >= 2.5} || {(_explosive > 0 && {_idh >= 1})}) then { _pos = _hpData select 3; _spallPos = nil; for "_i" from 0 to 100 do { - _pos1 = [ - (_pos select 0) + (((_unitDir select 0)*0.01)*_i), - (_pos select 1) + (((_unitDir select 1)*0.01)*_i), - (_pos select 2) + (((_unitDir select 2)*0.01)*_i) - ]; - _pos2 = [ - (_pos select 0) + (((_unitDir select 0)*0.01)*(_i+1)), - (_pos select 1) + (((_unitDir select 1)*0.01)*(_i+1)), - (_pos select 2) + (((_unitDir select 2)*0.01)*(_i+1)) - ]; + _pos1 = _pos vectorAdd (_unitDir vectorMultiply (0.01 * _i)); + _pos2 = _pos vectorAdd (_unitDir vectorMultiply (0.01 * (_i + 1))); // _blah = [_object, "FIRE"] intersect [_object worldToModel (ASLtoATL _pos1), _object worldToModel (ASLtoATL _pos2)]; // diag_log text format["b: %1", _blah]; diff --git a/addons/frag/functions/fnc_drawTraces.sqf b/addons/frag/functions/fnc_drawTraces.sqf index 9dfaa3e46d..e61fc9b5ba 100644 --- a/addons/frag/functions/fnc_drawTraces.sqf +++ b/addons/frag/functions/fnc_drawTraces.sqf @@ -7,10 +7,7 @@ private ["_color", "_index", "_lastPos", "_lastSpd", "_max", "_positions", "_sta _color = _x select 5; _index = 0; _max = count _positions; - _startSpeed = (_positions select 0) select 1; - if(_startSpeed <= 0) then { - _startSpeed = 0.01; - }; + _startSpeed = 0.01 max ((_positions select 0) select 1); _lastSpd = []; _lastPos = []; while {_index < _max} do { diff --git a/addons/frag/functions/fnc_frago.sqf b/addons/frag/functions/fnc_frago.sqf index 4c3408db6d..de7c6986d9 100644 --- a/addons/frag/functions/fnc_frago.sqf +++ b/addons/frag/functions/fnc_frago.sqf @@ -159,11 +159,7 @@ if(_isArmed && (count _objects) > 0) then { _vec set[2, (_vec select 2)-(_vecVar/2)+(random _vecVar)]; _fp = (_fragPower-(random (_fragPowerRandom))); - _vel = [ - (_vec select 0)*_fp, - (_vec select 1)*_fp, - (_vec select 2)*_fp - ]; + _vel = _vec vectorMultiply _fp; _fragType = round (random ((count _fragTypes)-1)); _fragObj = (_fragTypes select _fragType) createVehicleLocal [0,0,10000]; @@ -198,14 +194,10 @@ if(_isArmed && (count _objects) > 0) then { _sectorOffset = 360 * (_i - 1) / (_randomCount max 1); _randomDir = random(_sectorSize); _vec = [cos(_sectorOffset + _randomDir), sin(_sectorOffset + _randomDir), sin(30 - (random 45))]; - + _fp = (_fragPower-(random (_fragPowerRandom))); - - _vel = [ - (_vec select 0)*_fp, - (_vec select 1)*_fp, - (_vec select 2)*_fp - ]; + + _vel = _vec vectorMultiply _fp; _fragType = round (random ((count _fragTypes)-1)); _fragObj = (_fragTypes select _fragType) createVehicleLocal [0,0,10000]; From 0b4bb6e4c9fe9841cca973b46a11aaff8e8201cf Mon Sep 17 00:00:00 2001 From: NukeDev Date: Tue, 28 Apr 2015 19:40:36 +0200 Subject: [PATCH 09/32] Italian's Translation fixes atragmx, attach, ballistics, captives languages fixes --- addons/atragmx/stringtable.xml | 5 +- addons/attach/stringtable.xml | 3 +- addons/ballistics/stringtable.xml | 106 +++++++++++++++++++++++++++++- addons/captives/stringtable.xml | 3 +- 4 files changed, 112 insertions(+), 5 deletions(-) diff --git a/addons/atragmx/stringtable.xml b/addons/atragmx/stringtable.xml index f3825c405a..70b7acf1df 100644 --- a/addons/atragmx/stringtable.xml +++ b/addons/atragmx/stringtable.xml @@ -20,6 +20,7 @@ Abrir ATragMX Ouvrir ATragMX ATragMX öffnen + Apri ATragMX Rugged PDA with ATragMX @@ -27,6 +28,7 @@ Защищенный КПК с ATragMX PDA rugerizada con ATragMX Robuster PDA mit ATragMX + PDA Robusto con ATragMX Open ATragMX @@ -35,6 +37,7 @@ Abrir ATragMX Ouvrir ATragMX ATragMX öffnen + Apri ATragMX - + \ No newline at end of file diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index 70ed9666b4..c2ec045aa2 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -178,6 +178,7 @@ Připnutí selhalo Przyczepianie nie powiodło się Hozzácsatolás sikertelen + Impossibile Attaccare %1<br/>Attached @@ -204,4 +205,4 @@ %1<br/>отсоединен(-а) - + \ No newline at end of file diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 4dc27fd2fc..8c063ab568 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -373,6 +373,7 @@ Bande .338 NM 130Cps Traçante Cinta de 130 balas trazadoras de .338 NM Лента из 130-ти .338 NM трассирующих + .338 NM 130Rnd Tracciante Belt .338 NM Tracer @@ -382,6 +383,7 @@ .338 NM Traçante .338 NM trazadora .338 NM трассирующие + .338 NM 130Rnd Tracciante Caliber: .338 Norma Magnum Tracer<br />Rounds: 130<br />Used in: SPMG @@ -390,6 +392,7 @@ Calibre: .338 Norma Magnum Traçante<br />Cartouches: 130<br />Utilisé dans: SPMG Calibre: .338 Norma Magnum trazadora<br />Balas: 130<br />Se usa en: SPMG Калибр: .338 Norma Magnum трассирующие<br />Патронов: 130<br />Используются в: SPMG + Calibro: .338 Norma Magnum Tracciante<br />Munizioni: 130<br />In uso su: SPMG .338 NM 130Rnd IR-DIM Belt @@ -398,6 +401,7 @@ Bande .338 NM 130Cps IR-DIM Cinta de 130 balas IR-DIM de .338 NM Лента из 130-ти .338 NM ИК-трассирующих + .338 NM 130Rnd IR-DIM Belt .338 NM IR-DIM @@ -407,6 +411,7 @@ .338 NM IR-DIM .338 NM IR-DIM .338 NM ИК-трассирующие + .338 NM IR-DIM Caliber: .338 Norma Magnum Tracer IR-DIM<br />Rounds: 130<br />Used in: SPMG @@ -415,6 +420,7 @@ Calibre: .338 Norma Magnum Traçante IR-DIM<br />Cartouches: 130<br />Utilisé dans: SPMG Calibre: .338 Norma Magnum trazadora IR-DIM<br />Balas: 130<br />Se usa en: SPMG Калибр: .338 Norma Magnum ИК-трассирующие<br />Патронов: 130<br />Используются с: SPMG + Calibro: .338 Norma Magnum Tracciante IR-DIM<br />Munizioni: 130<br />In uso su: SPMG .338 NM 130Rnd AP Belt @@ -423,6 +429,7 @@ Bande .338 NM 130Cps AP Cinta de 130 balas AP de .338 NM Лента из 130-ти .338 NM бронебойных + .338 NM 130Rnd AP Belt .338 NM AP @@ -432,6 +439,7 @@ .338 NM AP .338 NM AP .338 NM бронебойные + .338 NM AP Caliber: .338 Norma Magnum AP<br />Rounds: 130<br />Used in: SPMG @@ -440,6 +448,7 @@ Calibre: .338 Norma Magnum AP<br />Cartouches: 130<br />Utilisé dans: SPMG Calibre: .338 Norma Magnum AP<br />Balas: 130<br />Se usa en: SPMG Калибр: .338 Norma Magnum бронебойные<br />Патронов: 130<br />Используются с: SPMG + Calibro: .338 Norma Magnum AP<br />Munizioni: 130<br />In uso su: SPMG @@ -449,6 +458,7 @@ Chargeur 9.3mm 10Cps Traçante Cargador de 10 balas trazadoras de 9.3mm Магазин из 10-ти 9,3 мм трассирующих + 9.3mm 10Rnd Tracer Mag 9.3mm Tracer @@ -458,6 +468,7 @@ 9.3mm Traçante 9.3mm trazadora 9,3 мм трассирующие + 9.3mm Tracer Caliber: 9.3x64mm Tracer<br />Rounds: 10<br />Used in: Cyrus @@ -466,6 +477,7 @@ Calibre: 9.3x64mm Traçante<br />Cartouches: 10<br />Utilisé dans: Cyrus Calibre: 9.3x64mm trazadora<br />Balas: 10<br />Se usa en: Cyrus Калибр: 9,3x64 мм трассирующие<br />Патронов: 10<br />Используются с: Cyrus + Calibro: 9.3x64mm Tracer<br />Munizioni: 10<br />In uso su: Cyrus 9.3mm 10Rnd Tracer IR-DIM Mag @@ -474,6 +486,7 @@ Chargeur 9.3mm 10Cps Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 9.3mm Магазин из 10-ти 9,3 мм ИК-трассирующих + 9.3mm 10Rnd Tracciante IR-DIM Mag 9.3mm IR-DIM @@ -483,6 +496,7 @@ 9.3mm IR-DIM 9.3mm IR-DIM 9,3 мм ИК-трассирующие + 9.3mm IR-DIM Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 10<br />Used in: Cyrus @@ -491,6 +505,7 @@ Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 10<br />Utilisé dans: Cyrus Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 10<br />Se usa en: Cyrus Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 10<br />Используются с: Cyrus + Calibro: 9.3x64mm Tracciante IR-DIM<br />Munizioni: 10<br />In uso su: Cyrus @@ -500,6 +515,7 @@ Bande 9.3mm 150Cps Traçante Cinta de 150 balas trazadoras de 9.3mm Лента из 150-ти 9,3 мм трассирующих + 9.3mm 150Rnd Tracer Belt 9.3mm Tracer @@ -509,6 +525,7 @@ 9.3mm Traçante 9.3mm trazadora 9,3 мм трассирующие + 9.3mm Tracciante Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid @@ -517,6 +534,7 @@ Calibre: 9.3x64mm Traçante<br />Cartouches: 150<br />Utilisé dans: Navid Calibre: 9.3x64mm trazadora<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм трассирующие<br />Патронов: 150<br />Используются с: Навид + Calibro: 9.3x64mm Tracciante<br />Munizioni: 150<br />In uso su: Navid 9.3mm 150Rnd Tracer IR-DIM Belt @@ -525,6 +543,7 @@ Bande 9.3mm 150Cps Traçante IR-DIM Cinta de 150 balas trazadoras IR-DIM de 9.3mm Лента из 150-ти 9,3 мм ИК-трассирующих + 9.3mm 150Rnd Tracciante IR-DIM Belt 9.3mm IR-DIM @@ -534,6 +553,7 @@ 9.3mm IR-DIM 9.3mm IR-DIM 9,3 мм ИК-трассирующие + 9.3mm IR-DIM Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 150<br />Used in: Navid @@ -542,6 +562,7 @@ Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 150<br />Utilisé dans: Navid Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 150<br />Используются с: Навид + Calibro: 9.3x64mm Tracciante IR-DIM<br />Munizioni: 150<br />In uso su: Navid 9.3mm 150Rnd AP Belt @@ -550,6 +571,7 @@ Bande 9.3mm 150Cps AP Cinta de 150 balas AP de 9.3mm Лента из 150-ти 9,3 мм бронебойных + 9.3mm 150Rnd AP Belt 9.3mm AP @@ -559,6 +581,7 @@ 9.3mm AP 9.3mm AP 9,3 мм бронебойные + 9.3mm AP Caliber: 9.3x64mm AP<br />Rounds: 150<br />Used in: Navid @@ -567,6 +590,7 @@ Calibre: 9.3x64mm AP<br />Cartouches: 150<br />Utilisé dans: Navid Calibre: 9.3x64mm AP<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм бронебойные<br />Патронов: 150<br />Используются с: Навид + Calibro: 9.3x64mm AP<br />Munizioni: 150<br />In uso su: Navid 9x19mm 16Rnd Mag @@ -574,6 +598,7 @@ Chargeur 9x19mm 16Cps Cargador de 16 balas de 9x19mm Магазин из 16-ти 9х19 мм + 9x19mm 16Rnd Mag 9x19mm @@ -581,6 +606,7 @@ 9x19mm 9x19mm 9х19 мм + 9x19mm 9x19mm 30Rnd Mag @@ -588,6 +614,7 @@ 9x19mm 30Cps Cargador de 16 balas de 9x19mm Магазин из 16-ти 9х19 мм + 9x19mm 30Rnd Mag 9x19mm 30Rnd Mag @@ -595,6 +622,7 @@ 9x19mm 30Cps Cargador de 30 balas de 9x19mm Магазин из 30-ти 9х19 мм + 9x19mm 30Rnd Mag 9x19mm @@ -602,6 +630,7 @@ 9x19mm 9x19mm 9х19 мм + 9x19mm 9x19mm 30Rnd Mag @@ -609,6 +638,7 @@ 9x19mm 30Cps Cargador de 30 balas de 9x19mm Магазин из 30-ти 9х19 мм + 9x19mm 30Rnd Mag 7.62x54mm 10Rnd Tracer IR-DIM Mag @@ -616,6 +646,7 @@ Chargeur 7.62x54mm 10Rnd Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих + 7.62x54mm 10Munizioni Traccianti IR-DIM Mag 7.62mm IR-DIM @@ -623,6 +654,7 @@ 7.62mm IR-DIM 7.62mm IR-DIM 7,62 мм ИК-трассирующие + 7.62mm IR-DIM 7.62x54mm 10Rnd Tracer IR-DIM Mag @@ -630,6 +662,7 @@ Chargeur 7.62x54mm 10Cps Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих + 7.62x54mm 10Munizioni Traccianti IR-DIM Mag 6.5mm 100Rnd Tracer IR-DIM Mag @@ -637,6 +670,7 @@ Chargeur 6.5mm 100Rnd Traçante IR-DIM Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих + 6.5mm 100Munizioni Traccianti IR-DIM Mag 6.5mm IR-DIM @@ -644,6 +678,7 @@ 6.5mm IR-DIM 6.5mm IR-DIM 6,5 мм ИК-трассирующие + 6.5mm IR-DIM 6.5mm 100Rnd Tracer IR-DIM Mag<br />Rounds: 100<br />Used in: MX LSW @@ -651,6 +686,7 @@ Chargeur 6.5mm 100Rnd Traçante IR-DIM Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих + 6.5mm 100Rnd Tracer IR-DIM Mag<br />Munizioni: 100<br />In uso su: MX LSW 6.5mm 200Rnd Tracer IR-DIM Belt @@ -658,6 +694,7 @@ Bande 6.5mm 200Rnd Traçante IR-DIM Cinta de 200 balas trazadoras IR-DIM de 6.5mm Магазин из 200-т 6,5 мм ИК-трассирующих + 6.5mm 200Rnd Tracer IR-DIM Belt 6.5mm IR-DIM @@ -665,6 +702,7 @@ 6.5mm IR-DIM 6.5mm IR-DIM 6,5 мм ИК-трассирующие + 6.5mm IR-DIM 6.5mm 200Rnd Tracer IR-DIM Belt<br />Rounds: 200<br />Used in: Stoner 99 LMG @@ -672,6 +710,7 @@ Bande 6.5mm 200Cps Traçante IR-DIM Cinta de 200 balas trazadoras IR-DIM de 6.5mm Магазин из 200-т 6,5 мм ИК-трассирующих + 6.5mm 200Rnd Tracer IR-DIM Belt<br />Munizioni: 200<br />In uso su: Stoner 99 LMG 5.56mm 30Rnd Mag (Mk262) @@ -679,6 +718,7 @@ 5.56mm 30Cps (Mk262) Cargador de 30 balas de 5.56mm (Mk262) Магазин из 30-ти 5.56 мм Mk262 + 5.56mm 30Rnd Mag (Mk262) 5.56mm Mk262 @@ -686,6 +726,7 @@ 5.56mm Mk262 5.56mm Mk262 5,56 мм Mk262 + 5.56mm Mk262 Caliber: 5.56x45 mm NATO (Mk262)<br />Rounds: 30 @@ -693,6 +734,7 @@ Calibre: 5.56x45 mm NATO (Mk262)<br />Cartouches: 30 Calibre: 5.56x45 mm NATO (Mk262)<br />Balas: 30 Калибр: 5,56x45 мм NATO (Mk262)<br />Патронов: 30 + Calibro: 5.56x45 mm NATO (Mk262)<br />Munizioni: 30 5.56mm 30Rnd Mag (Mk318) @@ -700,6 +742,7 @@ 5.56mm 30Cps (Mk318) Cargador de 30 balas de 5.56mm (Mk318) Магазин из 30-ти 5.56 мм (Mk318) + 5.56mm 30Rnd Mag (Mk318) 5.56mm Mk318 @@ -707,6 +750,7 @@ 5.56mm Mk318 5.56mm Mk318 5.56 мм Mk318 + 5.56mm Mk318 Caliber: 5.56x45 mm NATO (Mk318)<br />Rounds: 30 @@ -714,6 +758,7 @@ Calibre: 5.56x45 mm NATO (Mk318)<br />Cartouches: 30 Calibre: 5.56x45 mm NATO (Mk318)<br />Balas: 30 Калибр: 5,56x45 мм NATO (Mk318)<br />Патронов: 30 + Calibro: 5.56x45 mm NATO (Mk318)<br />Munizioni: 30 5.56mm 30Rnd Mag (M995 AP) @@ -721,6 +766,7 @@ 5.56mm 30Cps (M995 AP) Cargador de 30 balas de 5.56mm (M995 AP) Магазин из 30-ти 5.56 мм (M995 AP) + 5.56mm 30Rnd Mag (M995 AP) 5.56mm AP @@ -728,6 +774,7 @@ 5.56mm AP 5.56mm AP 5.56 мм AP + 5.56mm AP Caliber: 5.56x45 mm NATO (M995 AP)<br />Rounds: 30 @@ -735,6 +782,7 @@ Calibre: 5.56x45 mm NATO (M995 AP)<br />Cartouches: 30 Calibre: 5.56x45 mm NATO (M995 AP)<br />Balas: 30 Калибр: 5,56x45 мм NATO (M995 AP)<br />Патронов: 30 + Calibro: 5.56x45 mm NATO (M995 AP)<br />Munizioni: 30 7.62mm 10Rnd Mag (M118LR) @@ -742,6 +790,7 @@ 7.62mm 10Cps (M118LR) Cargador de 10 balas de 7.62mm (M118LR) Магазин из 10-ти 7,62 мм (M118LR) + 7.62mm 10Rnd Mag (M118LR) 7.62mm M118LR @@ -749,6 +798,7 @@ 7.62mm M118LR 7.62mm (M118LR) 7,62 мм M118LR + 7.62mm M118LR Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 10 @@ -756,6 +806,7 @@ Calibre: 7.62x51 mm NATO (M118LR)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (M118LR)<br />Balas: 10 Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 10 + Calibro: 7.62x51 mm NATO (M118LR)<br />Munizioni: 10 7.62mm 20Rnd Mag (M118LR) @@ -763,6 +814,7 @@ 7.62mm 20Cps (M118LR) Cargador de 20 balas de 7.62mm (M118LR) Магазин из 20-ти 7,62 мм (M118LR) + 7.62mm 20Rnd Mag (M118LR) 7.62mm M118LR @@ -770,6 +822,7 @@ 7.62mm M118LR 7.62mm (M118LR) 7,62 мм M118LR + 7.62mm M118LR Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 20 @@ -777,6 +830,7 @@ Calibre: 7.62x51 mm NATO (M118LR)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (M118LR)<br />Balas: 20 Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 20 + Calibro: 7.62x51 mm NATO (M118LR)<br />Munizioni: 20 7.62mm 10Rnd Mag (Mk316 Mod 0) @@ -784,6 +838,7 @@ 7.62mm 10Cps (Mk316 Mod 0) Cargador de 10 balas de 7.62mm (Mk316 Mod 0) Магазин из 10-ти 7,62 мм (Mk316 Mod 0) + 7.62mm 10Rnd Mag (Mk316 Mod 0) 7.62mm Mk316 @@ -791,6 +846,7 @@ 7.62mm Mk316 7.62mm Mk316 7,62 мм Mk316 + 7.62mm Mk316 Caliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Rounds: 10 @@ -798,6 +854,7 @@ Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Balas: 10 Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 10 + Calibro: 7.62x51 mm NATO (Mk316 Mod 0)<br />Munizioni: 10 7.62mm 20Rnd Mag (Mk316 Mod 0) @@ -805,6 +862,7 @@ 7.62mm 20Cps (Mk316 Mod 0) Cargador de 20 balas de 7.62mm (Mk316 Mod 0) Магазин из 20-ти 7,62 мм (Mk316 Mod 0) + 7.62mm 20Rnd Mag (Mk316 Mod 0) 7.62mm Mk316 @@ -812,6 +870,7 @@ 7.62mm Mk316 7.62mm Mk316 7,62 мм Mk316 + 7.62mm Mk316 Caliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Rounds: 20 @@ -819,6 +878,7 @@ Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Balas: 20 Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 20 + Calibro: 7.62x51 mm NATO (Mk316 Mod 0)<br />Munizioni: 20 7.62mm 10Rnd Mag (Mk319 Mod 0) @@ -826,6 +886,7 @@ 7.62mm 10Cps (Mk319 Mod 0) Cargador de 10 balas de 7.62mm (Mk319 Mod 0) Магазин из 10-ти 7,62 мм (Mk319 Mod 0) + 7.62mm 10Rnd Mag (Mk319 Mod 0) 7.62mm Mk319 @@ -833,6 +894,7 @@ 7.62mm Mk319 7.62mm Mk319 7,62mm Mk319 + 7.62mm Mk319 Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 10 @@ -840,6 +902,7 @@ Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Balas: 10 Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 10 + Calibro: 7.62x51 mm NATO (Mk319 Mod 0)<br />Munizioni: 10 7.62mm 20Rnd Mag (Mk319 Mod 0) @@ -847,6 +910,7 @@ 7.62mm 20Cps (Mk319 Mod 0) Cargador de 20 balas de 7.62mm (Mk319 Mod 0) Магазин из 20-ти 7,62 мм (Mk319 Mod 0) + 7.62mm 20Rnd Mag (Mk319 Mod 0) 7.62mm Mk319 @@ -854,6 +918,7 @@ 7.62mm Mk319 7.62mm Mk319 7,62 мм Mk319 + 7.62mm Mk319 Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 20 @@ -861,6 +926,7 @@ Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Balas: 20 Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 20 + Calibro: 7.62x51 mm NATO (Mk319 Mod 0)<br />Munizioni: 20 7.62mm 10Rnd Mag (M993 AP) @@ -868,6 +934,7 @@ 7.62mm 10Cps (M993 AP) Cargador de 10 balas de 7.62mm (M993 AP) Магазин из 10-ти 7,62 мм (M993 AP) + 7.62mm 10Rnd Mag (M993 AP) 7.62mm AP @@ -875,6 +942,7 @@ 7.62mm AP 7.62mm AP 7,62mm AP + 7.62mm AP Caliber: 7.62x51 mm NATO (M993 AP)<br />Rounds: 10 @@ -882,6 +950,7 @@ Calibre: 7.62x51 mm NATO (M993 AP)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (M993 AP)<br />Balas: 10 Калибр: 7,62x51 мм NATO (M993 AP)<br />Патронов: 10 + Calibro: 7.62x51 mm NATO (M993 AP)<br />Munizioni: 10 7.62mm 20Rnd Mag (M993 AP) @@ -889,6 +958,7 @@ 7.62mm 20Cps (M993 AP) Cargador de 20 balas de 7.62mm (M993 AP) Магазин из 20-ти 7,62 мм (M993 AP) + 7.62mm 20Rnd Mag (M993 AP) 7.62mm AP @@ -896,6 +966,7 @@ 7.62mm AP 7.62mm AP 7,62 мм AP + 7.62mm AP Caliber: 7.62x51 mm NATO (M993 AP)<br />Rounds: 20 @@ -903,13 +974,15 @@ Calibre: 7.62x51 mm NATO (M993 AP)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (M993 AP)<br />Balas: 20 Калибр: 7,62x51 мм NATO (M993 AP)<br />Патронов: 20 - + Calibro: 7.62x51 mm NATO (M993 AP)<br />Munizioni: 20 + 7.62mm 20Rnd Mag (Mk248 Mod 0) Magazynek 7,62mm 20rd (Mk248 Mod 0) 7.62mm 20Cps (Mk248 Mod 0) Cargador de 20 balas de 7.62mm (Mk248 Mod 0) Магазин из 20-ти 7,62 мм (Mk248 Mod 0) + 7.62mm 20Rnd Mag (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) @@ -917,6 +990,7 @@ 7.62mm (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) 7,62 мм (Mk248 Mod 0) + 7.62mm (Mk248 Mod 0) Caliber: 7.62x67 mm NATO (Mk248 Mod 0)<br />Rounds: 20 @@ -924,6 +998,7 @@ Calibre: 7.62x67mm NATO (Mk248 Mod 0)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Mk248 Mod 0)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Mk248 Mod 0)<br />Патронов: 20 + Calibro: 7.62x67 mm NATO (Mk248 Mod 0)<br />Munizioni: 20 7.62mm 20Rnd Mag (Mk248 Mod 1) @@ -931,6 +1006,7 @@ 7.62mm 20Cps (Mk248 Mod 1) Cargador de 20 balas de 7.62mm (Mk248 Mod 1) Магазин из 20-ти 7,62 мм (Mk248 Mod 1) + 7.62mm 20Rnd Mag (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) @@ -938,6 +1014,7 @@ 7.62mm (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) 7,62 мм (Mk248 Mod 1) + 7.62mm (Mk248 Mod 1) Caliber: 7.62x67 mm NATO (Mk248 Mod 1)<br />Rounds: 20 @@ -945,6 +1022,7 @@ Calibre: 7.62x67mm NATO (Mk248 Mod 1)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Mk248 Mod 1)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Mk248 Mod 1)<br />Патронов: 20 + Calibro: 7.62x67 mm NATO (Mk248 Mod 1)<br />Munizioni: 20 7.62mm 20Rnd Mag (Berger Hybrid OTM) @@ -952,6 +1030,7 @@ 7.62 20Cps (Berger Hybrid OTM) Cargador de 20 balas de 7.62mm (Berger Hybrid OTM) Магазин из 20-ти 7,62 мм (Berger Hybrid OTM) + 7.62mm 20Rnd Mag (Berger Hybrid OTM) 7.62mm (OTM) @@ -959,6 +1038,7 @@ 7.62mm (OTM) 7.62mm (OTM) 7,62 мм (OTM) + 7.62mm (OTM) Caliber: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Rounds: 20 @@ -966,6 +1046,7 @@ Calibre: 7.62x67mm NATO (Berger Hybrid OTM)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Berger Hybrid OTM)<br />Патронов: 20 + Calibro: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Munizioni: 20 6.5x47mm 30Rnd Mag (HPBT Scenar) @@ -973,6 +1054,7 @@ Cargador de 30 balas de 6.5x47mm (HPBT Scenar) Magazynek 6,5x47 mm 30rd (HPBT Scenar) Магазин из 30-ти 6,5x47 мм (HPBT Scenar) + 6.5x47mm 30Rnd Mag (HPBT Scenar) 6.5mm Lapua @@ -980,6 +1062,7 @@ 6.5mm Lapua 6,5mm Lapua 6,5 мм Lapua + 6.5mm Lapua Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30<br />Used in: MXM @@ -987,10 +1070,12 @@ Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30 Kaliber: 6,5x47 mm (HPBT Scenar)<br />Pociski: 30 Калибр: 6,5x47 мм (HPBT Scenar)<br />Патронов: 30 + Calibro: 6.5x47mm (HPBT Scenar)<br />Munizioni: 30<br />In uso su: MXM 6.5mm Creedmor 30Rnd Mag Magazynek 6,5mm Creedmor 30rd + 6.5mm Creedmor 30Rnd Mag 6.5mm CM @@ -998,10 +1083,12 @@ 6.5mm CM 6,5mm CM 6,5 мм CM + 6.5mm CM Caliber: 6.5mm Creedmor<br />Rounds: 30<br />Used in: MXM Kaliber: 6,5mm Creedmor<br />Pociski: 30<br />Używany w: MXM + Calibro: 6.5mm Creedmor<br />Munizioni: 30<br />In uso su: MXM .338 10Rnd Mag (300gr Sierra MatchKing HPBT) @@ -1009,6 +1096,7 @@ Cargador de 10 balas de 8.6x70mm (300gr Sierra MatchKing HPBT) Magazynek .338 10rd (300gr Sierra MatchKing HPBT) Магазин из 10-ти .338 (300 гран Sierra MatchKing HPBT) + .338 10Munizioni Mag (300gr Sierra MatchKing HPBT) .338 (HPBT) @@ -1016,6 +1104,7 @@ .338 (HPBT) .338 (HPBT) .338 (HPBT) + .338 (HPBT) Caliber: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Rounds: 10 @@ -1023,6 +1112,7 @@ Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Balas: 10 Kaliber: 8,6x70 mm (300gr Sierra MatchKing HPBT)<br />Pociski: 10 Калибр: .338 (300 гран Sierra MatchKing HPBT)<br />Патронов: 10 + Calibro: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Munizioni: 10 .338 10Rnd Mag (API526) @@ -1030,6 +1120,7 @@ Cargador de 10 balas de .338 (API526) Magazynek .338 10rd (API526) Магазин из 10-ти .338 (API526) + .338 10Rnd Mag (API526) .338 AP @@ -1037,6 +1128,7 @@ .338 AP .338 AP .338 бронебойные + .338 AP Caliber: 8.6x70mm (API526)<br />Rounds: 10 @@ -1044,6 +1136,7 @@ Calibre: 8.6x70mm (API526)<br />Balas: 10 Kaliber: 8,6x70 mm (API526)<br />Pociski: 10 Калибр: .338 (API526)<br />Патронов: 10 + Calibro: 8.6x70mm (API526)<br />Munizioni: 10 12.7x99mm 5Rnd Mag @@ -1051,6 +1144,7 @@ Cargador de 5 balas de 12.7x99mm Magazynek 12,7x99 mm 5rd Магазин из 5-ти 12,7x99 мм + 12.7x99mm 5Rnd Mag 12.7mm @@ -1058,6 +1152,7 @@ 12.7mm 12,7mm 12,7 мм + 12.7mm Caliber: 12.7x99mm<br />Rounds: 5 @@ -1065,24 +1160,28 @@ Calibre: 12.7x99mm<br />Balas: 5 Kaliber: 12,7x99 mm<br />Pociski: 5 Калибр: 12,7x99 мм<br />Патронов: 5 + Calibro: 12.7x99mm<br />Munizioni: 5 12.7x99mm API 5Rnd Mag 12.7x99mm API 5Cps Cargador de 5 balas de 12.7x99mm API Magazynek 12,7x99mm API 5rd + 12.7x99mm API 5Rnd Mag 12.7mm API 12.7mm API 12.7mm API 12,7mm API + 12.7mm API Caliber: 12.7x99mm API<br />Rounds: 5 Calibre: 12.7x99mm API<br />Cartouches: 5 Calibre: 12.7x99mm API<br />Balas: 5 Kaliber: 12,7x99 mm API<br />Pociski: 5 + Calibro: 12.7x99mm API<br />Munizioni: 5 12.7x99mm 5Rnd Mag (AMAX) @@ -1090,6 +1189,7 @@ Cargador de 5 balas de 12.7x99mm (AMAX) Magazynek 12,7x99 mm 5rd (AMAX) Магазин из 5-ти 12,7x99 мм (A-MAX) + 12.7x99mm 5Rnd Mag (AMAX) 12.7mm @@ -1097,6 +1197,7 @@ 12.7mm 12,7mm 12,7 мм + 12.7mm Caliber: 12.7x99mm (AMAX)<br />Rounds: 5 @@ -1104,6 +1205,7 @@ Calibre: 12.7x99mm (AMAX)<br />Balas: 5 Kaliber: 12,7x99 mm (AMAX)<br />Pociski: 5 Калибр: 12,7x99 мм (A-MAX)<br />Патронов: 5 + Calibro: 12.7x99mm (AMAX)<br />Munizioni: 5 - + \ No newline at end of file diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 55a9f6211a..1f6bcaa3ca 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -119,6 +119,7 @@ Ekwipunek rewidowanej osoby Инвентарь обысканного человека Inventário da pessoa revistada + Inventario delle persone perquisite Frisk person @@ -188,4 +189,4 @@ Niente selezionato - + \ No newline at end of file From 2068eaea7518d89acef37d245c313ea6933ae799 Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 29 Apr 2015 13:53:38 +0200 Subject: [PATCH 10/32] Added G_40mm_HE config, changed 40mm gurney_k values --- addons/frag/CfgAmmo.hpp | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index 6490c94f22..aa98be80f7 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -68,29 +68,27 @@ class CfgAmmo { GVAR(gurney_c) = 2320; GVAR(gurney_k) = 1/2; }; - - + + class G_40mm_HEDP: GrenadeBase { + // Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M433 + GVAR(classes)[] = {"ACE_frag_tiny_HD"}; + GVAR(metal) = 200; + GVAR(charge) = 45; + GVAR(gurney_c) = 2830; + GVAR(gurney_k) = 1/2; + }; class G_40mm_HE: GrenadeBase { - GVAR(classes)[] = {"ACE_frag_tiny_HD"}; - GVAR(metal) = 200; - GVAR(charge) = 45; - GVAR(gurney_c) = 2830; - GVAR(gurney_k) = 3/5; - }; - - class ACE_G_40mm_HEDP: G_40mm_HE { - GVAR(classes)[] = {"ACE_frag_tiny_HD"}; - GVAR(metal) = 200; - GVAR(charge) = 45; - GVAR(gurney_c) = 2830; - GVAR(gurney_k) = 3/5; - }; - class ACE_G_40mm_HE: ACE_G_40mm_HEDP { + // Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M441 GVAR(classes)[] = {"ACE_frag_tiny_HD"}; GVAR(metal) = 200; GVAR(charge) = 32; GVAR(gurney_c) = 2700; - GVAR(gurney_k) = 3/5; + GVAR(gurney_k) = 1/2; + }; + + class ACE_G_40mm_HEDP: G_40mm_HEDP { + }; + class ACE_G_40mm_HE: G_40mm_HE { }; class ACE_G_40mm_Practice: ACE_G_40mm_HE { GVAR(skip) = 1; From 73772d9de19a55ea3f3065ae01dba2b17755e597 Mon Sep 17 00:00:00 2001 From: NukeDev Date: Wed, 29 Apr 2015 16:44:42 +0200 Subject: [PATCH 11/32] Other Fixes --- addons/medical/stringtable.xml | 50 ++++++++++++++++++++++++++ addons/missileguidance/stringtable.xml | 1 + 2 files changed, 51 insertions(+) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 8bcd17cef7..1a1968ba1f 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1123,6 +1123,7 @@ Use Surgical Kit Operationsset benutzen + Usa kit chirurgico Bodybag @@ -1177,6 +1178,7 @@ %1 checked Blood Pressure: %2 %1 kontrollierte Blutdruck: %2 + %1 controllata pressione sanguigna: %2 You checked %1 @@ -1251,18 +1253,22 @@ Low Niedrig + Basso Normal Normal + Normale High Hoch + Alto No Blood Pressure Kein Blutdruck + Nessuna Pressione Sanguigna Pulse @@ -1297,18 +1303,22 @@ %1 checked Heart Rate: %2 %1 kontrollierte Herzfrequenz: %2 + %1 Controllata Frequenza Cardiaca: %2 Weak Schwach + Lento Normal Normal + Normale Strong Stark + Veloce You find a Heart Rate of %2 @@ -1412,24 +1422,31 @@ Patient %1<br/>is %2.<br/>%3.<br/>%4 + Paziente %1<br/>è %2.<br/>%3.<br/>%4 alive + Vivo dead + Morto He's lost some blood + Ha perso molto sangue He hasn't lost blood + Non ha perso sangue He is in pain + è affetto da dolore He is not in pain + Non è affetto da dolore Bandaged @@ -1762,134 +1779,167 @@ Scrape Kratzer + Scorticatura Minor Scrape Kleiner Kratzer + Minima Scorticatura Medium Scrape Mittlerer Kratzer + Media Scorticatura Large Scrape Großer Kratzer + Alta Scorticatura Avulsion Avulsion + Avulsione Minor Avulsion Kleine Avulsion + Minima Avulsione Medium Avulsion Mittlere Avulsion + Media Avulsione Large Avulsion Große Avulsion + Alta Avulsione Bruise Prellung + Contusione Minor Bruise Kleine Prellung + Minima Contusione Medium Bruise Mittlere Prellung + Media Contusione Large Bruise Große Prellung + Alta Contusione Crushed tissue Quetschverletzung + Tessuto Schiacciato Minor crushed tissue Kleine Quetschverletzung + Minimo Tessuto Schiacciato Medium crushed tissue Mittlere Quetschverletzung + Medio Tessuto Schiacciato Large crushed tissue Große Quetschverletzung + Alto Tessuto Schiacciato Cut Schnittwunde + Taglio Small Cut Kleine Schnittwunde + Piccolo Taglio Medium Cut Mittlere Schnittwunde + Medio Taglio Large Cut Große Schnittwunde + Grande Taglio Tear Riss + Strappo Small Tear Kleiner Riss + Piccolo Strappo Medium Tear Mittlerer Riss + Medio Strappo Large Tear Großer Riss + Grande Strappo Velocity Wound Ballistisches Trauma + Velocità Ferita Smal Velocity Wound Kleines Ballistisches Trauma + Lenta Velocità Ferita Medium Velocity Wound Mittleres Ballistisches Trauma + Media Velocità Ferita Large Velocity Wound Großes Ballistisches Trauma + Alta Velocità Ferita Puncture Wound Stichwunde + Puntura Ferita Minor Puncture Wound Kleine Stichwunde + Piccola Puntura Ferita Medium Puncture Wound Mittlere Stichwunde + Media Puntura Ferita Large Puncture Wound Große Stichwunde + Grande Puntura Ferita Broken Femur Gebrochener Oberschenkelknochen + Femore Rotto \ No newline at end of file diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index e0923981f3..68da1c0cd8 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -17,6 +17,7 @@ Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types. Zaawansowane namierzanie rakiet, lub ZNR, dostarcza wiele poprawek do systemu namierzania rakiet oraz dodaje nowe tryby strzału. Jest to wymagana opcja dla broni rakietowych. Guía de misiles avanzada, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un framework requerido para armas de tipo misil. + Guida dei missili avanzata, o AMG, offre diversi miglioramenti alla teleguida di missili. E' anche un sistema necessario per i tipi di armi missile. Hydra-70 DAGR Missile From d4dc5e6d858c2b64d17a288a604bf138d6c09a3b Mon Sep 17 00:00:00 2001 From: NukeDev Date: Wed, 29 Apr 2015 17:22:20 +0200 Subject: [PATCH 12/32] Other Fixes 2 --- addons/overheating/stringtable.xml | 5 +- addons/realisticnames/stringtable.xml | 76 ++++++++++++++++++++++++++- addons/respawn/stringtable.xml | 8 ++- addons/vehiclelock/stringtable.xml | 4 +- 4 files changed, 88 insertions(+), 5 deletions(-) diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 557bd6c915..32e45bdddf 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -10,6 +10,7 @@ Wyświetl tekst przy zacięciu broni Affiche texte si enrayé Szöveges értesítés kijelzése a fegyver elakadásakor + Visualizza testo in caso di inceppamento Display a notification whenever your weapon gets jammed @@ -20,6 +21,7 @@ Wyświetl powiadomienie za każdym razem, kiedy Twoja broń ulegnie zacięciu Affiche une notification lors d'un enrayement Egy szöveges értesítés jelenik meg, amikor a fegyver megakad + Visualizza una notifica in caso la tua arma si inceppasse Spare barrel @@ -138,6 +140,7 @@ Vérifier la température Fegyverhő ellenőrzése Проверить температуру оружия + Controlla la temperatura della canna Checking temperature ... @@ -164,4 +167,4 @@ Температура - + \ No newline at end of file diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 5e9aaa701d..d4dbf701f5 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -118,6 +118,7 @@ YABHON-R3 (штурмовик) YABHON-R3 (CAS) YABHON-R3 (Légitámogató) + YABHON-R3 (CAS) M-ATV @@ -728,6 +729,7 @@ CH-47I Chinook (neozbrojený) CH-47I Chinook (Neozbrojený) CH-47I Chinook (fegyvertelen) + CH-47I Chinook (disarmato) A-10D Thunderbolt II @@ -1050,6 +1052,7 @@ P99 P99 P99 + P99 MP-443 Grach @@ -1060,6 +1063,7 @@ MP-443 Grach MP-443 Grach МР-443 "Грач" + MP-443 Grach ACP-C2 @@ -1070,6 +1074,7 @@ ACP-C2 ACP-C2 ACP-C2 + ACP-C2 FNX-45 Tactical @@ -1080,6 +1085,7 @@ FNX-45 Tactical FNX-45 Tactical FNX-45 Tactical + FNX-45 Tactical Chiappa Rhino 60DS @@ -1090,6 +1096,7 @@ Chiappa Rhino 6DS Chiappa Rhino 60DS Chiappa Rhino 60DS + Chiappa Rhino 6DS Taurus Judge @@ -1100,6 +1107,7 @@ Taurus Judge Taurus Judge Taurus Judge + Taurus Judge NLAW @@ -1110,6 +1118,7 @@ NLAW NLAW NLAW + NLAW RPG-32 @@ -1120,6 +1129,7 @@ RPG-32 RPG-32 РПГ-32 + RPG-32 Mini-Spike (AA) @@ -1130,6 +1140,7 @@ Mini-Spike (Repülő-elhárító) Mini-Spike (AA) Mini-Spike (AA) + Mini-Spike (AA) Mini-Spike (AT) @@ -1140,6 +1151,7 @@ Mini-Spike (Tankelhárító) Mini-Spike (AT) Mini-Spike (AT) + Mini-Spike (AT) MX @@ -1150,6 +1162,7 @@ MX MX MX + MX MX (Black) @@ -1160,6 +1173,7 @@ MX (Fekete) MX (Negro) MX (черный) + MX (Nero) MXC @@ -1170,6 +1184,7 @@ MXC MXC MXC + MXC MXC (Black) @@ -1180,6 +1195,7 @@ MXC (Fekete) MXC (Negro) MXC (черный) + MXC (Nero) MX 3GL @@ -1190,6 +1206,7 @@ MX 3GL MX 3GL MX 3GL + MX 3GL MX 3GL (Black) @@ -1200,6 +1217,7 @@ MX 3GL (Fekete) MX 3GL (Negro) MX 3GL (черный) + MX 3GL (Nero) MX LSW @@ -1210,6 +1228,7 @@ MX LSW MX LSW MX LSW + MX LSW MX LSW (Black) @@ -1220,6 +1239,7 @@ MX LSW (Fekete) MX LSW (Negro) MX LSW (черный) + MX LSW (Nero) MXM @@ -1230,6 +1250,7 @@ MXM MXM MXM + MXM MXM (Black) @@ -1240,6 +1261,7 @@ MXM (Fekete) MXM (Negro) MXM (черный) + MXM (Nero) KT2002 Katiba @@ -1250,6 +1272,7 @@ KT2002 Katiba KT2002 Katiba KT2002 Катиба + KT2002 Katiba KT2002C Katiba @@ -1260,6 +1283,7 @@ KT2002C Katiba KT2002C Katiba KT2002C Катиба + KT2002C Katiba KT2002 Katiba KGL @@ -1270,6 +1294,7 @@ KT2002 Katiba KGL KT2002 Katiba KGL KT2002 Катиба KGL + KT2002 Katiba KGL F2000 (Camo) @@ -1280,6 +1305,7 @@ F2000 (Terepmintás) F2000 (Camuflaje) F2000 (камо) + F2000 (Camo) F2000 @@ -1290,6 +1316,7 @@ F2000 F2000 F2000 + F2000 F2000 Tactical (Camo) @@ -1300,6 +1327,7 @@ F2000 Tactical (Terepmintás) F2000 Tactical (Camuflaje) F2000 Tactical (камо) + F2000 Tactical (Camo) F2000 Tactical @@ -1310,6 +1338,7 @@ F2000 Tactical F2000 Tactical F2000 Tactical + F2000 Tactical F2000 EGLM (Camo) @@ -1320,6 +1349,7 @@ F2000 EGLM (Terepmintás) F2000 EGLM (Camuflaje) F2000 EGLM (камо) + F2000 EGLM (Camo) F2000 EGLM @@ -1330,6 +1360,7 @@ F2000 EGLM F2000 EGLM F2000 EGLM + F2000 EGLM TAR-21 @@ -1340,6 +1371,7 @@ TAR-21 TAR-21 TAR-21 + TAR-21 CTAR-21 @@ -1350,6 +1382,7 @@ CTAR-21 CTAR-21 CTAR-21 + CTAR-21 TAR-21 EGLM @@ -1360,6 +1393,7 @@ TAR-21 EGLM TAR-21 EGLM TAR-21 EGLM + TAR-21 EGLM Vector SMG @@ -1370,6 +1404,7 @@ Vector SMG Vector SMG Vector SMG + Vector SMG Scorpion Evo 3 A1 @@ -1380,6 +1415,7 @@ Scorpion Evo 3 A1 Scorpion Evo 3 A1 Scorpion Evo 3 A1 + Scorpion Evo 3 A1 CPW @@ -1390,6 +1426,7 @@ CPW CPW CPW + CPW RFB SDAR @@ -1400,6 +1437,7 @@ RFB SDAR RFB SDAR RFB SDAR + RFB SDAR Stoner 99 LMG @@ -1410,6 +1448,7 @@ Stoner 99 Könnyűgéppuska Stoner 99 LMG Stoner 99 LMG + Stoner 99 LMG Negev NG7 @@ -1420,6 +1459,7 @@ Negev NG7 Negev NG7 Negev NG7 + Negev NG7 Mk14 Mod 1 EBR @@ -1430,6 +1470,7 @@ Mk14 Mod 1 EBR Mk14 Mod 1 EBR Mk14 Mod 1 EBR + Mk14 Mod 1 EBR GM6 Lynx @@ -1440,6 +1481,7 @@ GM6 Gepárd GM6 Lynx GM6 Lynx + GM6 Lynx GM6 Lynx (Camo) @@ -1450,6 +1492,7 @@ GM6 Gepárd (Terepmintás) GM6 Lynx (Camuflaje) GM6 Lynx (камо) + GM6 Lynx (Camo) M200 Intervention @@ -1460,6 +1503,7 @@ M200 Intervention M200 Intervention M200 Intervention + M200 Intervention M200 Intervention (Camo) @@ -1470,6 +1514,7 @@ M200 Intervention (Terepmintás) M200 Intervention (Camuflaje) M200 Intervention (камо) + M200 Intervention (Camo) VS-121 @@ -1480,6 +1525,7 @@ VS-121 VS-121 VS-121 + VS-121 Noreen "Bad News" ULR @@ -1487,6 +1533,7 @@ Noreen "Bad News" ULR Noreen "Bad News" ULR Noreen "Bad News" ULR + Noreen "Bad News" ULR Noreen "Bad News" ULR (Black) @@ -1494,6 +1541,7 @@ Noreen "Bad News" ULR (Noir) Noreen "Bad News" ULR (Negro) Noreen "Bad News" ULR (черный) + Noreen "Bad News" ULR (Nero) Noreen "Bad News" ULR (Camo) @@ -1501,6 +1549,7 @@ Noreen "Bad News" ULR (Camo) Noreen "Bad News" ULR (Camuflaje) Noreen "Bad News" ULR (камо) + Noreen "Bad News" ULR (Camo) Noreen "Bad News" ULR (Sand) @@ -1508,6 +1557,7 @@ Noreen "Bad News" ULR (Beige) Noreen "Bad News" ULR (Arena) Noreen "Bad News" ULR (песочный) + Noreen "Bad News" ULR (Sabbia) SIG 556 @@ -1516,6 +1566,7 @@ SIG 556 SIG 556 SIG 556 + SIG 556 SIG 556 (Black) @@ -1524,6 +1575,7 @@ SIG 556 (Negro) SIG 556 (черный) SIG 556 (czarny) + SIG 556 (Nero) SIG 556 (Khaki) @@ -1532,6 +1584,7 @@ SIG 556 (Caqui) SIG 556 (хаки) SIG 556 (khaki) + SIG 556 (Khaki) SIG 556 (Sand) @@ -1540,6 +1593,7 @@ SIG 556 (Arena) SIG 556 (песочный) SIG 556 (piaskowy) + SIG 556 (Sabbia) SIG 556 (Camo) @@ -1548,6 +1602,7 @@ SIG 556 (Camuflaje) SIG 556 (камо) SIG 556 (kamuflaż) + SIG 556 (Camo) SIG 556 (Woodland) @@ -1556,6 +1611,7 @@ SIG 556 (Bosque) SIG 556 (лесной) SIG 556 (leśny) + SIG 556 (Woodland) SIG 556 (provisional) spotter @@ -1564,6 +1620,7 @@ SIG 556 (provisional) observador SIG 556 (provisional) корректировщик SIG 556 (prowizoryczny) obserwator + SIG 556 (provisional) spotter ASP-1 Kir @@ -1571,6 +1628,7 @@ ASP-1 Kir ASP-1 Kir ASP-1 Kir + ASP-1 Kir ASP-1 Kir (Black) @@ -1578,6 +1636,7 @@ ASP-1 Kir (Noir) ASP-1 Kir (Negro) ASP-1 Kir (черный) + ASP-1 Kir (Nero) ASP-1 Kir (Tan) @@ -1585,6 +1644,7 @@ ASP-1 Kir (Tan) ASP-1 Kir (Tan) ASP-1 Kir (бронзовый) + ASP-1 Kir (Tan) Cyrus @@ -1592,6 +1652,7 @@ Cyrus Cyrus Cyrus + Cyrus Cyrus (Black) @@ -1599,6 +1660,7 @@ Cyrus (Noir) Cyrus (Negro) Cyrus (черный) + Cyrus (Nero) Cyrus (Hex) @@ -1606,6 +1668,7 @@ Cyrus (Hex) Cyrus (Hex) Cyrus (гекс) + Cyrus (Hex) Cyrus (Tan) @@ -1613,6 +1676,7 @@ Cyrus (Tan) Cyrus (Tan) Cyrus (бронза) + Cyrus (Tan) M14 @@ -1621,6 +1685,7 @@ M14 M14 M14 + M14 M14 (Camo) @@ -1629,6 +1694,7 @@ M14 (Camuflaje) M14 (Камо) M14 (kamuflaż) + M14 (Camo) M14 (Olive) @@ -1637,6 +1703,7 @@ M14 (Oliva) M14 (Олива) M14 (oliwkowy) + M14 (Olive) HK121 @@ -1644,6 +1711,7 @@ HK121 HK121 HK121 + HK121 HK121 (Hex) @@ -1651,6 +1719,7 @@ HK121 (Hex) HK121 (Hex) HK121 (гекс) + HK121 (Hex) HK121 (Tan) @@ -1658,6 +1727,7 @@ HK121 (Tan) HK121 (Tan) HK121 (бронза) + HK121 (Tan) LWMMG @@ -1666,6 +1736,7 @@ LWMMG LWMMG LWMMG + LWMMG LWMMG (MTP) @@ -1674,6 +1745,7 @@ LWMMG (MTP) LWMMG (MTP) LWMMG (MTP) + LWMMG (MTP) LWMMG (Black) @@ -1682,6 +1754,7 @@ LWMMG (Negro) LWMMG (Черный) LWMMG (czarny) + LWMMG (Nero) LWMMG (Sand) @@ -1690,6 +1763,7 @@ LWMMG (Arena) LWMMG (Песочный) LWMMG (piaskowy) + LWMMG (Sabbia) - + \ No newline at end of file diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 75f711e20e..95cc7123ed 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -52,6 +52,7 @@ Точка сбора Синих (База) Punkt zbiórki Zachodu (Baza) Point de ralliement OUEST (Base) + Rallypoint West (Base) Rallypoint East (Base) @@ -60,6 +61,7 @@ Точка сбора Красных (База) Punkt zbiórki Wschodu (Baza) Point de ralliement EST (Base) + Rallypoint East (Base) Rallypoint Independent (Base) @@ -68,6 +70,7 @@ Точка сбора Независимых (База) Punkt zbiórki Ruchu oporu (Baza) Point de ralliement Indépendant (Base) + Rallypoint Independent (Base) Rallypoint West @@ -76,6 +79,7 @@ Точка сбора Синих Punkt zbiórki Zachodu Point de ralliement OUEST + Rallypoint West Rallypoint East @@ -84,6 +88,7 @@ Точка сбора Красных Punkt zbiórki Wschodu Point de ralliement EST + Rallypoint East Rallypoint Independent @@ -92,6 +97,7 @@ Точка сбора Независимых Punkt zbiórki Ruchu oporu Point de ralliement Indépendant + Rallypoint Independent - + \ No newline at end of file diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index e62f9fdc5f..5dcab5fe2f 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -98,7 +98,7 @@ Egy kulcs, ami a KELET egységeinek legtöbb járművét ki tudja nyitni. Klíč který by měl otevřít vetšinu Východních vozidel. Ключ для открытия большинства машин Синих. - Una chaive che apr ela maggior parte dei veicoli EAST + Una chaive che apre la maggior parte dei veicoli EAST A key that should open most INDEP vehicle. @@ -123,4 +123,4 @@ Una chaive che apr ela maggior parte dei veicoli CIV - + \ No newline at end of file From 5a3b672f10e3e05f6342e4f46c4fa61301efe085 Mon Sep 17 00:00:00 2001 From: Lex Rivera Date: Wed, 29 Apr 2015 21:15:32 +0300 Subject: [PATCH 13/32] [compat_asdg] fix MRCO PiP compatibility --- optionals/compat_asdg/config.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/optionals/compat_asdg/config.cpp b/optionals/compat_asdg/config.cpp index b485685c55..c7e7903ce2 100644 --- a/optionals/compat_asdg/config.cpp +++ b/optionals/compat_asdg/config.cpp @@ -28,6 +28,7 @@ class asdg_OpticRail1913: asdg_OpticRail { ACE_optic_Arco_2D = 1; ACE_optic_Arco_PIP = 1; ACE_optic_MRCO_2D = 1; + ACE_optic_MRCO_PIP = 1; ACE_optic_SOS_2D = 1; ACE_optic_SOS_PIP = 1; ACE_optic_LRPS_2D = 1; From eb5af0cd89288a96ff55c26424008b58018ef0b3 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 30 Apr 2015 01:17:26 -0500 Subject: [PATCH 14/32] Medical Private Variables --- addons/medical/XEH_postInit.sqf | 5 ++++- .../fnc_actionCheckBloodPressureLocal.sqf | 2 +- .../functions/fnc_actionCheckPulse.sqf | 2 +- .../functions/fnc_actionCheckPulseLocal.sqf | 2 +- .../functions/fnc_actionCheckResponse.sqf | 2 +- .../medical/functions/fnc_actionDiagnose.sqf | 2 +- .../medical/functions/fnc_actionLoadUnit.sqf | 2 +- .../functions/fnc_actionRemoveTourniquet.sqf | 2 +- .../functions/fnc_actionUnloadUnit.sqf | 2 +- .../functions/fnc_addToInjuredCollection.sqf | 2 +- addons/medical/functions/fnc_addToLog.sqf | 2 +- .../medical/functions/fnc_addToTriageCard.sqf | 2 +- .../functions/fnc_addUnloadPatientActions.sqf | 2 +- addons/medical/functions/fnc_canTreat.sqf | 2 +- addons/medical/functions/fnc_copyDeadBody.sqf | 2 +- addons/medical/functions/fnc_createLitter.sqf | 2 +- .../functions/fnc_determineIfFatal.sqf | 2 +- .../fnc_displayPatientInformation.sqf | 4 ++-- .../functions/fnc_displayTriageCard.sqf | 4 ++-- .../functions/fnc_dropDownTriageCard.sqf | 2 +- addons/medical/functions/fnc_getBloodLoss.sqf | 2 +- .../functions/fnc_getHeartRateChange.sqf | 2 +- .../functions/fnc_handleBandageOpening.sqf | 2 +- .../functions/fnc_handleCreateLitter.sqf | 1 + addons/medical/functions/fnc_handleDamage.sqf | 6 +++--- .../functions/fnc_handleDamage_basic.sqf | 2 +- .../functions/fnc_handleDamage_wounds.sqf | 2 +- addons/medical/functions/fnc_handleKilled.sqf | 2 +- .../functions/fnc_handleUnitVitals.sqf | 2 +- addons/medical/functions/fnc_hasItem.sqf | 2 +- addons/medical/functions/fnc_init.sqf | 2 +- addons/medical/functions/fnc_isMedic.sqf | 2 +- .../functions/fnc_modifyMedicalAction.sqf | 20 +++++++++---------- .../functions/fnc_onWoundUpdateRequest.sqf | 2 +- .../functions/fnc_parseConfigForInjuries.sqf | 2 +- .../functions/fnc_playInjuredSound.sqf | 2 +- .../functions/fnc_requestWoundSync.sqf | 2 +- addons/medical/functions/fnc_setDead.sqf | 2 +- .../functions/fnc_setHitPointDamage.sqf | 2 +- .../medical/functions/fnc_setUnconscious.sqf | 2 +- addons/medical/functions/fnc_treatment.sqf | 2 +- .../functions/fnc_treatmentAdvanced_CPR.sqf | 2 +- .../fnc_treatmentAdvanced_bandage.sqf | 2 +- .../fnc_treatmentAdvanced_bandageLocal.sqf | 2 +- .../fnc_treatmentAdvanced_fullHeal.sqf | 2 +- .../fnc_treatmentAdvanced_medication.sqf | 2 +- .../fnc_treatmentAdvanced_medicationLocal.sqf | 6 +++--- .../functions/fnc_treatmentBasic_bandage.sqf | 2 +- addons/medical/functions/fnc_treatmentIV.sqf | 2 +- .../functions/fnc_treatmentIVLocal.sqf | 6 +++--- .../functions/fnc_treatmentTourniquet.sqf | 2 +- .../fnc_treatmentTourniquetLocal.sqf | 2 +- .../functions/fnc_treatment_failure.sqf | 2 +- .../functions/fnc_treatment_success.sqf | 2 +- .../medical/functions/fnc_unconsciousPFH.sqf | 2 +- 55 files changed, 75 insertions(+), 71 deletions(-) diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index a3eb468442..386eb4de93 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -14,6 +14,7 @@ GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; ["medical_onUnconscious", { if (local (_this select 0)) then { + private ["_unit"]; _unit = _this select 0; if (_this select 1) then { _unit setVariable ["tf_globalVolume", 0.4]; @@ -36,7 +37,7 @@ GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; // Initialize all effects _fnc_createEffect = { - private ["_type", "_layer", "_default"]; + private ["_type", "_layer", "_default", "_effect"]; _type = _this select 0; _layer = _this select 1; _default = _this select 2; @@ -91,6 +92,7 @@ GVAR(effectTimeBlood) = time; // MAIN EFFECTS LOOP [{ + private["_bleeding", "_blood"]; // Zeus interface is open or player is dead; disable everything if (!(isNull (findDisplay 312)) or !(alive ACE_player)) exitWith { GVAR(effectUnconsciousCC) ppEffectEnable false; @@ -155,6 +157,7 @@ GVAR(lastHeartBeatSound) = time; // HEARTRATE BASED EFFECTS [{ + private["_heartRate", "_interval", "_minTime", "_sound", "_strength"]; _heartRate = ACE_player getVariable [QGVAR(heartRate), 70]; if (GVAR(level) == 1) then { _heartRate = 60 + 40 * (ACE_player getVariable [QGVAR(pain), 0]); diff --git a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf index a9228d1760..d686515308 100644 --- a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_caller","_target","_bloodPressure","_bloodPressureHigh","_bloodPressureLow","_title","_content"]; +private ["_caller","_target","_bloodPressure","_bloodPressureHigh","_bloodPressureLow", "_logOutPut", "_output"]; _caller = _this select 0; _target = _this select 1; diff --git a/addons/medical/functions/fnc_actionCheckPulse.sqf b/addons/medical/functions/fnc_actionCheckPulse.sqf index f545c11144..fd96321e8f 100644 --- a/addons/medical/functions/fnc_actionCheckPulse.sqf +++ b/addons/medical/functions/fnc_actionCheckPulse.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_caller","_target","_title","_content"]; +private ["_caller","_target"]; _caller = _this select 0; _target = _this select 1; [[_caller, _target], QUOTE(DFUNC(actionCheckPulseLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ diff --git a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf index dcb098c925..f035ae18ad 100644 --- a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_caller","_unit", "_heartRateOutput", "_heartRate","_logOutPut","_content"]; +private ["_caller", "_unit", "_heartRateOutput", "_heartRate", "_logOutPut"]; _caller = _this select 0; _unit = _this select 1; diff --git a/addons/medical/functions/fnc_actionCheckResponse.sqf b/addons/medical/functions/fnc_actionCheckResponse.sqf index c483706274..babd93bf92 100644 --- a/addons/medical/functions/fnc_actionCheckResponse.sqf +++ b/addons/medical/functions/fnc_actionCheckResponse.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_caller","_target"]; +private ["_caller","_target", "_output"]; _caller = _this select 0; _target = _this select 1; diff --git a/addons/medical/functions/fnc_actionDiagnose.sqf b/addons/medical/functions/fnc_actionDiagnose.sqf index 886fa4752b..692414027a 100644 --- a/addons/medical/functions/fnc_actionDiagnose.sqf +++ b/addons/medical/functions/fnc_actionDiagnose.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_caller","_target","_title","_content"]; +private ["_caller", "_target", "_genericMessages"]; _caller = _this select 0; _target = _this select 1; diff --git a/addons/medical/functions/fnc_actionLoadUnit.sqf b/addons/medical/functions/fnc_actionLoadUnit.sqf index 34f93fb11d..03d9a3ef54 100644 --- a/addons/medical/functions/fnc_actionLoadUnit.sqf +++ b/addons/medical/functions/fnc_actionLoadUnit.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_caller", "_target","_vehicle", "_loaded"]; +private ["_caller", "_target","_vehicle"]; _caller = _this select 0; _target = _this select 1; diff --git a/addons/medical/functions/fnc_actionRemoveTourniquet.sqf b/addons/medical/functions/fnc_actionRemoveTourniquet.sqf index 2eafe36732..a14dbc3bcd 100644 --- a/addons/medical/functions/fnc_actionRemoveTourniquet.sqf +++ b/addons/medical/functions/fnc_actionRemoveTourniquet.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_caller","_target","_part","_selectionName","_removeItem","_tourniquets", "_output"]; +private ["_caller", "_target", "_part", "_selectionName", "_tourniquets", "_output"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_actionUnloadUnit.sqf b/addons/medical/functions/fnc_actionUnloadUnit.sqf index 8c05a43fc9..fd56e6d6bd 100644 --- a/addons/medical/functions/fnc_actionUnloadUnit.sqf +++ b/addons/medical/functions/fnc_actionUnloadUnit.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_caller", "_target","_vehicle", "_drag", "_handle"]; +private ["_caller", "_target", "_drag"]; _caller = _this select 0; _target = _this select 1; _drag = if (count _this > 2) then {_this select 2} else {false}; diff --git a/addons/medical/functions/fnc_addToInjuredCollection.sqf b/addons/medical/functions/fnc_addToInjuredCollection.sqf index cbe146d701..c95db059df 100644 --- a/addons/medical/functions/fnc_addToInjuredCollection.sqf +++ b/addons/medical/functions/fnc_addToInjuredCollection.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private "_unit"; +private ["_unit", "_force"]; _unit = _this select 0; _force = if (count _this > 1) then {_this select 1} else {false}; diff --git a/addons/medical/functions/fnc_addToLog.sqf b/addons/medical/functions/fnc_addToLog.sqf index c36d57b482..46bacf2349 100644 --- a/addons/medical/functions/fnc_addToLog.sqf +++ b/addons/medical/functions/fnc_addToLog.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" -private ["_unit", "_type", "_message", "_arguments", "_lastNumber", "_moment", "_logVarName", "_log","_newLog"]; +private ["_unit", "_type", "_message", "_arguments", "_lastNumber", "_moment", "_logVarName", "_log","_newLog", "_logs"]; _unit = _this select 0; _type = _this select 1; _message = _this select 2; diff --git a/addons/medical/functions/fnc_addToTriageCard.sqf b/addons/medical/functions/fnc_addToTriageCard.sqf index 49e642cfc4..61add24cfc 100644 --- a/addons/medical/functions/fnc_addToTriageCard.sqf +++ b/addons/medical/functions/fnc_addToTriageCard.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_unit","_caller","_newItem","_log", "_inList","_amount"]; +private ["_unit", "_newItem", "_log", "_inList", "_amount"]; _unit = _this select 0; _newItem = _this select 1; diff --git a/addons/medical/functions/fnc_addUnloadPatientActions.sqf b/addons/medical/functions/fnc_addUnloadPatientActions.sqf index c792746d47..13a4177859 100644 --- a/addons/medical/functions/fnc_addUnloadPatientActions.sqf +++ b/addons/medical/functions/fnc_addUnloadPatientActions.sqf @@ -16,7 +16,7 @@ EXPLODE_3_PVT(_this,_vehicle,_player,_parameters); -private ["_actions"]; +private ["_actions", "_unit"]; _actions = []; { diff --git a/addons/medical/functions/fnc_canTreat.sqf b/addons/medical/functions/fnc_canTreat.sqf index 5f52759f54..062a696fcd 100644 --- a/addons/medical/functions/fnc_canTreat.sqf +++ b/addons/medical/functions/fnc_canTreat.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" -private ["_caller", "_target", "_selectionName", "_className", "_config", "_availableLevels", "_medicRequired", "_items", "_locations", "_return", "_condition"]; +private ["_caller", "_target", "_selectionName", "_className", "_config", "_medicRequired", "_items", "_locations", "_return", "_condition"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_copyDeadBody.sqf b/addons/medical/functions/fnc_copyDeadBody.sqf index 8e476b8662..36bcd91487 100644 --- a/addons/medical/functions/fnc_copyDeadBody.sqf +++ b/addons/medical/functions/fnc_copyDeadBody.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_oldBody","_newUnit","_class","_group","_position","_side","_allVariables"]; +private ["_oldBody","_newUnit","_class","_group","_position","_side", "_caller", "_name"]; _oldBody = _this select 0; _caller = _this select 1; diff --git a/addons/medical/functions/fnc_createLitter.sqf b/addons/medical/functions/fnc_createLitter.sqf index 5299fbb244..253a3ed315 100644 --- a/addons/medical/functions/fnc_createLitter.sqf +++ b/addons/medical/functions/fnc_createLitter.sqf @@ -16,7 +16,7 @@ #define MIN_ENTRIES_LITTER_CONFIG 3 -private ["_target", "_className", "_config", "_litter", "_createLitter", "_litterObject", "_position", "_createdLitter"]; +private ["_target", "_className", "_config", "_litter", "_createLitter", "_position", "_createdLitter", "_caller", "_selectionName", "_usersOfItems"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_determineIfFatal.sqf b/addons/medical/functions/fnc_determineIfFatal.sqf index aedcf161ee..bad15dbcad 100644 --- a/addons/medical/functions/fnc_determineIfFatal.sqf +++ b/addons/medical/functions/fnc_determineIfFatal.sqf @@ -10,7 +10,7 @@ #include "script_component.hpp" -private ["_unit","_part","_damageThreshold", "_withDamage"]; +private ["_unit","_part","_damageThreshold", "_withDamage", "_damageBodyPart"]; _unit = _this select 0; _part = _this select 1; _withDamage = if (count _this > 2) then { _this select 2} else {0}; diff --git a/addons/medical/functions/fnc_displayPatientInformation.sqf b/addons/medical/functions/fnc_displayPatientInformation.sqf index a62bfcacbc..f3385c7d51 100644 --- a/addons/medical/functions/fnc_displayPatientInformation.sqf +++ b/addons/medical/functions/fnc_displayPatientInformation.sqf @@ -16,7 +16,7 @@ // Exit for basic medical if (GVAR(level) < 2) exitWith {}; -private ["_target", "_show", "_selectionN"]; +private ["_target", "_show", "_selectionN", "_amountOfGeneric", "_bandagedwounds", "_logCtrl", "_part", "_partText", "_pointDamage", "_severity", "_total", "_totalIvVolume", "_triageStatus", "_type"]; _target = _this select 0; _show = if (count _this > 1) then {_this select 1} else {true}; _selectionN = if (count _this > 2) then {_this select 2} else {0}; @@ -192,7 +192,7 @@ if (_show) then { _logCtrl = (_display displayCtrl 302); lbClear _logCtrl; - private ["_logs", "_log", "_message", "_moment", "_arguments", "_lbCtrl"]; + private ["_logs", "_message", "_moment", "_arguments", "_lbCtrl"]; _logs = _target getvariable [QGVAR(logFile_Activity), []]; { // [_message,_moment,_type, _arguments] diff --git a/addons/medical/functions/fnc_displayTriageCard.sqf b/addons/medical/functions/fnc_displayTriageCard.sqf index 8e9660a3d5..dd3b44a946 100644 --- a/addons/medical/functions/fnc_displayTriageCard.sqf +++ b/addons/medical/functions/fnc_displayTriageCard.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private ["_target", "_show"]; +private ["_target", "_show", "_amount", "_item", "_log", "_message", "_triageCardTexts", "_triageStatus"]; _target = _this select 0; _show = if (count _this > 1) then {_this select 1} else {true}; @@ -24,7 +24,7 @@ if (_show) then { createDialog QGVAR(triageCard); [{ - private ["_target", "_display", "_alphaLevel", "_damaged", "_availableSelections", "_openWounds", "_selectionBloodLoss", "_red", "_green", "_blue", "_alphaLevel", "_allInjuryTexts", "_lbCtrl", "_genericMessages"]; + private ["_target", "_display", "_alphaLevel", "_alphaLevel", "_lbCtrl"]; _target = (_this select 0) select 0; if (GVAR(TriageCardTarget) != _target) exitwith { [_this select 1] call CBA_fnc_removePerFrameHandler; diff --git a/addons/medical/functions/fnc_dropDownTriageCard.sqf b/addons/medical/functions/fnc_dropDownTriageCard.sqf index 6ea910b7af..6f30152c5f 100644 --- a/addons/medical/functions/fnc_dropDownTriageCard.sqf +++ b/addons/medical/functions/fnc_dropDownTriageCard.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private ["_show"]; +private ["_show", "_ctrl", "_display", "_idc", "_pos"]; _show = _this select 0; disableSerialization; diff --git a/addons/medical/functions/fnc_getBloodLoss.sqf b/addons/medical/functions/fnc_getBloodLoss.sqf index f6b26f7686..414b3a47c7 100644 --- a/addons/medical/functions/fnc_getBloodLoss.sqf +++ b/addons/medical/functions/fnc_getBloodLoss.sqf @@ -15,7 +15,7 @@ #define BLOODLOSSRATE_BASIC 0.2 -private ["_totalBloodLoss","_tourniquets","_openWounds", "_value", "_cardiacOutput", "_internalWounds"]; +private ["_totalBloodLoss","_tourniquets","_openWounds", "_cardiacOutput", "_internalWounds"]; // TODO Only use this calculation if medium or higher, otherwise use vanilla calculations (for basic medical). _totalBloodLoss = 0; diff --git a/addons/medical/functions/fnc_getHeartRateChange.sqf b/addons/medical/functions/fnc_getHeartRateChange.sqf index e7bc9407d2..7429d6dd43 100644 --- a/addons/medical/functions/fnc_getHeartRateChange.sqf +++ b/addons/medical/functions/fnc_getHeartRateChange.sqf @@ -15,7 +15,7 @@ #define HEART_RATE_MODIFIER 0.02 -private ["_unit", "_heartRate", "_hrIncrease", "_bloodLoss", "_time", "_values", "_adjustment", "_adjustments", "_additionalIncrease", "_change", "_callBack", "_bloodVolume"]; +private ["_unit", "_heartRate", "_hrIncrease", "_bloodLoss", "_time", "_values", "_adjustment", "_change", "_callBack", "_bloodVolume"]; _unit = _this select 0; _hrIncrease = 0; if (!(_unit getvariable [QGVAR(inCardiacArrest),false])) then { diff --git a/addons/medical/functions/fnc_handleBandageOpening.sqf b/addons/medical/functions/fnc_handleBandageOpening.sqf index 21211c9c1b..a92bf9029c 100644 --- a/addons/medical/functions/fnc_handleBandageOpening.sqf +++ b/addons/medical/functions/fnc_handleBandageOpening.sqf @@ -18,7 +18,7 @@ #include "script_component.hpp" -private ["_target", "_impact", "_part", "_injuryIndex", "_injury", "_bandage", "_classID", "_className", "_reopeningChance", "_reopeningMinDelay", "_reopeningMaxDelay", "_config", "_woundTreatmentConfig", "_bandagedWounds", "_exist", "_injuryId", "_existingInjury", "_delay", "_openWounds", "_selectedInjury"]; +private ["_target", "_impact", "_part", "_injuryIndex", "_injury", "_bandage", "_classID", "_className", "_reopeningChance", "_reopeningMinDelay", "_reopeningMaxDelay", "_config", "_woundTreatmentConfig", "_bandagedWounds", "_exist", "_injuryId", "_existingInjury", "_delay", "_openWounds", "_selectedInjury", "_bandagedInjury"]; _target = _this select 0; _impact = _this select 1; _part = _this select 2; diff --git a/addons/medical/functions/fnc_handleCreateLitter.sqf b/addons/medical/functions/fnc_handleCreateLitter.sqf index ee7e591cd1..617d05e519 100644 --- a/addons/medical/functions/fnc_handleCreateLitter.sqf +++ b/addons/medical/functions/fnc_handleCreateLitter.sqf @@ -5,6 +5,7 @@ if(!hasInterface) exitWith { false }; PARAMS_3(_litterClass,_position,_direction); private["_litterObject", "_maxLitterCount"]; +//IGNORE_PRIVATE_WARNING(_values); if (isNil QGVAR(allCreatedLitter)) then { GVAR(allCreatedLitter) = []; diff --git a/addons/medical/functions/fnc_handleDamage.sqf b/addons/medical/functions/fnc_handleDamage.sqf index 0a39bea055..d457762321 100644 --- a/addons/medical/functions/fnc_handleDamage.sqf +++ b/addons/medical/functions/fnc_handleDamage.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_unit", "_selection", "_damage", "_shooter", "_projectile", "_damageReturn", "_typeOfDamage"]; +private ["_unit", "_selection", "_damage", "_shooter", "_projectile", "_damageReturn", "_typeOfDamage", "_minLethalDamage", "_newDamage", "_typeIndex"]; _unit = _this select 0; _selection = _this select 1; _damage = _this select 2; @@ -52,7 +52,7 @@ if (GVAR(level) < 2) then { _minLethalDamage = GVAR(minLethalDamages) select _typeIndex; }; - if (vehicle _unit != _unit && {!(vehicle _unit isKindOf "StaticWeapon")} && {isNull _source} && {_projectile == ""} && {_selection == ""}) then { + if (vehicle _unit != _unit && {!(vehicle _unit isKindOf "StaticWeapon")} && {isNull _shooter} && {_projectile == ""} && {_selection == ""}) then { if (GVAR(enableVehicleCrashes)) then { _selection = GVAR(SELECTIONS) select (floor(random(count GVAR(SELECTIONS)))); }; @@ -86,7 +86,7 @@ if (_unit getVariable [QGVAR(preventInstaDeath), GVAR(preventInstaDeath)]) exitW }; if (((_unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)]) > 0) && {_damageReturn >= 0.9} && {_selection in ["", "head", "body"]}) exitWith { - if (vehicle _unit != _unit and {damage _vehicle >= 1}) then { + if (vehicle _unit != _unit and {damage (vehicle _unit) >= 1}) then { // @todo // [_unit] call FUNC(unload); }; diff --git a/addons/medical/functions/fnc_handleDamage_basic.sqf b/addons/medical/functions/fnc_handleDamage_basic.sqf index aa9c2f61df..1647cc8442 100644 --- a/addons/medical/functions/fnc_handleDamage_basic.sqf +++ b/addons/medical/functions/fnc_handleDamage_basic.sqf @@ -24,7 +24,7 @@ #define ARMDAMAGETRESHOLD2 1.7 #define UNCONSCIOUSNESSTRESHOLD 0.7 -private ["_unit", "_selectionName", "_damage", "_shooter", "_projectile", "_damage"]; +private ["_unit", "_selectionName", "_damage", "_shooter", "_projectile", "_damage", "_armdamage", "_hitPoint", "_index", "_legdamage", "_newDamage", "_otherDamage", "_pain", "_restore"]; _unit = _this select 0; _selectionName = _this select 1; diff --git a/addons/medical/functions/fnc_handleDamage_wounds.sqf b/addons/medical/functions/fnc_handleDamage_wounds.sqf index b45a974166..9172304dd2 100644 --- a/addons/medical/functions/fnc_handleDamage_wounds.sqf +++ b/addons/medical/functions/fnc_handleDamage_wounds.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_unit", "_selectionName", "_damage", "_typeOfProjectile", "_typeOfDamage", "_bodyPartn", "_woundType", "_injuryTypeInfo", "_allInjuriesForDamageType", "_allPossibleInjuries", "_highestPossibleDamage", "_highestPossibleSpot", "_minDamage", "_openWounds", "_woundID", "_toAddInjury", "_painToAdd"]; +private ["_unit", "_selectionName", "_damage", "_typeOfProjectile", "_typeOfDamage", "_bodyPartn", "_injuryTypeInfo", "_allInjuriesForDamageType", "_allPossibleInjuries", "_highestPossibleDamage", "_highestPossibleSpot", "_minDamage", "_openWounds", "_woundID", "_toAddInjury", "_painToAdd", "_bloodLoss", "_bodyPartNToAdd", "_classType", "_damageLevels", "_foundIndex", "_i", "_injury", "_maxDamage", "_pain", "_painLevel", "_selections", "_toAddClassID", "_woundsCreated"]; _unit = _this select 0; _selectionName = _this select 1; _damage = _this select 2; diff --git a/addons/medical/functions/fnc_handleKilled.sqf b/addons/medical/functions/fnc_handleKilled.sqf index ce0f087836..5003ec189c 100644 --- a/addons/medical/functions/fnc_handleKilled.sqf +++ b/addons/medical/functions/fnc_handleKilled.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private["_unit"]; +private["_unit", "_openWounds"]; _unit = _this select 0; if (!local _unit) exitwith {}; diff --git a/addons/medical/functions/fnc_handleUnitVitals.sqf b/addons/medical/functions/fnc_handleUnitVitals.sqf index 0e01ef654c..aff3b48945 100644 --- a/addons/medical/functions/fnc_handleUnitVitals.sqf +++ b/addons/medical/functions/fnc_handleUnitVitals.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private ["_unit", "_heartRate","_bloodPressure","_bloodVolume","_painStatus", "_lastTimeValuesSynced", "_syncValues"]; +private ["_unit", "_heartRate","_bloodPressure","_bloodVolume","_painStatus", "_lastTimeValuesSynced", "_syncValues", "_airwayStatus", "_blood", "_bloodPressureH", "_bloodPressureL", "_interval"]; _unit = _this select 0; _interval = time - (_unit getVariable [QGVAR(lastMomentVitalsHandled), 0]); diff --git a/addons/medical/functions/fnc_hasItem.sqf b/addons/medical/functions/fnc_hasItem.sqf index 551d532ae4..cfec633b55 100644 --- a/addons/medical/functions/fnc_hasItem.sqf +++ b/addons/medical/functions/fnc_hasItem.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_medic", "_patient", "_item", "_return"]; +private ["_medic", "_patient", "_item", "_return", "_crew"]; _medic = _this select 0; _patient = _this select 1; _item = _this select 2; diff --git a/addons/medical/functions/fnc_init.sqf b/addons/medical/functions/fnc_init.sqf index 80e8d9ba19..0ec6ce3ce2 100644 --- a/addons/medical/functions/fnc_init.sqf +++ b/addons/medical/functions/fnc_init.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private ["_unit", "_allUsedMedication", "_logs", "_forceNew"]; +private ["_unit", "_allUsedMedication", "_logs"]; _unit = _this select 0; diff --git a/addons/medical/functions/fnc_isMedic.sqf b/addons/medical/functions/fnc_isMedic.sqf index cc07948f4b..df5765f16b 100644 --- a/addons/medical/functions/fnc_isMedic.sqf +++ b/addons/medical/functions/fnc_isMedic.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_unit","_class","_return"]; +private ["_unit", "_class", "_medicN"] _unit = _this select 0; _medicN = if (count _this > 1) then {_this select 1} else {1}; diff --git a/addons/medical/functions/fnc_modifyMedicalAction.sqf b/addons/medical/functions/fnc_modifyMedicalAction.sqf index 66398a2590..179ae9eb83 100644 --- a/addons/medical/functions/fnc_modifyMedicalAction.sqf +++ b/addons/medical/functions/fnc_modifyMedicalAction.sqf @@ -19,15 +19,15 @@ EXPLODE_4_PVT(_this,_target,_player,_selectionN,_actionData); if (GVAR(level) < 2) exitwith { - private ["_pointDamage"]; - _pointDamage = _target getHitPointDamage (["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"] select _selectionN); + private ["_pointDamage"]; + _pointDamage = _target getHitPointDamage (["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"] select _selectionN); - if (_pointDamage >= 0.8) exitWith { - _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossRed.paa))]; - }; - if (_pointDamage > 0) exitWith { - _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossYellow.paa))]; - }; + if (_pointDamage >= 0.8) exitWith { + _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossRed.paa))]; + }; + if (_pointDamage > 0) exitWith { + _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossYellow.paa))]; + }; }; private ["_openWounds", "_amountOf"]; @@ -35,6 +35,6 @@ _openWounds = _target getvariable [QGVAR(openWounds), []]; { _amountOf = _x select 3; if (_amountOf > 0 && {(_selectionN == (_x select 2))}) exitwith { - _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossRed.paa))]; + _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossRed.paa))]; }; -}foreach _openWounds; +} foreach _openWounds; diff --git a/addons/medical/functions/fnc_onWoundUpdateRequest.sqf b/addons/medical/functions/fnc_onWoundUpdateRequest.sqf index ccbb373648..3c99496d7b 100644 --- a/addons/medical/functions/fnc_onWoundUpdateRequest.sqf +++ b/addons/medical/functions/fnc_onWoundUpdateRequest.sqf @@ -13,7 +13,7 @@ */ #include "script_component.hpp" -private ["_unit", "_openWounds"]; +private ["_unit", "_openWounds", "_originOfrequest"]; _unit = _this select 0; _originOfrequest = _this select 1; diff --git a/addons/medical/functions/fnc_parseConfigForInjuries.sqf b/addons/medical/functions/fnc_parseConfigForInjuries.sqf index c624b1af1b..503ff9833e 100644 --- a/addons/medical/functions/fnc_parseConfigForInjuries.sqf +++ b/addons/medical/functions/fnc_parseConfigForInjuries.sqf @@ -12,7 +12,7 @@ #include "script_component.hpp" -private ["_injuriesRootConfig", "_woundsConfig", "_allWoundClasses", "_amountOf", "_entry","_classType", "_selections", "_bloodLoss", "_pain","_minDamage","_causes", "_damageTypesConfig", "_thresholds", "_typeThresholds", "_selectionSpecific", "_selectionSpecificType", "_classDisplayName", "_subClassDisplayName", "_maxDamage", "_subClassmaxDamage", "_defaultMinLethalDamage", "_minLethalDamage"]; +private ["_injuriesRootConfig", "_woundsConfig", "_allWoundClasses", "_amountOf", "_entry","_classType", "_selections", "_bloodLoss", "_pain","_minDamage","_causes", "_damageTypesConfig", "_thresholds", "_typeThresholds", "_selectionSpecific", "_selectionSpecificType", "_classDisplayName", "_subClassDisplayName", "_maxDamage", "_subClassmaxDamage", "_defaultMinLethalDamage", "_minLethalDamage", "_allFoundDamageTypes", "_classID", "_configDamageTypes", "_i", "_parseForSubClassWounds", "_subClass", "_subClassConfig", "_subClassbloodLoss", "_subClasscauses", "_subClassminDamage", "_subClasspain", "_subClassselections", "_subClasstype", "_type", "_varName", "_woundTypes"]; _injuriesRootConfig = (configFile >> "ACE_Medical_Advanced" >> "Injuries"); _allFoundDamageTypes = []; diff --git a/addons/medical/functions/fnc_playInjuredSound.sqf b/addons/medical/functions/fnc_playInjuredSound.sqf index 16a7d69116..c48e3d0a4c 100644 --- a/addons/medical/functions/fnc_playInjuredSound.sqf +++ b/addons/medical/functions/fnc_playInjuredSound.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_unit","_amountOfDamage","_bodyPartStatus","_availableSounds_A","_availableSounds_B","_availableSounds_C","_sound"]; +private ["_unit","_availableSounds_A","_availableSounds_B","_availableSounds_C","_sound", "_pain"]; _unit = _this select 0; _pain = _this select 1; if (!local _unit || !GVAR(enableScreams)) exitwith{}; diff --git a/addons/medical/functions/fnc_requestWoundSync.sqf b/addons/medical/functions/fnc_requestWoundSync.sqf index 7144c49684..74fd3e230d 100644 --- a/addons/medical/functions/fnc_requestWoundSync.sqf +++ b/addons/medical/functions/fnc_requestWoundSync.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private [ "_target", "_caller", "_openWounds"]; +private [ "_target", "_caller"]; _target = _this select 0; _caller = _this select 1; diff --git a/addons/medical/functions/fnc_setDead.sqf b/addons/medical/functions/fnc_setDead.sqf index 9d8498cd04..411fd6dc06 100644 --- a/addons/medical/functions/fnc_setDead.sqf +++ b/addons/medical/functions/fnc_setDead.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private ["_unit", "_force", "_reviveVal"]; +private ["_unit", "_force", "_reviveVal", "_lifesLeft"]; _unit = _this select 0; _force = false; if (count _this >= 2) then { diff --git a/addons/medical/functions/fnc_setHitPointDamage.sqf b/addons/medical/functions/fnc_setHitPointDamage.sqf index d71edc94df..18d4fc616e 100644 --- a/addons/medical/functions/fnc_setHitPointDamage.sqf +++ b/addons/medical/functions/fnc_setHitPointDamage.sqf @@ -21,7 +21,7 @@ #define ARMDAMAGETRESHOLD1 1 #define ARMDAMAGETRESHOLD2 1.7 -private ["_unit", "_selection", "_damage", "_selections", "_damages", "_damageOld", "_damageSumOld", "_damageNew", "_damageSumNew", "_damageFinal"]; +private ["_unit", "_selection", "_damage", "_selections", "_damages", "_damageOld", "_damageSumOld", "_damageNew", "_damageSumNew", "_damageFinal", "_armdamage", "_legdamage"]; _unit = _this select 0; _selection = _this select 1; diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index 86f9425d23..82e93eb1fb 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -17,7 +17,7 @@ #define DEFAULT_DELAY (round(random(10)+5)) -private ["_unit", "_set", "_animState", "_originalPos", "_captiveSwitch", "_startingTime","_minWaitingTime"]; +private ["_unit", "_set", "_animState", "_originalPos", "_startingTime","_minWaitingTime"]; _unit = _this select 0; _set = if (count _this > 1) then {_this select 1} else {true}; _minWaitingTime = if (count _this > 2) then {_this select 2} else {DEFAULT_DELAY}; diff --git a/addons/medical/functions/fnc_treatment.sqf b/addons/medical/functions/fnc_treatment.sqf index df6cc173d0..f50ff505e0 100644 --- a/addons/medical/functions/fnc_treatment.sqf +++ b/addons/medical/functions/fnc_treatment.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" -private ["_caller", "_target", "_selectionName", "_className", "_config", "_availableLevels", "_medicRequired", "_items", "_locations", "_return", "_callbackSuccess", "_callbackFailure", "_callbackProgress", "_treatmentTime", "_callerAnim", "_patientAnim", "_iconDisplayed", "_return", "_usersOfItems", "_consumeItems"]; +private ["_caller", "_target", "_selectionName", "_className", "_config", "_medicRequired", "_items", "_locations", "_return", "_callbackProgress", "_treatmentTime", "_callerAnim", "_patientAnim", "_iconDisplayed", "_return", "_usersOfItems", "_consumeItems", "_condition", "_displayText", "_wpn"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf b/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf index ee3f51f549..0a49420783 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" -private ["_caller", "_target", "_selectionName", "_className", "_items", "_removeItem"]; +private ["_caller", "_target", "_selectionName", "_className", "_items"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf b/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf index 146e996d25..42ca38cd0a 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_caller", "_target", "_selectionName", "_className", "_items", "_removeItem"]; +private ["_caller", "_target", "_selectionName", "_className", "_items", "_specificSpot"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf index 2884503599..d6c490d3c6 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_target", "_bandage", "_part", "_selectionName", "_openWounds", "_config", "_effectiveness","_mostEffectiveInjury", "_mostEffectiveSpot", "_woundEffectivenss", "_mostEffectiveInjury", "_impact", "_exit", "_specificClass", "_classID", "_effectivenessFound"]; +private ["_target", "_bandage", "_part", "_selectionName", "_openWounds", "_config", "_effectiveness","_mostEffectiveInjury", "_mostEffectiveSpot", "_woundEffectivenss", "_mostEffectiveInjury", "_impact", "_exit", "_specificClass", "_classID", "_effectivenessFound", "_className", "_hitPoints", "_hitSelections", "_point", "_woundTreatmentConfig"]; _target = _this select 0; _bandage = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf index 807be828e8..63a559a40b 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf @@ -10,7 +10,7 @@ #include "script_component.hpp" -private ["_unit", "_caller", "_selectionName", "_className", "_items"]; +private ["_target"], "_caller", "_selectionName", "_className", "_items"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf b/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf index 508040b8af..55057f1758 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_caller", "_target", "_selectionName", "_className", "_items", "_removeItem"]; +private ["_caller", "_target", "_selectionName", "_className", "_items"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf index bbf5aea6c0..58f1f8c52b 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_target", "_className", "_currentInSystem", "_medicationConfig", "_painReduce", "_hrIncreaseLow", "_hrIncreaseNorm", "_hrIncreaseHigh", "_maxDose", "_inCompatableMedication", "_timeInSystem", "_heartRate", "_pain", "_resistance", "_hrCallback"]; +private ["_target", "_className", "_currentInSystem", "_medicationConfig", "_painReduce", "_hrIncreaseLow", "_hrIncreaseNorm", "_hrIncreaseHigh", "_maxDose", "_inCompatableMedication", "_timeInSystem", "_heartRate", "_pain", "_resistance", "_hrCallback", "_varName", "_viscosityChange"]]; _target = _this select 0; _className = _this select 1; @@ -77,9 +77,9 @@ if (_painReduce > 0) then { _target setvariable [QGVAR(pain), (_pain - (_pain * _painReduce)) max 0]; }; -_resistance = _unit getvariable [QGVAR(peripheralResistance), 100]; +_resistance = _target getvariable [QGVAR(peripheralResistance), 100]; _resistance = _resistance + _viscosityChange; -_unit setvariable [QGVAR(peripheralResistance), _resistance max 0]; +_target setvariable [QGVAR(peripheralResistance), _resistance max 0]; // Call back to ensure that the medication is decreased over time [_target, _classname, _varName, _maxDose, _timeInSystem, _inCompatableMedication, _viscosityChange] call FUNC(onMedicationUsage); diff --git a/addons/medical/functions/fnc_treatmentBasic_bandage.sqf b/addons/medical/functions/fnc_treatmentBasic_bandage.sqf index 4b07e989aa..75b0b6bfdd 100644 --- a/addons/medical/functions/fnc_treatmentBasic_bandage.sqf +++ b/addons/medical/functions/fnc_treatmentBasic_bandage.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" #define BANDAGEHEAL 0.8 -private ["_caller", "_target","_selection","_className","_target","_hitSelections","_hitPoints","_point"]; +private ["_caller", "_target","_selection","_className","_target","_hitSelections","_hitPoints","_point", "_damage"]; _caller = _this select 0; _target = _this select 1; _selection = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentIV.sqf b/addons/medical/functions/fnc_treatmentIV.sqf index c171d7364f..3a62b9e657 100644 --- a/addons/medical/functions/fnc_treatmentIV.sqf +++ b/addons/medical/functions/fnc_treatmentIV.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_caller", "_target", "_selectionName", "_className", "_items", "_removeItem", "_attributes"]; +private ["_caller", "_target", "_selectionName", "_className", "_items", "_removeItem"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentIVLocal.sqf b/addons/medical/functions/fnc_treatmentIVLocal.sqf index 66ecdf9d90..04708b965f 100644 --- a/addons/medical/functions/fnc_treatmentIVLocal.sqf +++ b/addons/medical/functions/fnc_treatmentIVLocal.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_target", "_ivItem", "_config", "_volumeAdded", "_typeOf", "_varName"]; +private ["_target", "_ivItem", "_config", "_volumeAdded", "_typeOf", "_varName", "_bloodVolume"]; _target = _this select 0; _ivItem = _this select 1; @@ -27,8 +27,8 @@ _config = (configFile >> "ACE_Medical_Advanced" >> "Treatment" >> "IV"); _volumeAdded = getNumber (_config >> "volume"); _typeOf = getText (_config >> "type"); -if (isClass (_config >> _className)) then { - _config = (_config >> _className); +if (isClass (_config >> _ivItem)) then { + _config = (_config >> _ivItem); if (isNumber (_config >> "volume")) then { _volumeAdded = getNumber (_config >> "volume");}; if (isText (_config >> "type")) then { _typeOf = getText (_config >> "type"); }; }; diff --git a/addons/medical/functions/fnc_treatmentTourniquet.sqf b/addons/medical/functions/fnc_treatmentTourniquet.sqf index da50c5c1bf..731797f1f9 100644 --- a/addons/medical/functions/fnc_treatmentTourniquet.sqf +++ b/addons/medical/functions/fnc_treatmentTourniquet.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_caller","_target","_part","_selectionName","_removeItem", "_tourniquets", "_items", "_output"]; +private ["_caller","_target","_part","_selectionName","_removeItem", "_tourniquets", "_items", "_output", "_className"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf b/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf index 289f852a06..02484bbca6 100644 --- a/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf +++ b/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf @@ -29,7 +29,7 @@ _tourniquets set[_part, _applyingTo]; _target setvariable [QGVAR(tourniquets), _tourniquets, true]; [{ - private ["_args","_target","_applyingTo","_part", "_tourniquets"]; + private ["_args","_target","_applyingTo","_part", "_tourniquets", "_time"]; _args = _this select 0; _target = _args select 0; _applyingTo = _args select 1; diff --git a/addons/medical/functions/fnc_treatment_failure.sqf b/addons/medical/functions/fnc_treatment_failure.sqf index 33712956a0..c329bf724c 100644 --- a/addons/medical/functions/fnc_treatment_failure.sqf +++ b/addons/medical/functions/fnc_treatment_failure.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_caller", "_target","_selectionName","_className","_config","_callback", "_usersOfItems", "_weaponSelect"]; +private ["_args", "_caller", "_target","_selectionName","_className","_config","_callback", "_usersOfItems", "_weaponSelect"]; _args = _this select 0; _caller = _args select 0; diff --git a/addons/medical/functions/fnc_treatment_success.sqf b/addons/medical/functions/fnc_treatment_success.sqf index 66406a180a..0178ea78fd 100644 --- a/addons/medical/functions/fnc_treatment_success.sqf +++ b/addons/medical/functions/fnc_treatment_success.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_caller", "_target","_selectionName","_className","_config","_callback", "_weaponSelect"]; +private ["_args", "_caller", "_target","_selectionName","_className","_config","_callback", "_weaponSelect"]; _args = _this select 0; _caller = _args select 0; _target = _args select 1; diff --git a/addons/medical/functions/fnc_unconsciousPFH.sqf b/addons/medical/functions/fnc_unconsciousPFH.sqf index fc60c2bb02..bf328648d5 100644 --- a/addons/medical/functions/fnc_unconsciousPFH.sqf +++ b/addons/medical/functions/fnc_unconsciousPFH.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private ["_unit", "_vehicleOfUnit","_minWaitingTime", "_oldAnimation", "_captiveSwitch", "_hasMovedOut", "_parachuteCheck"]; +private ["_unit", "_minWaitingTime", "_oldAnimation", "_hasMovedOut", "_parachuteCheck", "_args", "_originalPos", "_startingTime"]; _args = _this select 0; _unit = _args select 0; _oldAnimation = _args select 1; From d71bba0359265f5e3bb86d3d0e0584831e65c287 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 30 Apr 2015 01:21:41 -0500 Subject: [PATCH 15/32] opps --- .../medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf index 58f1f8c52b..934bc9239a 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_target", "_className", "_currentInSystem", "_medicationConfig", "_painReduce", "_hrIncreaseLow", "_hrIncreaseNorm", "_hrIncreaseHigh", "_maxDose", "_inCompatableMedication", "_timeInSystem", "_heartRate", "_pain", "_resistance", "_hrCallback", "_varName", "_viscosityChange"]]; +private ["_target", "_className", "_currentInSystem", "_medicationConfig", "_painReduce", "_hrIncreaseLow", "_hrIncreaseNorm", "_hrIncreaseHigh", "_maxDose", "_inCompatableMedication", "_timeInSystem", "_heartRate", "_pain", "_resistance", "_hrCallback", "_varName", "_viscosityChange"]; _target = _this select 0; _className = _this select 1; From 48f7455ef10d9ddfa6f961818833bafe53225d4c Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 30 Apr 2015 01:23:23 -0500 Subject: [PATCH 16/32] Opps2 --- addons/medical/functions/fnc_isMedic.sqf | 2 +- addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/medical/functions/fnc_isMedic.sqf b/addons/medical/functions/fnc_isMedic.sqf index df5765f16b..122d261238 100644 --- a/addons/medical/functions/fnc_isMedic.sqf +++ b/addons/medical/functions/fnc_isMedic.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_unit", "_class", "_medicN"] +private ["_unit", "_class", "_medicN"]; _unit = _this select 0; _medicN = if (count _this > 1) then {_this select 1} else {1}; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf index 63a559a40b..37627a8c5d 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf @@ -10,7 +10,7 @@ #include "script_component.hpp" -private ["_target"], "_caller", "_selectionName", "_className", "_items"]; +private ["_target", "_caller", "_selectionName", "_className", "_items"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; From 8f3d8707cc9f1bb17b916acb5c4021e41e521665 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 30 Apr 2015 08:53:43 +0200 Subject: [PATCH 17/32] Should be select Should fix the new script error after last fix. --- addons/javelin/functions/fnc_onOpticDraw.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/javelin/functions/fnc_onOpticDraw.sqf b/addons/javelin/functions/fnc_onOpticDraw.sqf index 8fa96c036a..505953d877 100644 --- a/addons/javelin/functions/fnc_onOpticDraw.sqf +++ b/addons/javelin/functions/fnc_onOpticDraw.sqf @@ -130,7 +130,7 @@ FUNC(disableFire) = { if(_firedEH < 0 && difficulty > 0) then { _firedEH = [ACE_player, "DefaultAction", {true}, { - _canFire = _this getVariable["ace_missileguidance_target", nil]; + _canFire = (_this select 0) getVariable["ace_missileguidance_target", nil]; if(!isNil "_canFire") exitWith { false }; true }] call EFUNC(common,addActionEventHandler); From 59017ed79d3ef2de2af15fa6686d9ee8466a24f9 Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 30 Apr 2015 10:26:00 +0200 Subject: [PATCH 18/32] Added more frag configs: * R_Hydra_HE * Sh_120mm_HE * Sh_125mm_HE * Missile_AGM_02_F * M_Hellfire_AT --- addons/frag/CfgAmmo.hpp | 53 +++++++++++++++++++++++++++++++---------- 1 file changed, 41 insertions(+), 12 deletions(-) diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index 726c7e5b57..4a01b7fe69 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -44,10 +44,14 @@ class CfgAmmo { }; class RocketBase; - //class R_Hydra_HE: RocketBase { - // GVAR(skip) = 1; - //}; - + class R_Hydra_HE: RocketBase { + // Source: http://fas.org/man/dod-101/sys/missile/hydra-70.htm + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; + GVAR(metal) = 3850; + GVAR(charge) = 1040; + GVAR(gurney_c) = 2700; + GVAR(gurney_k) = 1/2; + }; //class R_57mm_HE: RocketBase { // GVAR(skip) = 1; //}; @@ -104,7 +108,7 @@ class CfgAmmo { GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 3200; GVAR(charge) = 420; - GVAR(gurney_c) = 1906; + GVAR(gurney_c) = 2440; GVAR(gurney_k) = 1/2; }; class ModuleOrdnanceMortar_F_Ammo: Sh_82mm_AMOS { @@ -114,13 +118,26 @@ class CfgAmmo { GVAR(gurney_c) = 2320; GVAR(gurney_k) = 1/2; }; - + class Sh_120mm_HE : ShellBase { + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; + GVAR(metal) = 23000; + GVAR(charge) = 3148; + GVAR(gurney_c) = 2830; + GVAR(gurney_k) = 1/2; + }; + class Sh_125mm_HE: Sh_120mm_HE { + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; + GVAR(metal) = 16000; + GVAR(charge) = 3200; + GVAR(gurney_c) = 2440; + GVAR(gurney_k) = 1/2; + }; class Sh_155mm_AMOS: ShellBase { // Source: http://www.globalsecurity.org/military/systems/munitions/m795.htm GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; GVAR(metal) = 36000; GVAR(charge) = 9979; - GVAR(gurney_c) = 1906; + GVAR(gurney_c) = 2440; GVAR(gurney_k) = 1/2; }; class ModuleOrdnanceHowitzer_F_ammo: Sh_155mm_AMOS { @@ -146,11 +163,23 @@ class CfgAmmo { // GVAR(multiplier) = 1.2; //}; - //class MissileBase; - //class M_Hellfire_AT: MissileBase { - // GVAR(force) = 1; - // GVAR(multiplier) = 1.75; - //}; + class MissileBase; + class Missile_AGM_02_F : MissileBase { + // Source: http://fas.org/man/dod-101/sys/smart/agm-65.htm + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; + GVAR(metal) = 56250; + GVAR(charge) = 39000; + GVAR(gurney_c) = 2700; + GVAR(gurney_k) = 1/2; + }; + class M_Hellfire_AT: MissileBase { + // Source: http://www.designation-systems.net/dusrm/m-114.html + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; + GVAR(metal) = 8000; + GVAR(charge) = 2400; + GVAR(gurney_c) = 2700; + GVAR(gurney_k) = 1/2; + }; /* class B_762x51_Ball; From e77ddcf837553a6d251fc18ad5f782cdd7bf4d69 Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 30 Apr 2015 10:35:06 +0200 Subject: [PATCH 19/32] Added Sh_105mm_HEAT_MP frag config --- addons/frag/CfgAmmo.hpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index 4a01b7fe69..142414ab40 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -103,6 +103,7 @@ class CfgAmmo { // curator ammo entries class ShellBase; + class Sh_125mm_HEAT; class Sh_82mm_AMOS : ShellBase { // Source: http://www.arsenal-bg.com/defense_police/mortar_bombs_82mm.htm GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; @@ -118,6 +119,13 @@ class CfgAmmo { GVAR(gurney_c) = 2320; GVAR(gurney_k) = 1/2; }; + class Sh_105mm_HEAT_MP : Sh_125mm_HEAT { + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; + GVAR(metal) = 11400; + GVAR(charge) = 7100; + GVAR(gurney_c) = 2800; + GVAR(gurney_k) = 1/2; + }; class Sh_120mm_HE : ShellBase { GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 23000; From 50a8a89b2805d7755854b31d80fdc86918a4521a Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 30 Apr 2015 10:50:49 +0200 Subject: [PATCH 20/32] Added missing privates --- addons/ballistics/scripts/initTargetWall.sqf | 2 ++ addons/disarming/functions/fnc_openDisarmDialog.sqf | 2 +- addons/frag/functions/fnc_trackTrace.sqf | 2 +- addons/hearing/functions/fnc_firedNear.sqf | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/addons/ballistics/scripts/initTargetWall.sqf b/addons/ballistics/scripts/initTargetWall.sqf index b09d5897bc..391faaa82e 100644 --- a/addons/ballistics/scripts/initTargetWall.sqf +++ b/addons/ballistics/scripts/initTargetWall.sqf @@ -1,6 +1,8 @@ // by commy2 #include "script_component.hpp" +private ["_wall", "_paper"]; + _wall = _this select 0; if (local _wall) then { diff --git a/addons/disarming/functions/fnc_openDisarmDialog.sqf b/addons/disarming/functions/fnc_openDisarmDialog.sqf index 832f32ced5..88e0e81be8 100644 --- a/addons/disarming/functions/fnc_openDisarmDialog.sqf +++ b/addons/disarming/functions/fnc_openDisarmDialog.sqf @@ -60,7 +60,7 @@ GVAR(disarmTarget) = _target; //Setup PFEH [{ - private ["_groundContainer", "_targetContainer", "_playerName", "_rankPicture", "_rankIndex", "_targetUniqueItems", "_holderUniqueItems"]; + private ["_groundContainer", "_targetContainer", "_playerName", "_rankPicture", "_rankIndex", "_targetUniqueItems", "_holderUniqueItems", "_holder"]; disableSerialization; EXPLODE_2_PVT(_this,_args,_pfID); EXPLODE_3_PVT(_args,_player,_target,_display); diff --git a/addons/frag/functions/fnc_trackTrace.sqf b/addons/frag/functions/fnc_trackTrace.sqf index 205292a820..371d58b3b1 100644 --- a/addons/frag/functions/fnc_trackTrace.sqf +++ b/addons/frag/functions/fnc_trackTrace.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -private ["_params", "_tracerObj", "_index", "_positions"]; +private ["_params", "_tracerObj", "_index", "_positions", "_data"]; _params = _this select 0; _tracerObj = _params select 0; _index = _params select 1; diff --git a/addons/hearing/functions/fnc_firedNear.sqf b/addons/hearing/functions/fnc_firedNear.sqf index 6a603c3c3a..b456b3b872 100644 --- a/addons/hearing/functions/fnc_firedNear.sqf +++ b/addons/hearing/functions/fnc_firedNear.sqf @@ -21,7 +21,7 @@ */ #include "script_component.hpp" -private ["_silencer", "_audibleFireCoef", "_loudness", "_strength", "_vehAttenuation"]; +private ["_silencer", "_audibleFireCoef", "_audibleFire", "_loudness", "_strength", "_vehAttenuation"]; PARAMS_7(_object,_firer,_distance,_weapon,_muzzle,_mode,_ammo); From 5d1478b733363e12954195ac7255974e8421efd9 Mon Sep 17 00:00:00 2001 From: Bla1337 Date: Thu, 30 Apr 2015 14:01:22 +0300 Subject: [PATCH 21/32] interact and medical system localization upd --- addons/interact_menu/stringtable.xml | 6 ++++++ addons/medical/stringtable.xml | 16 ++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index b8913ce1c9..de1d972faf 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -85,6 +85,7 @@ Interaction - Texte Max Interaktionstextfarbe Max Interazioni - Testo Massimo + Взаимодействие - Текст Макс. Interaction - Text Min @@ -92,6 +93,7 @@ Interaction - Texte Min Interaktionstextfarbe Min Interazioni - Testo Minimo + Взаимодействие - Текст Мин. Interaction - Shadow Max @@ -99,6 +101,7 @@ Interaction - Ombre Max Interaktionstextschatten Max Interazioni - Ombra Massima + Взаимодействие - Тень Макс. Interaction - Shadow Min @@ -106,14 +109,17 @@ Interaction - Ombre Min Interaktionstextschatten Min Interazioni - Ombra Minima + Взаимодействие - Тень Мин. Keep cursor centered Garder le curseur au centre + Центрировать курсор Keeps cursor centered and pans the option menu around. Useful if screen size is limited. Garde le curseur au milieu et dispose le menu des options autour. Utile si la taille de l'écran est limitée. + Центрирует курсор и двигает само меню опций. Полезно при ограниченном размере экрана. diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 2cb2d5715d..53fb7d16f6 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -347,7 +347,7 @@ QuikClot QuikClot QuikClot - QuickClot + QuikClot Opatrunek QuikClot QuikClot Hémostatique @@ -443,7 +443,7 @@ CPR HLW RCP - Сердечно-легочная реанимация + Сердечно-лёгочная реанимация RPC RKO @@ -451,7 +451,7 @@ Performing CPR ... HLW durchführen ... Eseguendo RCP... - Сердечно-легочная реанимация ... + Сердечно-лёгочная реанимация ... RPC en cours Przeprowadzanie RKO ... @@ -789,7 +789,7 @@ A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries. - Повязка для тампонирования раны, остановки кровотечения и лучшего заживления. При тяжелых сочетанных ранениях возможно тампонирование раны. + Повязка для тампонирования раны, остановки кровотечения и лучшего заживления. При тяжёлых сочетанных ранениях возможно тампонирование раны. Se utiliza para detener la hemorragia de una herida y favorecer su cicatrización. Se usa en grandes lesiones o politraumatismos. Bandage servant à recouvrir les blessures pour arrêter les hémmoragies et faciliter la guérisson. Recouvrir une blessure est optionnel dans le cas de blessures polytraumatiques Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran. @@ -824,7 +824,7 @@ Allows an even compression and extra support to the injured area. Ermöglicht eine gleichmäßige Kompression und zusätzliche Unterstützung für den verletzten Bereich. - Давящая повязка обеспечивает равномерное сжатие и дополнительную поддержку поврежденной области + Давящая повязка обеспечивает равномерное сжатие и дополнительную поддержку повреждённой области Ce bandage peut être utilisé pour compresser la plaie afin de ralentir le saignement et assurer la tenue du bandage lors de mouvement. Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów. Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada @@ -1035,7 +1035,7 @@ Blood IV, for restoring a patients blood (keep cold) - Пакет крови для возмещения объема потерянной крови (хранить в холодильнике) + Пакет крови для возмещения объёма потерянной крови (хранить в холодильнике) Sangre intravenosa, para restarurar el volumen sanguíneo (mantener frío) Cullot sanguin O- ,utiliser seulement lors de perte sanguine majeur afin de remplacer le volume sanguin perdu. Habituelment utiliser lors du transport ou dans un etablisement de soin. Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych @@ -1089,7 +1089,7 @@ Saline IV, for restoring a patients blood - Пакет физраствора для возмещения объема потерянной крови + Пакет физраствора для возмещения объёма потерянной крови Solución salina intravenosa, para restaurar el volumen sanguíneo Solution saline 0.9% IV, pour rétablir temporairement la tension artérielle Sól fizjologiczna, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta @@ -1100,7 +1100,7 @@ A medical volume-replenishing agent introduced into the blood system through an IV infusion. - Пакет физиологического раствора для возмещения объема потерянной крови путем внутривенного вливания + Пакет физиологического раствора для возмещения объёма потерянной крови путем внутривенного вливания Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa. Un remplacant temporaire pour rétablir la tension artérielle lors de perte sanguine, administré par intra-veineuse Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV). From 0f135c5dab1b84f59635970932c0429e4022a2de Mon Sep 17 00:00:00 2001 From: bux578 Date: Thu, 30 Apr 2015 15:23:52 +0200 Subject: [PATCH 22/32] fix ballistics stringtable --- addons/ballistics/stringtable.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 5826461a39..eea2f0cb9e 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -788,7 +788,7 @@ Cargador de 30 balas de 5.56mm (M995 AP) Магазин из 30-ти 5.56 мм (M995 бронебойные) 5,56mm 30-Patronen-Magazin (M995AP) - 5.56mm 30Rnd Mag (M995 AP) + 5.56mm 30Rnd Mag (M995 AP) 5.56mm AP @@ -1022,7 +1022,6 @@ Calibre: 7.62x51mm NATO (M993 AP)<br />Balas: 20 Калибр: 7,62x51 мм NATO (M993 бронебойные)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 20 - Calibro: 7.62x51 mm NATO (M993 AP)<br />Munizioni: 20 @@ -1137,9 +1136,9 @@ 6.5mm Creedmor 30Rnd Mag Magazynek 6,5mm Creedmor 30rd 6.5mm Creedmor 30Rnd Mag - Магазин из 30-ти 6,5 мм Creedmor + Магазин из 30-ти 6,5 мм Creedmor 6,5mm Creedmor 30-Patronen-Magazin - Chargeur 6.5mm Creedmor 30Cps + Chargeur 6.5mm Creedmor 30Cps 6.5mm CM From 367da1f4bfaae7e0e0ee36d44a9058b01debd799 Mon Sep 17 00:00:00 2001 From: bux578 Date: Thu, 30 Apr 2015 19:36:35 +0200 Subject: [PATCH 23/32] cleaned up insignias --- addons/common/data/insignia_ace3logo_ca.paa | Bin 33382 -> 33082 bytes addons/common/data/insignia_banana_ca.paa | Bin 36279 -> 36749 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/addons/common/data/insignia_ace3logo_ca.paa b/addons/common/data/insignia_ace3logo_ca.paa index 04640aa187fdd60644c9daebc8e9547f13ada719..5a8ca321d7a59e68d8878fedc7877666eb7427c6 100644 GIT binary patch delta 5266 zcmbVQ3sh5Ay59So98Q45@K9-0N_c1zNC@8Ys5Ow_6Q(*+OB5v-z$fEascmOOlbp!Z zPPFX;%=A{Pg2k39YC)n|vw9Oyxm9bu#ku2EDxg$s@lmfl#0Q*{efJ6Skan$E>u%0k zS>O4;|NFoFpR==f`1w8J>tZ5^Li6XRX3n0!Bvk+a*s#%}FAIvB_;m~br`H2;ek%Y? z3;?(9 zlM7WK%J!4VbXf)+ZxN6vv`ZgM9_)``gzW~xq+0vCDYW-y>)K^xr3!CG;oGqxT+ z?ZsJjDig>Fi^ny-a+3v$WRMtbBG~X~4H0c7cB{2MI;-vU!GdSc@%P>1UQKVIy zD47}TZB=n3*BZ`|M@5pDWQIPeN~XV1x#@w{8442-?E*55Z=#ECO^}&|hw=Tt<9H4J zJSq-85t~9R>cO`9T~N&mjJgCj?Z9EyMXEJaqMP1}`E2V#gtzwn?nd*tyQ%g4{c!?U%%DP z^^wl}NQ8>l?PEmUL#wYZ`2j^m)}&8l12a$N3_yp|6Toa|gV*}!aOd@}mj z<_h#n4H6+@bHhQu2li&a89q4>$vmm{5Pz+YCGZHrLA$~Kn06Yg7Cg|2)2u#m5gIkU z*m_}k${Qy`Tk5cC>Wcl$-W(>)#86#q`wjMD31`|4f2zLMC)WnPKRr{$s_k<{6?B7N z-QS=N*zbzI5H(N`hReA5Wt!jF zeR4p$TFr%Z3;q000I|HoR%v54XXmD5K;%%cVd34{>?l@Uj(RyGx>wC98LQsMP^izR3n~CGY$vSu9;odL#_#tv6T%!u7o!Pw^p2kj6WlA#v@s6_w}@V2 zL)Y2}O^Lv|<=Wj@StoImJd)X2;XR9-s}-yoep|x+62&fpcen<%BV(cqCWW(VK=xQg zN}a^oh~KUM{nPO?nq~NXuT!9~Z0GuMC~u~W4HI<*m%>Tyu%oonChn{GFGuPNAH#Sx zXY3VDgmG5CF4I$Tg|Xc@`wbCNc$m2>_>y@t6oz_30TPC15af=fuTrfJ#)a)F>`rcXv+x&cOxI7y$ZHMfO=jCfD=k1 zSuH%`K62mjTI4<$kGfBZ4gvB*QxSQ4x$$7?Qiy8h9yPTxoZFZf1OxJ1jNn071`KS6 z5e;$f`}buYiQ}cIRZx#tJT{YFb|U@LLY%#63zMx~YCsCMMgWQcAqB#SwmCuz^Zh`$ zZ8rUF2_io$-h8B{MwWb45N_VJM1*9PFVp|9qTz9ytbSTSz9bTvA3G+wI0Z2z{29Fg*_pJjtH8@R*VNaNfdjr2Hjp6Ux~L(f*_}&r|Xp_n~sKc9518t41Hjw*a z|Nh`AWeUud|&`a(=SS*pT` z6$!PgzRU5qnnMQ|aTC2$>849r$#rtdPBx*OE=`oNM7b*9nk<=qv_CT1Yi_&JMZyD@ zF4RR^h{81-*;gJKl&MOlR^ci-wX&YRbcn&5;VRx;LakM40Xl&&rY)JZOb&a9!?oWi zU9=_Xj17OZPA!*YysS(Sw5Q3E1%3NTspv1!7JP%xMA1-yc*M+6Kjal(t; z!-580FtB^rfY;#RQGC9D=pkRwYcPlB`+Kq1K(;sD!^g`2VDJp{_=Nsp173pCOBfN5 zj$p6B7#5zAZryo6UVB3fxuYM{Y$N3CyNiK&C;6wFL2fQtwGm_vHock;R z^SuS;p`xv^t*7xdo?04M^Bi_`2$@ zwDJsD|GYPE;cJjF4>P7d8N(PD%}B$Hi2mmp)1K4#-M_4|fY*3Btg)H*p?EsF%I|r` z7^hR8tCGQ28PV|0<#`{AF(Yye18CYyJm*WE^&|5ZWG2Ki+&>wqZ25{%l+y!48T9H2hxiQAdkLcww(tdn1tS7pytYMHJvc+JVd2_g0~QWdL;*a*p^m(V z^XKFa=bMJ&qYdOe<1@I0-WlhNBzO(|Fsfy|fgeW|;IRUCWOU2@Mjpvl-hkhlk@y$` zSv=l_>m3GQycHXG@#2@E&9xg^u6_doLP91?ICx(<-f{nrG{sE5?A&nj`w}#{vm+Pu z>GhxnFL|@z!;?0kLS*pu=uL9 zRZZW7hh6Y?yEKTyKQr*f-~0%V;9rs6X_p3$CGj%PDZPu8*fC1KBK@hI8B3bzeo}(I z-lAx(DaaE#NomrCAtz4+5)~@fc*`Rh!Nq3)Dq3!&>?5{^Q7y$6qXtQs(teNyz8|uYB)wGSabJG)&l9EP+ zDP|3W!`)ic9ma=~67ZP)}O=z+Zn4K$?ZV*dNf@E3>u^tQB|B{%tAmf}S0 z0qE~6`H{z6TCBl8OXIqmPbI+HoT|M0SaKao_Zz}Sj0N})9}y3naEgOor5`2_nwWoTmm}JLS zPwc&2fN86oN@%h5baC2MByBuxlYr0%*0#1iZMBA%MMR(|FL~}{?(Fao>FT<7udJ+m z`M>%8@Be4^o=HAE%({7$HHSp&*C%BpuYW3u4FK4+o60Devt-^)1pqyN1z=DIz_<|r z)?olr50~VGl3F7kO;<`Hv^X}5j@nf8K|So^I#4YUb-1(goxrr zfRx;_?OL#6ha91^r64^cBd*&f+_|a$DPm_OTkfM)=Z@Hf+=~O!1dyd6NL88#Y45Bp zeUhur?$Z!js236?dYCHU!>E+herY^lgEmn0!eyj|;TEXv%_I->XL7=i8{p<1KZ2Jg zvjYo3T^^7+L1w2P0T0Lw;ORjPX(ueA9d|Q{)G?_ZJgXz@0T$xf9)$;F_3KEPgQf9{ zjsg)**7n;PA}d&XC(pv!GNd64fx~MpLEF2u#HfyNkQ@9~CvYPS@TuQL{G`zVg#l6? zSpv~3BvhyQ&Ok8ew|>_}nUf-R^xEZ8nx&PiBJ@D56VlhLDqUTJ9vDzO9Wu z5a9-0G{+gRwa*?MX<(~TWr=X-Fm~84)e{<_QYd&)&(AA^X@0Rnpak_ctEmwV_U6n0 zm?}$vxmpg4Fz~W_8snOY?LGDYk9hN-BT3sBob_ZB9K|L!jcO7i_3VC4Ttp%(bCl*c z25X_}wA4Xt$y9@jG7mTJu8zQIi4BzPgHR-Mv!C&+iOP;J2(#|^iDVb|C+)8*uGPXA z(e`h7lwn_6v4NQD5e)EL$AYgR^i?TbtEX_6v}-L-=^U`6!v}OL5Nr+bWG0YIx=!$d&P}DxU@; z-`Mt6h4Bv6)fJv>6}rxC%AzVvPzA`)$86gd*a}wbp-KgWT|<|UdtBtMFRm~pf51Ot zP4f8@tRV9?tBKAV1EoX}@AAc0y9J(c@FCtW5+-7=$ zmCmxJaGh{vG%X^#jI8&8&q$kQl#`uZSs13O-sCzb^N5yi1PCs$ZCyZ9WIIa!F+8I# zTyufPYEdbIo7+eh|NqjwY{;D@S6f@d6#gtNeG5~VI%Op8S= zBWU~#8rfcPs?FH-;q4wtEJW4_S`3qI`CB4zWgYIi7EfcjTXzgPx=;AO$E_jGE;Z^t zXf{{-cgNZhV7I%KLp9WZx$RVisrEOjAUOG))>S2QXGud*)@oahloqpF=x>ysad8+O z4bSvwKePTEup7cY^SZ#bOQPv$cBhg3POac~-6(fAMg1m?uEr}OSmusSQeX!+2S;1z z&kYAu4>>I3szbi-1OX7>z#=^>1q^gev z2+x9C722Q17>OpE=}x7mT}fwBrcUx8-|7gm!x#+$M4Qp~s>(O}x3}s|`}cPigd|lZ zxT+(NIN4U9p`*!NL}V*bf!EVmW#K=pRS&!lV;3_m8mbvApvI0!;+5oo?W^4< zTU9NL#8VB{1C|kRjd<|y1J^HmYO~yji;3f1W7nF^2j+LO5~|I44>qm1IbJjLq;f1N>irQ$~xg`>}?)W711l3xYwI~s<1;;s7^eGDmHPz=d84NxOW zYD}yIlDP{!b~ya86X8u1Xa)0|*@{;x>m0D3f~|>_P4EWALm&Eh zIOvvvsQQNT5ba}Syebbw?FQnla5ulhLVOtFA)1CLNU<+zi4Z+`-9W1H-DJCi@R90S zU1b69dN{Yx9M;dBU}xFznmUdsbT|MUd5^x6a5 z#DFER$Y1LA={9hRe{~a$7XFW8`{4V>~eI?5@o^;aZv%Z+YMv*mH> zVX2#SvrN8C;pC-9GTg9@y1qAk%Iru&W=WR08;n zf+3O5i53`N$`TOdyx*wa%h9@D%MJwj^FaDyd~{k@yCT29yat}T%9B%M^%X8HEQ7Uzrx`m}O!7qV=`RW;=ZkNSN4b3i6g9rr19n6@!25!O zibP)Hd_3gSZ=qbtb~FYkJU-vmE1aBbM-&F1WzGHyCum%Q^{an=OHOg^*RX5fpIM3o z*oXyV?5Q}z10Y57Cgnc72QIaX%x}vBOR6@NRQXxY%YElkfUbLfRrc~u zj6pF%D769rwR-uO7l%8CWnQdUjj?GAHBVwNhEMP(UYm|bufp-{UNpsD5|8mS_b?cr z;#XE;eM-G-*qcB)CHU~D7spQtM6JYlbKkV!Vn#5a@1B7Xui%YoK4VZYIL%)^q0hvb zgtH2w)aqqJOv2vqDFZRHDqhS8O8Tb-qgF5p?%{hCO>}6opy>j@gu#1wbgBcGPhm$7 z&oZE3DqMT7g2izduN%Pzye(5NW;(KVVA{}Prsd!so^42|!M}z!-o;azkADpzHR}xK z<1-^O9vH%5FQd-H5FQ-#GO$P;W~^fvw`Vc#PB9pb^_USfFvY0%YRsQzFdC_h20n{V zWT`LqW|{CYnPnrR(L2rXYCP0GGs`B-n0rsd%lON*Q^rRcX3XomUt|8jOpV8xEVCGX zJ&!!!{>yIcgVA{M2BaPw^lISW8Wa6Uy0v0=m@Nl)x#FdCeEbBXs65=|0}wj218;i( zj7{O39f-lx@jt;M_w%>jMdk4z8|!=d)E@-3&*2$Q+BQY_Lp*N?mEX80@J9nUq10=5 z($Mhz2AJ{E>G2e<01vn^YruVY{C9ikAXvM(iAbr~i$UHX-|d96S@he$p1Km=VY0 zh2b;sYo#_Vc|Q)GfhqNCr)=818H6`Z*&MSHI6`K|Puj|6Vc|@Cvef3tp22?|7c?`@ z{^I4Puc=-!et;O+;yG%yaIB$-#;*#~mvMXWWxo1CYlvWs>gC{9h3Ts}A#+WV>WimH ze`^ilPm-7~y`+%|rFzrZNu?JtX=Ikt=oD#6X>Thfm?TXp`B#q=q3?F5F!!ihosqH3 zjVnrJf&7xQadJwA(zfM#f6m;f-oU}F^~;?h|d`ByBF()_bCzjlF7$cA2~W&gz$XS7n?Whw>^0H2pSNhK4pFJ zS4(4JV`GmT#WBpl;a~OJs6$6^3=LCEI5s9GX6Z?HQ8-paXx$-f9)Od~y^W2dv$*vb zon58^u6N=AUSEhU{FKqZx?LB6Qkw05BWJjefQmW&raOg zIPp%PMq~G5s_VrIwoP-;0IvIG99OH&m)tEVB^Mh%o727zJH3RZ@S0=r7`lg@s3Wxt zKV@J2294LGG7p`XbC}_^@}!kqzy)}Rd9oE3pYLj%Wt-K zUwk4hmKwd>#_D z!8d9Hk3spalCn8h%2xX-%8`EW^Vh|6qUh)REMIB=aunVUE*{7T0}+J3B6ciQ8fui0 zDg@6}c9gKnE;K6I6-Vc_FOt7|h}*}kgGn2L*Ld|kUfLgiIV<|6 zH1OE+GSY;?FZ*Pz+zP);i!D(er*}VrA4_9Tg>`&!EV=vsDSh`W?m}ISJSp1N@?SzRxEs@mbLx8U#*4PlahTWH~;|Fc6)2b2Qe4-ks_yMDwP#{?>(_oyr@DP8nLc zo_ktU^tIYY2_%ETI}UC-R*4LFALWs*3d99Lvht&+y8cu)EBM>(tcw;wL`w=vFWw&i z``n$Po0EFoe<=`Fcb(C z&?SWD7Nb`hR{ucS`r@a;EcP!M?k66RcBeF-GzsCSi*%@rLnk(?dLOA0;f10`cTFD- zYhOZ#rK?Fsgd+$xGT$ADvS(_O*S^ZxK^!G-N;5;rU9?Jq&ivA5BW)<=OSq5MDa>d< zl81dFxe7;FHZ3*)*cHK>75(PzxXwo_rhPy<_e<%!>a$0~Op9;?i`&gBNJf!$zOM53 zo%9HUn)psKslIf8eN^gAgW1GKH|==(?6K<%%C#NM&%c=5iH-h46XSlQcsHwFLtsHe~yi#0mt)Uqy zdVScXJ>0#kFY9Z@pS)pQD??v z_+!PhvgyHh-pw?8fbZT_divLI-{Cv4srH>=dVRg%k74|#=3J#-e9S$q2FOF0*&7P-KX5m9EZ$Yd$}JoL|pARI?9#OsF8@we4Rz zxgQ;J<%rvrKdEpk?2`YpI*!x#`Aiht0N!%JzN8u4`_7u41#Bgyrf$na;rSz*y*yf zB!lv1P%G=~chRd)w>{!x)@bp@vN?ms|M9L5UlWs{XZw5=vtVZ9UiW_b1hUILyBTz) z-VaAu)M#Hqj0@BxcA@eH*FmTup*{p8uc);+%n!A?C{!X|Yfb&xVH+m{%`qO4lx|h1 zP_$;RFEMRN9Bq;!d||L4{fk1=<@u`+#9~SIL6Pw$Pas7s;{#Hhs|+$WwbG^` z=#k|?v9!$xZCK>Fh$GInf>*0aW;h5D>H3#M?;e4J>%|EY+7=y6TNFNqpy~p%;=U6Rl4)< zoP4-wHyeYd0vG1Y-WkR|9rY1iDY{k=s0bIA5~>)~)^X_=cR{Z5z>yzDbeW@~Cl1KR zeslT5ts@(B*usBn(~_^&wST*P?vO0IX*Q=@+0BJs0t`^jwwSBZ4IlyVf*o$8TEvS+ zum0V(2yd#-^*TF&)4swwW3KHBg$dz3uBlUPd~k}kfwdjnZw|bWoJFH$S>L8Is9RR~ z3@R=`uit)8&HTi+t7SHsAUcgML`7w8SH2i>2}m%75t{Cze;EB2(6$J)v~S5foW!<- zO?sl zHlbL>9l=4AGEKtsF&B-?;|lYwNLL(>>A$34697%k0dSShE~nsXKHg3cS??sqD;W1_ zmIOgx0cmr`r!UTwNAPJh_=+IGwYIc7Up_uK@ya3d&!$W?E=EA zR^$_FCT+p^&akIlvqNY`i0+9f9mR?IG~6ncz2owz+`NalDaB(qE!n;Cq0NjIHqTT7 z)-qcJT_H5u-R0I4V0)1}PU-!DyxMIK;rcFOiHCpP@vmQXn+I2v$??;ioVWM22*4D#f61M?O*d_{SgJ?g*JG zb*E=bSn`mm6QViP8KKNH36*+1#A$WJbl+-)X)eSDgi9ugA@Ce(TePCnQkt9{cy+GA zoHEORqsK4Q{m8w`sj$G+_s-HbCHk!9u7y@f`+l_g<6+KA%cjf6tzn{~D>^njsxUXU z%9v>+GZ8g5k0k&(151|+3k@hRAIFah$f7=+!bQ1{K14Ht=>Cmob0`~vHRO6ejO0wv zp*71wIf@Pr)&wSqgJL^fC61yoC;4*);5_Kw8bP2ynb@z{t1J~?g zv)p$c4^}QMnnN?XQy7)J@S}S+MR|BBVOojCRXmF4kl+!i&gb@Uq<%y3QD4q#7mDO` zdO;`ZLa5j2f__)1=0aFhP_{%G^Q5b;@GbJAHu2R=S=^U;3i%gsi4XGA@f zku;W~D<|oief=wet25mCdVsRJ|M7?$rW2@ zlRN4(DAJi`5VYg0>H%k9Ll51}rA^qIodz-j@uLzuNhY25xUs%?>!LQwl!DDhtW}y$ zlxLvuciVrecRBu<B@A%Uk(k066bB5jF zbZ4gWT64ofQWb{FH<4xXcv zWz~Q5=gHf1lzz*zsEj#pD}kliL4Y29l#-PK|M2X(vpE~@av_9h_Oj93GmW)5YYO_$y9HkQ>Vtp_lk2BwqXS)HH~ZXmy?}CbA`_1 z*6rfnVy5!snd47rl?dH6_2&}sT=?PH)Nx_8ynMA>rkdbHYGO8hbT57lqcO`&b5SZw zCM9i?Al3;1XGAk5+MHBmKxtDFKfAdo8+Ac2j(LN>GWO@R^qbd?M{!ePpI;Wx;cQhxUaW!cp;B8W36644Sj1SU`(-v`!>tV_!0*m&; z>6{S^>MUy?OC=^6;xFEL`xP0pwl9x(SYG+LYgy*BD+k@Kn2ON&IK93bZN95<24yq) z-yv0;4Yu8_NabvHOISji?IFkhT;)f5cIki!{FbnHqpp4+D7BeQ2~LP6cAc;S6n0w2 zDMICsE-BbmN>;dzq26rA$?~CDPA=9|MW?yiV5V8Ku^A6i&pkQ%m_I1Y@%f4)w9O3- zyik|xUy+m(%2`iid8qD8Aeijr)qVM|a!zT)>40Fe97`RunY0DUEb|lUJrohzn#aPv z$_?ig;hJhgKeS}%)7g{?!)j$~$OYiG@S}cITzrDQZ?oaR6B3ks9?^@R2DQMW_JacA2cFGxQ=EbP|uCSpUEqZM{Seal3bQqqfe4*{QDke9zr*S~V2S4UnASd{J8SIkx0`8|9L=iIq>!qE2*1he+vKr}MJ%)W;k})QF1zBW1$(ZpmRE!~BPukpYKf+G{BCT>mt9=_+a?<g1A_xK4?l>u?D>S|&P1>s$EiY5yj zE)Q>*LGeBGit>z9qUFYq1GbYU4c07mL2iNQ^Q#}{gq3>uWz#kcRXsdOQmXYlB0VNC zargJWwjddE-l@1zsC7D$IpmUi$0z4pT~NhRJ^{$T3C4^q_kGq^VOk?ouk&r(O)foJpiKq?icxtXd;w|N z1_*4qTe6jAU40K1QMT0(RZPtBehB8+d)7FbnS<5m4kqT);m8BNXdTV^1dPa3s3!Au z_P3SkDJdG7O%m|^NYi{m9c+k6SA>r+5~_o!{-_&Dsu4LgoKlUjKs1}Ku!;EDtu>Jd zhRPK-9Bplq8W4v6*O00MPr!&`dfdQWB+=dDeg?UgG5xyowa0(;CU5m#$ zSrr*>#&V+awS>HoP?G_dm!DWg7SigB(1(*LW+GvkH1do2oS)rz*6ETzyG9gQ?9Wcj z32q|G-7(qUQx)M@Batz8K_b~nWXsqoeq1;zy9t4J{7V20f?+X24#vbwV>$aGm|Q=@a=+A3j&^E>RpIb(fC9|APr zVtjZ!B4)+0H5g?o#|wqGbp4v&=xkogm@Mdzxwr2rn7%kWmZ}fgp$IoLCC@uNdo5*N zhvy|ul&?7`qA;H_+ z@k9d!VO?vDSBRT{Ql-LO+yf3~k{RetDe<*Bg?;)7Dg_J$Ya3g>p5LB1@ye0mS7fF! zsKhDPi3#F=(y)Kw8J=imw;cDG741hoPFu6LZ&TUyPseAN-oQ1YO~tlnzNR2q*Breb zQcX-}&zXw)N7NOGru`cjhso$oub=YBPIZmpJ#?w+_tW4vM^wJ!uS!N2`aZeAg)JM# z=6G@1n{#a88rpUbJwI;f*Z!3mzu*0av`qm|GWWHLOqwZ2G30tuCn}Sf4XVLaj|^{cNU5>$iW(&XV#d!iV3{wL?=uZkYrbOJD*(kXQH>r8SbZg#qq_IW3| z|DAEIU0{PN=k6d16t=x!mX;{}Rtw~`${k%LIqd{B7%?hMB+Gq_hD;*V#6+O{Ue-(g`Yxi6GQ-Hr)7zw#+>nNOE4YsoraPt_qTD{F|_<#H&z$ zI*2V%>W@O2n2)oOvBL{jkQtNOeGMI4nW?5VCv5r&Tm}&uxOX?cB7no(m)gAT0u+I^ zC$CMrJ4yr`B0zfL``@zM_jF-oOg5SpJz?rF6Dy0jh{6+&f>^KLbmaK=V>px-5tZF<1d?!q5wBv1g7$@AWq7&|rTj~Nx1ruSwvAW9c4?FfS z%9&P;Kqrpcc$>DM`MNSi#6owX$+j*NgraJ~-t|*?z&w&$vp?(iXQ7 zH&#)mNO)=9vk7bcD@DGeZ}?ZDCvx|aj0~6CA8r15B4v*7A{G@u{qP=Meb=3rP+nA_ziot#O2iUn;zR`z$O%{LC zXT0WLBL%3ShP3&kC&LW!WTmjNwZz|K!J8gWk4=@5GPen{%AKFw_l% zn|Nyd!@u&gnj8@qvE~F9E#sIz-Tm`a+OjrOyH-&iRBc#_eyRGooMyVvixZCwBrAj^ zO81VKINCOs2t7oqVhQsC17(`bPqp)jwQIBaCtJ!xF9jkzw7g9Z&9WzIA6;bpqVr~ zd|l*T%C-`nL8VlY;bIx_dgKm|dXhQEYtEdCV5Aq9@|?(_4{}kn>eJIXw0d7#;6;D+ z`4Oj!6{h|Cn#ZZN`;Q%-%vA%%Kp`l4I<3Nqr}Oz-@`4>L2*@v@O%@{DnnId3;BPD4 z_RLjA^9VWLL7>Zg57hn3%*_580=$TmEn^Q5Jcr)!Rdy{Zt2Jmg0il zg$mPANzEJKS$jOKzWmSH_b;4y z<}%Q~1MWY0_(44HW?(7PV7}2lELwn~d>V}OS7%&b;{yKg`bF*+;h7T?(Mwed^N@BZ zRb5;(X9mf*$ttWkN<*n?Z;`JzZ5xiBtT;4@w(MItd6>es4$W$AiJaD!NSn&hg)vtL zkQQ`@67^Rd0!hvdym1n6#BWBXXfztS;(I?oiV^Z!b&ItwNEU6XM*Uvhe3i6;1zRUH z7~(|Nz=l~mFG86BNt=}Bsj*0Ea{NOv1#?6;<{Jqzon(UW`K#)NZn)izx1>47G9Hn9 z_!e>OD+Oc*O)Gr~y0X(~FBYD~kSdCK3nS7EKlxFn4vYw?pPE9MHI#m?8*Oq!e@{EX zqt&gsqYD)(HDB8>mU=HfE|F%}3EcRkX=pNkc1a-E6@E_hiAWbGg@T5n>ZCyRVMxHS z5@n(xjxrIDrh54C1$21k1Jrdi%}N6#6BNv3u-rzac6_G;^}#^ z0`(>QBl;ENuB`SW$#1gC$;{=Q37fJm~ zEXI=;`FZ|GsVZ^ZLTC&@W*CHy%wJhdm#bnZ##I(^kMBpZ`=>^}uu{klkZg;}gk7N(@fC?E$a zo=PBR+u1;}3o>9@6~n{ZWt*aR?NVfn`6i68Wn&E{JO99EmTHT?w?v|V^k7!>&alLX z3p40WA3piS-N53(IeYufKGn@(Y?FN%<4$-^57@G;XCE}TZH-0>Y@jnj42icWVBf5P@TWP@N1LmMYhrYaEUwK)%O_(#Md z2pN8$UC0{Z^b~`G;qVKA0*I_ltV=gceUoJR;l9yXH9DgRw{904-?Jye?FJ+bV7r0Y z1Du8_Oxq0`pFhgv#5c4FbG)XX8r;oa%xis_@ihZ0>pJZLPPZ?AER`i1Asbvo zst(}UVRW``p@MbY%OhypJeg__x^;~(s0;NxDKqEm6&d^b?QlC=?}i(|7KyVWaDfQZ zn87REDW!ho%JOaNwRDGqAY@>HTs)eqgk&#;t~|kqNYXSH*OnhX zn{yb{SGL4xRhZhu&n78jkdcZC;{0MUu1wI!(Q4sGAC@Z2!9@i7`SkZbAQ>aU|7IbI zET(}7?UO2NoepMLp!i|gK8(ksx`ZoYsblUz8BUk&(2u))*LOrW($2_Ygr`9;h}nFZ zWJS4fqv-=OBG|~;ps5A}h_b84o0STaMP_;neSFX3S{FK~#mNO<0Oe;@o497SF)ETY ztpiaAsVBQcM!Tes6bBu4hi*U&m{iD~Fsw;YxnFKC89N}4GAm~aJ=4>ToPpjEhU2&( zAOlTFf@T3-AvxWLCb@~Ji z#*JP2Q7f<5W-(!C`>U_MDs={?e%5w(>ccf&cmKri-SuVv_FCD$4I;HBwr`%t&3jMR zvQO5s@`XIYfRdGg%}o#*L|8fZAL-&&krhmuuX@t&US z(#khU&?#|bxh30#L$btctlOzzqQpt}HMTA`2mf;-#A!(~JqmL-n1zZcOjvwE(^L8?Cn=cb&#+)_Cb3|Wjxtm%-k3RdS^zz;*Gk)#P&WeVU(2}O7*Pw~; zYvfHYp9s})$~Flt&vGqPbnTHf5bSG-F;gKl&kr4? z%fHi$Fm%6h+9Q4d^9$B6$#?ff8fp{$CRbeL0`1~{r;BNJU(~6=p4QKBV>5qX(sfde z)-?Miz4r{_-U`f*>eTO1sDym^LOzicgghcmVkm^g{*;h_vQl>pb*M#&c(&UEaD5sqekjzy=oub$0Qw(b` zQ&9M5dMw){$j=I-RA#J}_zro66R}gOL*uxJrMj-=uJ3WuHVrC}t)H4j7$$6td=p8h z)iF|QlEOyt<>$T)yPi<*M%scTk+LL3xwME-Ptm8orGWII$Uc+u^QZ@7fa2N3g=fe^ zfIs?cq{d2iUN91s#z*>iXjMVe;dOr2%J<%LZ#p_n#stYseyEdE?ouW|qPd8=tXZ&y zjBtWp0OU@`8}6p&jHp?~al2E9PqP$@Fl!Xw{Svd5`F1TM`%<-wDxjHXSR{^~m=Aqd zEGH}_9!$1{sGOK5uu`_Gz-brcj-Iv+(Yu30`rMR4F+)c%<#Ys6-71a}=ac2ZHIhE( zGxQ4c&_&`*x9b8N^A8t3BGvAT8g>fhe(netQ+S>Xrw(5yE!y|WuZys1pTu*{w>$z6 z1v3v{)Nm^@CWU0z*0e5hYk?l`0w{%I(MX?R{b^=9%~-@wzTk;U_wU*wzCp5+6-#&e zWJz4KuFmL+YQK%sTwCeMNLV!s(f+ZOSUWRO+eu8`jZ$c$=QG zAcI;ino%p5AS`a*Q3O+D2tR9gzGX~JRb&Ye<36sX$3aSiqw{TUbYwt1d| z_W2WtC-AcJ{QSmL?&^l}lvJISx}*5!O@*p2*5F6gttPuZEo8-60rd&AiNTa{>AKaN zH8Rh^Nz-}0s_nS_Q_spKP;V^p+_9^SqRU`v7dl(wyC{_q$W&qL>g+Y2a?cd3W^`0l)o#Q_y)m4vcXLzH+I4?Zg z-QE$V_>l+wjJK7iPp@80cM9F8@k$dww0`{&PwPdQ z$_f^*XIGJKjbiH*^a;VE*$Z1AIO z`TW<~j7qNSe4GHaicE*{lWyXyz4;cPqGLoKlUH>F�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 MBtgjWGB2zA3ueQP-T(jq literal 36279 zcmeFa3s@7^_9#AkCV?P?1T4phRx$z1%mjg0QP4mFR9mnrr9`NWJVNyx<)~PXZLJ9j z38nRItyJ4uA7It`uC3JC@DQrjTC^|J`al62tk$6QL6u47uF)pi-*?YF=Y046|F_@$ zbv`95_GD((W3RoQdxYE*Po(CgKQS>?fMHnjw))Zc;JnmvJj}tt!%w6>HHL=~{O93k z#*CSugWs+2e?%gNrM!$`qhH6crxs(_GfOb+9r*um9_1L?Jpv2G4q#j=hS3-%zxTzz zq+l~jp2hU?X(`yYNiiwd;UxGmRUMOzZ5~pFZOwibYo(I0E;G>v9}CUIOG7jm?Z%Fp zC3C41OhCqzVVyGg3Y}>}0mHD26;T;01RN(Z8Ia%P&%dgjai;cBTxljwzbIUu6->Ob z*o>I9LR(ZYq2DnXA$W>sS&49A_Go%*VzGkKU__<5cN3@fpp48Q0?q1~6X`*sw4erb z#GwoKASx~BF#2hqbs*)yh-O*f{;iL&NH{I?qC9rrf?CRi;E#Q5i{61hPS4(?-p_pS zs|Rh(4(dg{AMGo+fBnM1ZSy@Ss8}FJ-Ce(KW;7U@HsVDgWg(_zhUqZIBh~4sI%1lk zKbm@RBJIOP{SMituivtAH0=IvA95#Hn4MF!}hc0z~l3~ zlFS9S5?<}8op!PJAM=Q=q#sN3^|xZC8At)P)so8{Xj~fn^x~lBFkE|5ub(L=pPA=6-!XGu*-} zKWAl!OaxkR7aLqE4)}$8VI`HOZ{5Q69b78V?qiJCA?SnUOvZzlKStC;oV2Y=&=B{hU_np01ARrQ|TJ_j- z*#s`l?<=h!6XighOpV-h4yC{K%qm9nC`w&x+{L53NqxEZ>Tn)AQJULuBbIRtLRII_ zou$}dVygP*OR@|6Z=JIJ3wD3WpA}6{I(WjxldV}+7<6eV!^+Wx!Kb$I*BVV5H%E#o z4FbaN7}xwhWx{}oL$^xa2MNgl2{Fai6XH_^FAe|OMU%xZC+DK6&w0OH?0Dkam1ABs zYx$me8dl{7?U(0acEoZ@Haku^vs9iGm1Jj5x@~Zh_P_`;iOZl zyDhvFTobYx`~|v_Uf7X8g@5EJ^uodW`cUj3_?u_*FJd0W^97w(7&Zxs4O)8VWbAulhko%6*9;H|WS6$T7c7<`s19mNW ziP#+<;NMhj1?1bY>R+;5KP~p%tU*r2_KVH*(x)iouK_$%Yl3qq?{| z5nA`D-nJ-G-CjiWlUA>>m1>m#;6Wk`+hL$Xq@z1za)_$D-OkF&(m`RrA(ORiu zPSl!m^w@@VW`##<=nhh$SBJcRi`NXS#PlNyYRH?yXd;k#$ERk-5sVV@XWeB?7}{uh z^}HKhF__Vat%u4OO)Aoq`v1a{RFw8saoi+$lo=(Plejy>Utt=g=QqSElS8(Wnk?k# zJ+%*nr{K=V-wuV-g_Y{7uN1Exbj@M*Upl8qG-PSVuiOoXnIO8O>D*k33$AgMtK7l% zGIL|8vQE-$K+oF6@I`bW6=94+LZmw@Wf>WiDV`wON;cJh#y>-6Ys}D^O2&bqgOBu| zL8YMbq}0Var5kGr;)tAFy)tauLo5iXZ z7)J`)8o23iyj*rAjk~q_Dlhk&)LUcE&*1Mfg|;nkWGHxwO7*t3Wg{pDuL9zJJ(37d zhT;rIKc!4^7#neVnS(JQRDU^Ow~CeHcQ%{kH|otZN`eB3h}VoSb2qm>ujmPm(Ce9c z2~Nh;OFHCaQrtujBDxFARnY-d8CEoZbO6q9w(Nw1jfb;md&c)Jno+pkE zD-!v6lkR-2AxQ`vXmT~nO7jd8DMtvAs-Dtvz{Y5F7_JB;$;hu>bN{f+eU#%isl{S3 zFW?z&$@BvAu3whWj+rnsm3NQj!EKvmljmIG6dIC z#Hi{ew4;;)cZ( z&)Z7b{;@QR@V4s{s8eoK9GR@vDeJS0P6>80ELv$I4HEpI&MI2(K^>`2t;LWhCnw^D z)_u})t$^b$$`cY=TY0=$iNZ7<$z?YPMw?O;)uc4d6jEuVsGPzv#)8pnGL>%2)&hI% z*_ohcrWpvd|Ld0Tc}g5kid}N`DC1D0yUkZDj7E;XvSiiZ@MurUM{E2Ct~xkd+zWzD zbh@Uh3-pX-AH9v z3Hos9>xrP9(VCIzJNf$>4>t9o(%eWvZhYfecNJq!4Nw7@Bb~@EO6dtXU=(9Hz-TTP z!{r%RC3*4HJPR+_Zb?SLoL8fQ-5nBe?0+d^gp(ZF-g!f%2xt;eOxV# zWJ))kNR~b9=h_+14L4rgIcGFo zknqx&R(8(W$xfzWVg@4oixk`%`C#KVNx@<->L8xexi*jABc4$zG5LSLLE!jFQD9m zDkc77mT%!Po~l0d<^Es!TW*>3!zNgtFuy$|^!}jrwKE3P7TK7LE3567J`Tf{->Jcm8Yf{G=bj$)Nk6QN-9 zk>g6ek=M{&Nx9vQ8$7Qo)vs*Zk`50b>`MAa#@Ux97AhP^1B*K~U0_Y>s}4^2>#=2j z7Yn5o(ew=yFtkh(7R}TLk@T}aWhu=OZ4&>9`Y_sKCbMI;GsmQ?R+%Jd|7_*Qj6;lK zzi!#YXo6Aa;>3?AlaA;(x4&dUiqe8P%cZzbID#=1prJ=%;wcZhAZO|#aI#E0aTR68 zn+$HgSAqa}jYAU8M!>@BzxvIeDNx3TlTxxis0Vd~QVJ!@88(IJ_vVnhcz&6= zXp{*_em2%6u08+aO!h9vtytNWR192=5LDkDO}B;#X~ztMnNAiP4IF8HFN|_)>_Z$& zfN3G)HZG1yDI3?#n1-OvO;jkOjazl+Dy4}v%t4hgpTUIK=RR*(571 z&B}u(7Iw;h?kF~@UsX8b{KaS9K9(wqel>suT)_fUaCK341C^$w3hnZ!jt^+|oN$x+ z?Y23yA6cH|4t#N@J7DqQq_C5JeU7`1>gTmhjdA1~N|?HmCel*ZSeT`B4{QRv1|&u! z2h*_Q-0CZv-eI(osQopxW+qIo35!R5q_T{kHYP@;l@C_(5Z;4tSV_sVhUP-~+ z(!xTehwSu_mYL${1j>|xill}tN>e~KEEVbZ!Y_D@>wtU+lQPtW#=lgWOPjG&G#V+B zr8YwZVaS;{QE?D36ZJ+^s>`KYw@PE;q8)L<!oFOJXje{xMQVaTOTaky(L9WACB0&83wRE}-P=!CF9 znE@|hOa@`|?WWeB7BgEJE;#YV1ezU(N46au_7Oi@-#qGfO2sV=P2H&C##O|3Qtn67 zLa$*Im(qPvF6@~|Ya;M!SweJx(t|5{$cE!N6HihNc)N@cs|pz|w9ufZ*a+O&A+HiL z?AHjbw2CN}!2Dj%wn=aH*15xPa@W7(*i#F$adPj7=sI?Yu(vI~VszBV4*}2TV2%pN ztcCl)1B}4%Uxd?-gzkKCrsvmnoT&JstfbRa1_rJ(h8?6Z%}4K8b_}AE3uMo_b13&f z6l0Q-npmXR@NqT2dZxc7tGTz56fYglSR#%M3sGq%qmPa*mh!WrqctcoJ(&OPz#^My zJt!5D!0FP7twU%nP9_8}YzWCsur|I-nF#R4s=^WyC@r`^c?ipbMHfjE!~rxrn`mwg zj@@0(IO52CTBSo8v^l9$HhbqR&%j&D+&`>))bJMSO4aM7$chW!KCyGomjdac`(lgv zP0Ng?Z%<#k{gK+*zjnUpa=$(w?8oDOeMV(oqK9S3E^aWYO!G-o%;dioGIeK9iUO6a zR;b`2ojohh%z*WNDEBv&qYllEy4%iJ%2pf{(57>+^i}MevlK*i%%E*5ZTvIS9;Y0o zAjY$_^$RHTpr()mv5ho0zFlsm*+D4nV5eO4n9?K>8aEPTm|p)ZZ#Eo|73%DW;f!Ko zw951}`YOJBF=N6&_2f~e229W?cg{)a`U-pU+o*9JQ5@%=78VxfuVf{HW3v}$4(vPt zC_e3$EDgg4K2<`p<1w`P?2xfv99zcS;keC{F3Rq*ugquIe8xSf*)R*aLR$t?$t@dH zrlY2EGRcIiv@=&XD|zOPn!flkiv2qnGR~jhodq~=9jl>1Sx2^QTG3v?G>DJJQj|kl zV3AF$1j}0BvL-d=oy90tjhbcpA&mCxqDjD~6oTk!lI7)54h7M9yIo$?Ou6w6vf)Fq zPzk!I(QvjIO2_!AMgL>aX>eljR-o8;Xh*%Hn8|{nw{?fpS=&6e69*~dWba;Z@Y5Q@eX4; zN1C)sw;`>dX=xFRtbn`(d3&qj=HneLgaY4|sH*3z8lP=I!|O7^)Mv zd3{+F@Btmue0Z3*N@^Cygo5=g2~SsXS*fwxmC2}+G_|3(_eM+Hh$OX-Wft9hg{eC@SFhM?VGmo}&8S33 zp8WBk6t^nS;Ut7Wh~tE9J;&zPf7h~!=P)Y~hu1p0*gIi4fAwS+iS36yubIzKY2{LhB(P<;#!on)YetFmN^Bw^np!7`BS9exGL{QGT(vCHedL2JUkj&X z*GMmUEEcNlsq!Rp-lAs8@h&)idEh+5T0&}cv`Gt^Uy-e&HA95OPMoaDHDuAOL6Q7- zv8sW!(Ki`x(9q@zS~CIM@rwAG#k`?Z6uj1`vJ|E*)9|68!I~d-@Dt&i(I5AxO?VtT zn@swU0KG*zVrkO^L0a4AvVu9V(q1U=4-h6OHRnOScbtnFdF3mrLE0>XdpC$i(>AH` zYiEh{v)3Y1c5R*%^c=ccGkx7~lb_JgwPenXBT*}OG+9Z|sMEDY1BM$TIj&f()0Hag z1G|zWo99ozt8|PL5MAx^v={PdwvKFQnfzQHl_IW|fjp}kK3kr?U0KH3ox%P(D_Azd zw6;!}FkuzwWvra6JVVJC7Qzvg%x)F8_}wEFjCNi3;O|u0<3o>Zq%|(0x@G4U#dxYN z_yAe2__7#6xDXPYSd}1V8n6v9>y`CI)wjvyQgDFtYn+l^u~66#NjeO#qKSsALKXWM zt?3(T4IxUivhq5vDNGhjbR*(DuKp?bvk<4-Ek5&lc9SgXqfxI@DSn&OQruzj z!`|!JIcMC*qi)TO))tJ0OG@ zm6un_)W1s*F<=IL`eo24SVzC=o2oRkHbW=ME7e(*EGFPK$ZpJ=F@%cZ2jX-P z0I&NdT8B{|1JOl?rR10C2l^d|Nei(WP*((Zl`=g_kfNT6hCHUBFd#q- zp(_QcEjNGiiBeN8G&(QHML~XpX-7Bi96wk)l(K|Gk*7rGX*M6Mx)I>NfHE6Dd;sGJ zMKLSJ_MtsUt)m@f3eU{wXqt^6SsilL-x*7r*5R_O(!xf{vRgnJ$dt!Nw~&qrNb7E1 zP~Z*=tD_xps0%{7(vUP8MCLeDTmQxrfa+L}q)-Yzog(FOSOQhQsMAHJIP%_7*3V4u zk(>{(6)NlBvpXe{yw(6E8wld66Gi{!dp)g?xR!!`5%x2yTACUki1Oj9UX% zKg7QlPsixGwL}OJryK$5yG*F)={&b%aQG{fqYTW1oPV773+;Ai$Cx(2k~?pg<_2Ra zm!<|Q-SKv^Y+Yd~r5Pq{pKh17OfE>K%g)OJXiXL@0ZrR8w`^&m99oPhk`Ad}U;XH< z2KHzJ+c+&dl725NfvzhMDe5f3M6i$IE4KG7ISe>H<&Kas9*M1`;7(XoE5#1Pb)vz8 zqbN;2a;}%fJZ_^Lrl(HO>@I2za?g;HDRl`|jOFb9lB-I#KoH3(>c($XDNSDqQxDe2 z_MUv}5z6v(jm)Tnw94~65^nMfFDNxjg^@i)lRAo0A#N*$*lWLpXd&Z3Xie{|T1Kl_ zw(*A2VV(SDDq{*!lv(l&RM|7lZ6T?60%azeNmB>;sp46%|G=WKH8mM2M*#$8q#L$f zzM$K)%zbK?8SFrUe7{ae*GXtEf|3eZ(cyvjnTU~qp;c<&Xw58zIgY{hDU+=Va?}1C zePX?2e_LNHP-)(AVzRJROc)qP3pp=dNV&zt7(e7-v^!Ux&7(C6qGP&lJqA`qQJ6A_ z_GC#L>Ex^S$w&;UN1-`@_8hI)L%Aj8V+KNqO&X=>r9$gc1(&}aLbGMF ze@vASsk1Eo(sn7jB@!c0$0WdnQ`J$V<<)VQH0iIIPj7ag3M$4)<&sb7sk|{-{rBvOyPSP<1;dn~@jGdq+(bM=OPjdcQi zrCoX}H(FVr61kGB+Xd@vmcTf_Mml$LuF|9s_BspI9h3KNrA+CBA6akUW3I*u3?$j*p;9_K5W0!6XVh9_5A8M zs_Tkz6EpJYeOv``wZn}ykZl-bxOR=IFCnuhTdF9q$(vnGt$0xN20l0^nwXb0X*erM zNx_Xb6^7$sbT3jC+zT~J7?9ppJN>PsPE{v@)<5=W9SiO@;U{{?m#VFkQ4C~ z=3k(+2;y>+Eq8%B=_FU~)?Zd?B!c4k&9aF@D5`Ewo20wy6)WwSL$puVAu)JZMP$SB zTtg{k8b)-;8k>*&2>uiDKk!i-!rsBS)BnC6yXmrklPx_B7wQ5TBdK!=bfF4EgNKJ-3wI^Y9t#bgq<`{ zY!=b+arHuK167ZVY9{5)Ca2^^t9~Mw(xKQo45yi0-7$M!GehA1)For5d_((BZZvQ)iS+P*lWs~Oa#W6l|I+_lP?!!AO#QwIub-llW_k_Chj$M-C zjS<5AZ8fqH6ej1h+MTjeU1KA~EgMZEDXx=4>TZ21*2ixkqxq0=zc7_#<1n;!=e~FM z?0wCA>NWSNjLZ(%kb`?8(jW~UVo3+|d2q znpTw-o4Z4=O2KOP0zm}k?!;qzF9((q9ag4{f3L@%T{|d3 z=|S+@O-M3>Zvc-o@5K7`pz~M^fBQtCFgtg4 zV_~!-8>DQ5?Ca9PbebKCq*jbjmf6WU3X={^%o(vai$hxWsNWOjBg{gjWg0aM7j?pmtB`u2&a zH7`NLu&p;q`Mp4B=gOr=7A#l*Zf!_;x|lMp$E&w@$|mM3NB<+s5|Y}zkmS~_dp{av zA^{?|Z@lp_cs&rfWl~Ce+dz?3zEeH+KB|5C{Os&@kC}Oq<8&ee&2BH7A05rGD#(gv z=^Cw40-Y1mW!Q;>K^XEM{=I?G6p~e%$&_PA0XnI-LqKQpT%4*eoZJ(9e0@HZTxQNk z*di&y^9OVV6M3!R7)};wx~rx7d@DG`WQwH~^7UldorIH=yZtoD=99_BDk=qUl1d3% z_Wl!wK)UV?1!*!envcQ2*dSZbT$sm{%@zkpQQ9L#8x0F26DQ_oU$;OWij8<3OoVf- z37`)`iCe4pFX?Bkiq({cVsfO}le+OfiozLdUYyxEd}e2v1{0041@aZvpqZDf` zfF#f+~6{z4=|FK=kZ^BF@{Rc+AI~|#(`a-PoASZ z8}_$}yTBTjbdn7hMu?l0?!Gmor!(&@SRcM2nznD)3K7QSYgtkp*(3YwN(JU=#f6*; z>sxiPD?}H9p`FLuKG7|z6`$Gr=$WIFnv!0xiS1|oJ~X|mVc50^D?zda_@vNgzjz*L zk3>{NaG%u{g&z2nCP$WHO-~^1&a#|dh_OQWpVqcy;soUwYciu#rG-|&8pEY1bzGzc z+p6a%)7SsNC@t3P+A#U0I@(mIs9%fUfv86-4DsQ5)e&|JKXww@;uwe+iU2f`} zCch-?C&~rolMfC)_(H-?58f8HGaPajL1b{& zL<4OK#*5}-I3X1@YceDQAuvdq)*IZlc{w=1YZEHL^)t z^C-`R>J~A9qq7*JUH*!G2+i%TPKuWK5fi>jS)tP4NILHGHI#)^(51BLV}n>xtzI5c3e&v`gRQI&RkeBt?KF~?rEp1fhXgW@LOX<)KXs%*jSPPmDcg;Vr zean5cJV@~w`B>?TGjD|2upBU40z=ar5JYxZ`lb&G-X7D@k6OVmj&Vx^(JU!h~x#Gao6$&N@mxf zIgA5Rrm2fIf;K`?Z(cnP^tiq-s$cnsHlPrr$q6YZWzY5xV6HJGn&PM=G%%jBDtMrN0Fsvv}R4LLvAWY6`GDE@I2(r z*JXnA*d>}hv`KhV7oSkTC;#jA-JOaij-)~2GjDL`SU7hE`E{@0vQU?p(IkY z!nEA)J88ve`q`Foqj~E6y+k0bS$H3v0RPh3;sH<^31)9N7AyJ zUB&@HP;PF{M3p%L0&W9C(4%iMCI?Y-J5`iWMQd~+>A@fGD^Y58g<7>}r^8AzCMd;_ z6+OY{lA9|MhcYHH8a8{$TYUU(oW?i~3O?F*#Q^ppP3ylsqH2gp7lbM`4dM3up;w>i zhhC@#>#}yFrG;_p(rEDgLUbRIcOp+RY&x2@(Q%j2;-T}NP?~m!G}hp4n+M&2@~rP5 zQi4y+F@!Hsm`X)AxIHUJ(+RCrt%IUXrI1)zGAHqu1O9-fk<|`K!3MqljOAFjTVYyn zu*4?o5*T(Y3YHdaXFLNZ8l(`?MmCpG#F*Bb=Aw^nw2Oc6f!7bkGWEg7V<=OqsRX@J zGWc7l(pw%Azd$C?VW_V5<_ci$fUB8GO>C&ngAUzYF^!K9>~B}Dhk@YuBQm@(4zv;( z1c_hvn-EM6CT<$CJLOocme`XKMLR-6?5V$ujiTz(szb0GDw#Y?no0xS`((shV;Xlq zdIrjH6q?=WvnxB20hQTc#XfiR#hE?BXO1#i$V83O)5q2l+z?g;8c9Rg4sO|c`2$)j zmzV0K2%$96v?RoB%B3t=({@aXm+P9#W_MOfaowzt^zNJ2oqQnu#-Z(fK^XB9iPf19 zZcE16DCfMd z!9K>mTe1@Jkalttksq~Lo8EsK!>p`Fax>dJx3soP{DGM>jB`}t(o%^RNlh-yI%F)EU!bV2x zM#3;as3XP=ogh8qx&CGC&RCu*dRPChx8DhqCw z0bO^)D$vooX!!oijC)|N6i-FPq+n4sJ>%Wp4blrF&4?lVgbaA zk1mygmjY|S$azi+ zhcRp@nzkurze@YayHHi5DSFl)BHHnR)zTEz{v9cw!kT7bEedVCI3eL4cGjV+Bm@n~ zVo`W=LG0FT5!mr?%!3J1S0Cyne!M#i3~wlS#IRn+?Yv8#D3e^+r^F`hXFhKpu8}IV zS))Gjfc}@1l^5C=i##A2EC-@qF-Iiz)6GWBi>2Eb?bGq?$7og;V!uG`Ne2(%+Yc&K zj`3*N+eJ#gAgSi_#AZO}-J;iI$eKk0f{VArr!tn%v_6!wY(3u7A8V&Ia-znS1~s1y zYlqn=J+L^D)(G%(6>_`}Oq?dNw>^*hB`QT8RNP>ggJJPJG06iOl-|29eR+| zr?m3TNm>2&F#~nW&@aPVC^w=*(%*e#{I!S!>lXHJoE32B%bnY>J6}qEwBovOj3nmW zoc|@q0?rEURqdT^N=JNXxfn;kwlZ4j;Lm!M$yvsbbV*KDBdiRi;xIj>-E+G`&X~Fl zFX7JR8By;tTwzdrGt8)KH47;fI}3%+egaZt7&^52@(btfpOoz5kz?B2dYr@oo@EU znFC^qqv`Xnd>PBV4TETG4f7?`jS@7U_G{^nN65=*O9Yu$NU=|a+S?OaA-9|CG?ycl zr7ZmVA(_Cgo1pm=eBDsp0kmRT_iYg0nA#$l06UL99h3MC(-5qw$)rtc(vl^RW-uJN zr=~*bE?1Dra)=8SDl~GbAND<3ULM3kE#iSiz|7&M9q8zXOO`Nh311MB!bvLCLaD$u zNtCA1N;5Kb&^5p~;=^^NXz(x6B_O%h4FN^J94d~iIyS4Tw&;w)F_y@C(iZ>dwaB`7 zR?%?wt;r|*p$J8YyTjg$a@tK_N(8s;X~nlJyD9DTVr|{;3ww!o)6D{SW=H zP+`sOnwIzll!DO)Qy-0|q3kBIZNf$=)ayNszMZjoAd?&y6yU# z@<4|!UL#c|N(~m`QtJK*z4a7KH&NQr_F+AyO3a_Edt*Au#uHf=L`#EQ>49I&x~O1P z=+1fWsoOzKEy2nJJ(D6eO7qIWq>Uv_jWS%fUcu?~6SI^Mv9z5hzzru!O{3J$x~G5B zy31cdqApn0NwZ}Cw4&Fjn3VX(#;UaPpDLvNQmr`YC`8)%yBZh`4hp6nR)ZR;h@d>F zE~`|4HIc(g`_L$5c>Ac&Ay~D}d`jxy$d}YV26UQ2uehv&B{vunif5`5w^8-jA+_I8 zVVJys1N2{Hsoe3Ds_bd#r1;ElzUT6a;Ev(OGn31qV(}{s-@;6)Exp4nRH za=bM@EjS)@%jbz3Xf~^VdG>M2R347iFsvoq9un4?ODA7%4%NLGfrTkFQ30;MjlVg{ zRsQIykA|EvDUncoucagj@-UjqP+IEP1)|p2fCigFLm5wSn4T$%Kb(};B@fqzFU-~r zVb#x;>nKeqkt$j!@3Vno<)Uc%^zE_7p83H&i_NG29dn&H@yeGm+|DRXs=^^3cadf4 z>!Vvi^uqD1fCRd1mpl)C;N3y}P?bJ6PsPUT7Sil^$hxK6xxh5&ipOnLH5?drp zaZnE`*im2XK|dS&Ki1olGl9}*K|Q$3O#2g)rJLk~O!D~pr}a4?d z0?7qXVo)7-_DR)shKv7TR3a=q(B^}Lj7b`bVljE2I{CCAWlxLJn7X1X1!1=zxuSHV z7(*Dr&6@PR-|JDHc%aY#Oi8Rn@EisVR*EjVaLPlgf$HO@UO*HbCqD;I@I|Ch-e71liKQc?kuHDZz|kmp$r|6 zwu&d@m^Kecyohf2L%>VhzXC%Q@4oh^sb6H>EOd`ul6WqnD`}bd?0Mei-=to$|H>y2 zg@fNzr`_PyiviIQ|2V#uC&G?vl2Z`tz(>RuKcEV&rG>Ws{+ENDZ5 zcq{~v)7Mjs14kL(4d2F_3(xEvTSl>=B2n7kH~poy@6Q)zsSG9Ixm@6_%7&ckNNutvyU?)zy-ih^B8~{k=hS zmhUp`;s&I?+Q;ON*WWD(R~4WNGKh4f`B$o6S{3bg3;WwICUJQBLBvqtRKL0Nsf*85r9i)2Oas=HQ~+ZOv-Qa) zWJV+VHGRBEt%$EjY2Ozb>u*g}L)+B1r?U&|QK|@jCGyK>40gx1ja8KRuuP6JTT|f7q-|znS#lF78 z_zF08R?HN>FY!I-Qyf)cx(j^#%gCHUV+%js_Fx>c3zF6XFDyF*4VrLxVUEkl z%*)Cuov@PU=ZwfbE2m}Z_4@LqZ{Fu`P_Zbjmor;cmxoWk_{BQlZWMWZets@@1;hDk z@T&v^Ul`E1mv6jj=6f&+XuNrF{XZ6c|9JEL_w?DCosoI`wNHHWe_^&L&4m(`UV1Lf zhThnhrr)DI|F?|H%}J9@&+Ye)L*+QVaOS27UN|E&iewa9YQ6BDm7=r+;MbtG+8OVT z*$J7nCo>DLy`1}G+ZQ}(IJ@hMq=LNxjozoSIV;urvm*k$u+b?X_4$pUH}7Au#t5)p zpA++G1KYgJ44oQLWLSbw?7iO~o!)=6=gY`EoFw1!*k&*Nc>XU_{kX~t^YXEJOh%O# zUYJd#<$n2Vp9k>aq+91NH+f-Re_UO@ZDD5b{f~fBPtAS&=&23wf!uT@1&D=z z&i~&S@Sn;T&o5>7`FX#69c-XVwd(GzU0#@9AK37h-hUY0#&it#!n}Ow@7#H29DASN zk$ZniZJk@tkAo}^e^k4s(9uv!=jC59l%0J&Tnxp9_pe}gDNc}mF~nE zF6c@FgUSax8)c5cVkCKo&#>Il!u*F|HuRkTcKoOK|93w>BeN^%`-azcdg({OdjDzl zFVzpj<9olG=!G*fH>quRKhVlA)K0lFW+}_>5uiOje<0WE<#(kzI>7GZx6KtrpZXoY zi=82NQkuN{w7b%sBW;xIVR(^z;YcrB%mxYM)ki^>%_Hw`PO6$R zdop+KKEKo3eoRdeBH#Q>Z%e1Y9`>+4Pj~k3WOhE_U%E5qLiO^8;bn?u$_p0*zcH-Q zcfDd~p~x=);ofmOq_(Y%y29LU?)qVl1^Z8qLB!%u{r?-o{&W6|(k^yhR=M(1`^{wF^q;tD=4U zt#FdGuJmDjoSw}~hL=CQK4(G~`Q|eZFN)gJ=fSv~UJnIjUbq-KS!Jc^sa_Zg7iG)z zLmsjZP-Y;G4c>8`f0`Q+)vhQKx*>Ce)_yqT%x*p(pDGFn2=v*b{8?UF@SlIe|7&`P z(x$4nal`Ho+;zW&((ar}&z-y~!TYUh*Ty7d(-nGQn@iB&KY(~hAE!GH#5X5;$9aA? zRjz-C-%YJ@o80IfPj7o(tt%bo^Y5x%o$_ffEMM&%w>gW|O?i*_*85^7K?cCK1i;ij z7p!=Ezxu~%*rg}T%VUoF#}2W-*#80Sz0&=^{K^0SIXxb+)lTb##^*6}{z`vxeEtjG zvy9+>Lua{xheEOK@Z*}n9NbmVPe446W_%Iy5b6?E^7+UKv-32dfbf(i* zgBa%Jef}8RI_0e|ZuIlP&W_Z9q3yo)#pW7K>!7+9`;xmBC@F>KN~fz5!lEDW`@~)$ z91mdcmHy;EPl10X|Kr=*?lol=IX5S@t_t(bcRTpkn6)&|OGTsWaatT8?B|7fetRNc zCm)7kbFz+y;h1kl@`qt&%OamWZ--4=z`iT=jvJlNtNr}L^j;XQ-$vn7xfkZ+Km2+> zr1kzz6&x2yM-O?J-~ZSF(_iu@|Nn)&FXXcl0^mz~YNJl4<1TycxyR|~=z~+d^tL%4 zr%!|>_~v`Dt0E~2((T^ybZ4^^!%?so=H($~y%Avp{hw#Z$-(Rh%5`~pK9uzP`ChwM=>M=h zc(3#?=<%Dt{ImJ-+c4bk|BdT?(E-L?ZSg3;hP=oB-}JBDRV1o|t$@5(rneoCMMbSV z;)U(5RM6jiyU%@!RJ-izi%>r8h3&5DB&fFajo**g;69jN&;NGwk>L-{Puu&jy~uAm z!5`l7Vy7)hdO>GRYUXYy>O_ZSiNdB?EvjzvI6h_}L;B3%&f}=f7S*F~0fZd=1|unc?5h|&mhNL`pOAIWit zlcM2xAP->w3H|@f|Naa9KcLrrPNuzo=RDuTj33j9etbV6%*)@-77Sbc<`JL$Z|I)A z82bHv>$jo%?Gt+Jb&>b{_j*pZwJcn?)eCF7Pw@3WzIg9|uBCkb&S(FbyEi3WfP{|s z{GNl4)2DLu6TNVavmJIq9ojeQ9G~C29)ZshkgX@a|Ng=AcLD#y!XChX`u|>9@Sp!| z{(H~yjtg(!UBgrBtfH!kTVlwzYWG3@=>VX3Q=cC?UKsA8&;G!f>va_x7O<**S$SfF{Tt z*o1GR#@eD5W>=^cwwew67=Lga=zr+UxDWmN^8ercd__BSo!*|=d9OV)D=W)O|6=C_ zIk@vaeb3ix1W5dR@ma9vTMA#tefl5r@#;3~gZXcFRwv=gQs4ZxL%zt0&1W85zcXXC zKkgeZ2Ky1h`#SHq(J3Uw;4pY$KK=`vJLw{ShHle!?$b5)sq}TXd+r1N{i*-GwBSGg zU40kA-D}T%j@SRC5BY<9{vA5Uef|LW2V~T+-^J&g8y4^J@rRH9H3ii?BoB}uP)VD- z{Ht+AI@e#>x!()lix;lwBlp6^U@w9_YW2c)S92=yko?(QL?#Slah_$+6zTSluZSWK z-b#3A{of1rpZL%D|C3V6T+&z{NVHL z%dZvs<|pL$As+a^9<06%E!Eu(zWO|#zmz@bck$pw@!NdyV1C@T6jah&xsum^ncKO@B78z17g4eC9Rc=#zVmGALe z(c!Zfd3a&G?V)^6y7Qy$r|Ta+Kb{=v(+?0Ya8kBlg?AkC%jCe-*9yIGvCDQ4Xzg2% zjF6wo$|}?i{u%aCTjqwiVP6@9BrPIyCIR@(RO@cixkSi#4Es zqpS1<-mBEOo>v!I39%P0hI|i-UQ_CYd49pQee?I8{!eV&^I$yPxo?-k7jNRncQ1;! z`No}(s|T(w^{qd}E*##Z_TYNeu1d8bFE6hHd(svK|M*SoAU^yj|9@lXzm|8{wpkd~ z`hfofyL4UvKKb=kpOa;cz6j03AP>`^Uc9sslc(2%z0fwRv#A9(rPAm6j@ArBAkHmuqdSM&z zAK0I_wd4NFw)ptqpZo`c{dW8-{`2*Jf8FM>J~$uN1N6V@r^?7Q=-_1;KKt|LL0 z2tRXYnP>Q{=N4u|K4)TC2lQ*fA;qBno5W#10589I{qUEpMxVc54DntNhrf8odH$zU zH(q}j-oqqDdf{r<=Sioa{~tC9g9DcRi~&*&NV&&IGlE9p#F?)6@n<9K;UcnH4NpXsA8KVGWyo{eEE_?HSoe^&U% zU(C7zeZKr_A}7AmNWIA06Yg0TYheCHx9W4f{8Y4El$BZoeEtSse}aqOdT9NqvBTAU z>qoKkQYxk^&C#&j9ez{40L{*Kxkz>#_PreEj9>zqh_0H_OXW zzCR%I?$#PFoZJmBHUI(f!uV z;4;_1`pp_}PhaGgrM$%Fqqt>k$M&h}BOpL$SRUs56|f1?5`Y7L=D2moHK+LX$8CuV zSb{ytzqj<>dhc`o;HLbSy!Ylm|AhY)Jx(D*>g74?d2Uu1T@b~-rd^Deb^c@`cU+?#?@cX|ruETWv^5;GNPmAH?ZcxjRsP|rf za`)k+-^0HjU)#e^({ba_ldwkCE*U(zduukFUl7<(J7X-gS@UKS#^&nhb;J0*u*$2j zEE9j&v?{N*s<&#-dGY7lmMkw@y&%TJd-axIvF9a0BJ<$fs`t4g_gAj8HfO4N zXpqkgNq0t(xv|5kpypyBYSw8=oOc4CHjy0xz;07*MG{N|F6!^<;HXjezGYlvh7e(g1FY`K1}{F~R?Qbk9}d$Sp$r2L@r}DW?bl>} zKDQg@!Q&SO8^e zcmV9>^qcW#ceWcJ`}8AUSxT|9auOn%d}SxaAn(JqRc}4D^xj*YK;Q9Y@DG<2{W16- zlv-OnAKWMi%R||gu93USb4ZFsLYc-hMH_tlw;#l?cYu3d{41T!_GuW_;DtwZo2B`4Z=>sk3R(1hYl|0CWVh zt}TflfiiSkGX9`i&@7v=S->qD$`A^yK*nA-n;MJd(OM}oOgfs+;fH-;gu%H<2IwH^%+lO@b``WIO8h!s+^i} zq=5kc`e2(bt)XF5Y;S4uZ~A41CD^HHg}th)%NDlD@|Z)#9*;z{?~JE4w<_Jo^V>sK z?(g{FRu4~GnHJ}cY3159=RcSA+YwK58g2`!v-ORFJ#&V> zv?Qg(3fqj(_e_q*BhG)&Yfg(a>|^!XjY`*glJBzRe~|4A9i^|q&md+q|No2RlkkHO z<-toXdgcGJZws|2-}AaX&})T0$ip_+?vmHwz{M?_5965Dy3=ooZrP!W2-zf&@x8`< z#^YHn$OGGM`*F%bm>(vbO{rnJmNsBr?mtRlD(`2t$M4127PJULLkT4|5wDC{Yfaq1x({Y?asgDwo$V z@>Lke4AW5_6@OySqCL2mMrP1|!7%YgA8=H~$B5^NA?$}d3X4iA*JGp*AaNSV- zfZYJYTc`y6UXlMx7K6iK&I)XajP-EG>W|RrOZfj^A4J$0Vf9NY_!gzUZdSk!5fQz;3T)q2l}O`>Mb{gn#jp;dofjg^Md4*vT>y5&Ip%Q z^_jFMSMc>8wwvPfh#QNdtLn9e{l|$V1TiIBoFGOyrs}#fK#ASg8?` zrClMFO8;y7a@_zMxxxZ-Y}O&|&_SLH8)K?ZOrDzLX%k~RaK7c;lJ=iJdwT4Qd`urS zX=O>`e#2t;&H*Zv4S&C8PvNL`H7D>>89(W?R3dLgJB^y9=m)Mhq#ZE z-|*SGI=Z`G3e`kLu%NqwoE!UcHZ7c;gXz(z~3N=44xrIty;b5 z*M-{G{JyP%v%a@rEnCmOu)6qLGSxI&_H|&C(HR^@K_ByCiKpU$Hc*@2j?Q*MY8%a! zLqpGYeK;4}nvhFQS&BlI@C`;I+z$wOh4y+~=5>ACXnXO;8RDd+iHS+E(5R5-C)9=1 Qj6 Date: Thu, 30 Apr 2015 20:44:43 +0200 Subject: [PATCH 24/32] Improved unloadPerson function Removed caller parameter. --- addons/common/functions/fnc_unloadPerson.sqf | 53 +++++++------------ .../functions/fnc_actionUnloadUnit.sqf | 2 +- 2 files changed, 20 insertions(+), 35 deletions(-) diff --git a/addons/common/functions/fnc_unloadPerson.sqf b/addons/common/functions/fnc_unloadPerson.sqf index 33c0e9c0c2..60e4f56d7d 100644 --- a/addons/common/functions/fnc_unloadPerson.sqf +++ b/addons/common/functions/fnc_unloadPerson.sqf @@ -1,59 +1,44 @@ -/** - * fn_unloadPerson_f.sqf - * @Descr: Unload a person from a vehicle - * @Author: Glowbal +/* + * Author: Glowbal + * Unload a person from a vehicle * - * @Arguments: [caller OBJECT, unit OBJECT] - * @Return: BOOL Returns true if succesfully unloaded person - * @PublicAPI: true + * Arguments: + * 0: unit + * + * Return Value: + * Returns true if succesfully unloaded person + * + * Public: No */ #include "script_component.hpp" #define GROUP_SWITCH_ID QUOTE(FUNC(loadPerson)) -private ["_caller", "_unit","_vehicle", "_loaded"]; -_caller = [_this, 0, ObjNull,[ObjNull]] call BIS_fnc_Param; -_unit = [_this, 1, ObjNull,[ObjNull]] call BIS_fnc_Param; +private ["_unit","_vehicle", "_loaded", "_emptyPos"]; +_unit = _this select 0; _vehicle = vehicle _unit; if (_vehicle == _unit) exitwith {false;}; if !(speed _vehicle <1 && (((getpos _vehicle) select 2) < 2)) exitwith {false;}; -if (!([_caller] call FUNC(isAwake))) exitwith{false;}; -moveOut _unit; +_emptyPos = ((getPos _vehicle) findEmptyPosition [0, 10, typeof _unit]); +if (count _emptyPos == 0) exitwith {false}; + +_unit setPos _emptyPos; unassignVehicle _unit; if (!alive _unit) then { _unit action ["Eject", vehicle _unit]; }; -[_unit, false, GROUP_SWITCH_ID, side group _caller] call FUNC(switchToGroupSide); +[_unit, false, GROUP_SWITCH_ID, side group _unit] call FUNC(switchToGroupSide); _loaded = _vehicle getvariable [QGVAR(loaded_persons),[]]; _loaded = _loaded - [_unit]; _vehicle setvariable [QGVAR(loaded_persons),_loaded,true]; if (!([_unit] call FUNC(isAwake))) then { - _handle = [_unit,_vehicle] spawn { - private ["_unit","_vehicle"]; - _unit = _this select 0; - _vehicle = _this select 1; - waituntil {vehicle _unit != _vehicle}; - [_unit,([_unit] call FUNC(getDeathAnim)), 1, true] call FUNC(doAnimation); - [format["Unit should move into death anim: %1", _unit]] call FUNC(debug); - }; -} else { - if ([_unit] call FUNC(isArrested)) then { - _handle = [_unit,_vehicle] spawn { - _unit = _this select 0; - _vehicle = _this select 1; - waituntil {vehicle _unit != _vehicle}; - [_unit,"UnaErcPoslechVelitele2", 1] call FUNC(doAnimation); - [format["Unit should move into arrested anim: %1", _unit]] call FUNC(debug); - }; - } else { - [format["Unit should move into normal anim: %1", _unit]] call FUNC(debug); - }; + [_unit,([_unit] call FUNC(getDeathAnim)), 1, true] call FUNC(doAnimation); }; -true; \ No newline at end of file +true; diff --git a/addons/medical/functions/fnc_actionUnloadUnit.sqf b/addons/medical/functions/fnc_actionUnloadUnit.sqf index fd56e6d6bd..bb66147f2a 100644 --- a/addons/medical/functions/fnc_actionUnloadUnit.sqf +++ b/addons/medical/functions/fnc_actionUnloadUnit.sqf @@ -24,7 +24,7 @@ _drag = if (count _this > 2) then {_this select 2} else {false}; if (vehicle _target == _target) exitwith {}; if (([_target] call cse_fnc_isAwake)) exitwith {}; -if ([_caller, _target] call EFUNC(common,unloadPerson)) then { +if ([_target] call EFUNC(common,unloadPerson)) then { if (_drag) then { if ((vehicle _caller) == _caller) then { [[_caller, _target, true], QUOTE(DFUNC(actionDragUnit)), _caller, false] call EFUNC(common,execRemoteFnc); // TODO replace by event From 8d358f3ab577b5dabb9f99bb7f6d60d641eca003 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 30 Apr 2015 20:44:59 +0200 Subject: [PATCH 25/32] can only carry/drag units that are not in a vehicle --- addons/dragging/functions/fnc_canCarry.sqf | 2 +- addons/dragging/functions/fnc_canDrag.sqf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/dragging/functions/fnc_canCarry.sqf b/addons/dragging/functions/fnc_canCarry.sqf index 0fc5c074d6..6472124aef 100644 --- a/addons/dragging/functions/fnc_canCarry.sqf +++ b/addons/dragging/functions/fnc_canCarry.sqf @@ -22,4 +22,4 @@ if !([_unit, _target, []] call EFUNC(common,canInteractWith)) exitWith {false}; // a static weapon has to be empty for dragging if ((typeOf _target) isKindOf "StaticWeapon" && {count crew _target > 0}) exitWith {false}; -alive _target && {_target getVariable [QGVAR(canCarry), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})} +alive _target && {vehicle _target == _target} && {_target getVariable [QGVAR(canCarry), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})} diff --git a/addons/dragging/functions/fnc_canDrag.sqf b/addons/dragging/functions/fnc_canDrag.sqf index 92744553fd..7eedfce179 100644 --- a/addons/dragging/functions/fnc_canDrag.sqf +++ b/addons/dragging/functions/fnc_canDrag.sqf @@ -22,4 +22,4 @@ if !([_unit, _target, []] call EFUNC(common,canInteractWith)) exitWith {false}; // a static weapon has to be empty for dragging if ((typeOf _target) isKindOf "StaticWeapon" && {count crew _target > 0}) exitWith {false}; -alive _target && {_target getVariable [QGVAR(canDrag), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})}; \ No newline at end of file +alive _target && {vehicle _target == _target} && {_target getVariable [QGVAR(canDrag), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})}; \ No newline at end of file From 67370f334028fdabb381515fe137907fbb46bc85 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 30 Apr 2015 20:49:38 +0200 Subject: [PATCH 26/32] Handles waking up --- addons/common/XEH_postInit.sqf | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 7dc07743ed..53de6b5d69 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -73,7 +73,7 @@ if (_currentVersion != _previousVersion) then { // Synced ACE events // Handle JIP scenario if(!isServer) then { - ["PlayerJip", { + ["PlayerJip", { diag_log text format["[ACE] * JIP event synchronization initialized"]; ["SEH_all", [player]] call FUNC(serverEvent); }] call FUNC(addEventHandler); @@ -112,7 +112,7 @@ enableCamShake true; // Set the name for the current player ["playerChanged", { EXPLODE_2_PVT(_this,_newPlayer,_oldPlayer); - + if (alive _newPlayer) then { [_newPlayer] call FUNC(setName) }; @@ -227,6 +227,7 @@ GVAR(OldIsCamera) = false; ["displayTextStructured", FUNC(displayTextStructured)] call FUNC(addEventhandler); ["displayTextPicture", FUNC(displayTextPicture)] call FUNC(addEventhandler); +["medical_onUnconscious", {if (local (_this select 0) && {!(_this select 1)}) then {[ _this select 0, false, QUOTE(FUNC(loadPerson)), west /* dummy side */] call FUNC(switchToGroupSide);};}] call FUNC(addEventhandler); ["notOnMap", {!visibleMap}] call FUNC(addCanInteractWithCondition); ["isNotInside", { @@ -243,10 +244,10 @@ GVAR(OldIsCamera) = false; if(isMultiplayer && { time > 0 || isNull player } ) then { // We are jipping! Get ready and wait, and throw the event [{ - if(!(isNull player)) then { + if(!(isNull player)) then { ["PlayerJip", [player] ] call FUNC(localEvent); [(_this select 1)] call cba_fnc_removePerFrameHandler; - }; + }; }, 0, []] call cba_fnc_addPerFrameHandler; }; From 8c8e310d663ad46816d84d4c6f85a6bceb0f1dad Mon Sep 17 00:00:00 2001 From: commy2 Date: Thu, 30 Apr 2015 21:00:30 +0200 Subject: [PATCH 27/32] handle cursor mode --- addons/interact_menu/functions/fnc_handlePlayerChanged.sqf | 6 +++--- addons/interact_menu/functions/fnc_keyDown.sqf | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf index f1f6e78f6d..cff8bb1048 100644 --- a/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf +++ b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf @@ -16,9 +16,9 @@ EXPLODE_2_PVT(_this,_newUnit,_oldUnit); // add to new unit private "_ehid"; _ehid = [_newUnit, "DefaultAction", {GVAR(openedMenuType) >= 0}, { - if !(GVAR(actionOnKeyRelease)) then { - [GVAR(openedMenuType),true] call FUNC(keyUp); - }; + if !(GVAR(actionOnKeyRelease)) then { + [GVAR(openedMenuType),true] call FUNC(keyUp); + }; }] call EFUNC(common,addActionEventHandler); _newUnit setVariable [QGVAR(AAEHID), _ehid]; diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index 9f1d0b9bcb..d4e460c10f 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -52,6 +52,12 @@ if (GVAR(useCursorMenu)) then { GVAR(cursorPos) = [_this select 1, _this select 2, 0]; }; }]; + // handles LMB in cursor mode when action on keyrelease is disabled + ((finddisplay 91919) displayctrl 91921) ctrlAddEventHandler ["MouseButtonDown", { + if !(GVAR(actionOnKeyRelease)) then { + [GVAR(openedMenuType),true] call FUNC(keyUp); + }; + }]; setMousePosition [0.5, 0.5]; }; From 2f763a23101872f310f25f54a3ec5ef54bbdd125 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 30 Apr 2015 21:17:33 +0200 Subject: [PATCH 28/32] Disabled client setting for menu style --- addons/medical/ACE_Settings.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index 36d882c9d8..453c6962d2 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -155,6 +155,6 @@ class ACE_Settings { typeName = "SCALAR"; value = 0; values[] = {"$STR_ACE_Medical_useSelection", "$STR_ACE_Medical_useRadial"}; - isClientSettable = 1; + // isClientSettable = 1; }; }; From e7290feaa20c90afd5dbd6074a87722fd4e21584 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 30 Apr 2015 21:20:04 +0200 Subject: [PATCH 29/32] disabled radial option, so it isn't server selectable either --- addons/medical/ACE_Settings.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index 453c6962d2..ef4a4f0162 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -154,7 +154,7 @@ class ACE_Settings { description = "$STR_ACE_Medical_menuTypeDescription"; typeName = "SCALAR"; value = 0; - values[] = {"$STR_ACE_Medical_useSelection", "$STR_ACE_Medical_useRadial"}; + values[] = {"$STR_ACE_Medical_useSelection"/*, "$STR_ACE_Medical_useRadial"*/}; // isClientSettable = 1; }; }; From b52906800fbd8c9cde993828010610fee695efdc Mon Sep 17 00:00:00 2001 From: bux578 Date: Thu, 30 Apr 2015 21:20:41 +0200 Subject: [PATCH 30/32] add translation guide --- documentation/development/how-to-translate-ace3.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/documentation/development/how-to-translate-ace3.md b/documentation/development/how-to-translate-ace3.md index b7e23fa575..576cd3a98b 100644 --- a/documentation/development/how-to-translate-ace3.md +++ b/documentation/development/how-to-translate-ace3.md @@ -24,3 +24,7 @@ This page describes in short how you can help translating ACE3 into your languag (The last three steps require some git knowledge, but there are a lot of tutorials out there) [GitHub for Windows help](https://windows.github.com/help.html) + + +#### Community Translation Guides +**Spanish:** [https://gist.github.com/Legolasindar/bf8a3b09cb835f72501f](https://gist.github.com/Legolasindar/bf8a3b09cb835f72501f) From 85669a9e92c28093114abf753a1ecf13f0deef4d Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 30 Apr 2015 22:01:09 +0200 Subject: [PATCH 31/32] Convert Medical stringtable key names to lowercase --- addons/medical/ACE_Medical_Actions.hpp | 162 +++++----- addons/medical/ACE_Medical_SelfActions.hpp | 80 ++--- addons/medical/ACE_Medical_Treatments.hpp | 22 +- addons/medical/CfgVehicles.hpp | 32 +- addons/medical/CfgWeapons.hpp | 96 +++--- .../fnc_actionCheckBloodPressureLocal.sqf | 22 +- .../functions/fnc_actionCheckPulseLocal.sqf | 18 +- .../functions/fnc_actionCheckResponse.sqf | 4 +- .../medical/functions/fnc_actionDiagnose.sqf | 16 +- .../fnc_displayPatientInformation.sqf | 10 +- .../functions/fnc_displayTriageCard.sqf | 2 +- .../medical/functions/fnc_getTriageStatus.sqf | 10 +- .../fnc_treatmentAdvanced_bandage.sqf | 2 +- .../fnc_treatmentAdvanced_medication.sqf | 2 +- addons/medical/functions/fnc_treatmentIV.sqf | 2 +- .../functions/fnc_treatmentTourniquet.sqf | 2 +- addons/medical/stringtable.xml | 292 +++++++++--------- addons/medical/ui/triagecard.hpp | 12 +- 18 files changed, 393 insertions(+), 393 deletions(-) diff --git a/addons/medical/ACE_Medical_Actions.hpp b/addons/medical/ACE_Medical_Actions.hpp index 98c61a330c..9052df81da 100644 --- a/addons/medical/ACE_Medical_Actions.hpp +++ b/addons/medical/ACE_Medical_Actions.hpp @@ -21,7 +21,7 @@ class ACE_Head { }; // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(treatment)); @@ -32,47 +32,47 @@ class ACE_Head { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\bandage.paa); }; class CheckPulse: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; + displayName = "$STR_ACE_Medical_Actions_CheckPulse"; condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(treatment)); EXCEPTIONS icon = ""; }; class CheckBloodPressure: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; + displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure"; condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(treatment)); EXCEPTIONS }; class CheckResponse: CheckPulse { - displayName = "$STR_ACE_MEDICAL_CHECK_RESPONSE"; + displayName = "$STR_ACE_Medical_Check_Response"; condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(treatment)); EXCEPTIONS }; class Diagnose: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Diagnose"; + displayName = "$STR_ACE_Medical_Actions_Diagnose"; condition = QUOTE([ARR_4(_player, _target, 'head', 'Diagnose')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'Diagnose')] call DFUNC(treatment)); EXCEPTIONS @@ -100,7 +100,7 @@ class ACE_Torso { icon = PATHTOF(UI\icons\bandage.paa); }; class PlaceInBodyBag { - displayName = "$STR_ACE_MEDICAL_PlaceInBodyBag"; + displayName = "$STR_ACE_Medical_PlaceInBodyBag"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'body', 'BodyBag')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'BodyBag')] call DFUNC(treatment)); @@ -111,7 +111,7 @@ class ACE_Torso { enableInside = 1; }; class TriageCard { - displayName = "$STR_ACE_MEDICAL_ACTIONS_TriageCard"; + displayName = "$STR_ACE_Medical_Actions_TriageCard"; distance = 2.0; condition = "true"; statement = QUOTE([ARR_2(_target, true)] call DFUNC(displayTriageCard)); @@ -125,7 +125,7 @@ class ACE_Torso { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(treatment)); @@ -137,42 +137,42 @@ class ACE_Torso { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\bandage.paa); }; class SurgicalKit: fieldDressing { - displayName = "$STR_ACE_MEDICAL_USE_SURGICALKIT"; + displayName = "$STR_ACE_Medical_Use_SurgicalKit"; condition = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\surgicalKit.paa); }; class PersonalAidKit: fieldDressing { - displayName = "$STR_ACE_MEDICAL_USE_AID_KIT"; + displayName = "$STR_ACE_Medical_Use_Aid_Kit"; condition = QUOTE([ARR_4(_player, _target, 'body', 'PersonalAidKit')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'PersonalAidKit')] call DFUNC(treatment)); EXCEPTIONS icon = ""; }; class CPR: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CPR"; + displayName = "$STR_ACE_Medical_Actions_CPR"; condition = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(treatment)); EXCEPTIONS @@ -203,7 +203,7 @@ class ACE_ArmLeft { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(treatment)); @@ -214,28 +214,28 @@ class ACE_ArmLeft { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\bandage.paa); }; class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + displayName = "$STR_ACE_Medical_Actions_Tourniquet"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(treatment)); EXCEPTIONS @@ -263,75 +263,75 @@ class ACE_ArmLeft { icon = PATHTOF(UI\icons\autoInjector.paa); }; class BloodIV: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000"; + displayName = "$STR_ACE_Medical_Actions_Blood4_1000"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\iv.paa); }; class BloodIV_500: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500"; + displayName = "$STR_ACE_Medical_Actions_Blood4_500"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class BloodIV_250: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250"; + displayName = "$STR_ACE_Medical_Actions_Blood4_250"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_1000"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV_500: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_500"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV_250: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_250"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000"; + displayName = "$STR_ACE_Medical_Actions_Saline4_1000"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV_500: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500"; + displayName = "$STR_ACE_Medical_Actions_Saline4_500"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV_250: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250"; + displayName = "$STR_ACE_Medical_Actions_Saline4_250"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class CheckPulse: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; + displayName = "$STR_ACE_Medical_Actions_CheckPulse"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(treatment)); EXCEPTIONS icon = ""; }; class CheckBloodPressure: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; + displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(treatment)); EXCEPTIONS }; class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(treatment)); EXCEPTIONS @@ -361,7 +361,7 @@ class ACE_ArmRight { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(treatment)); @@ -372,26 +372,26 @@ class ACE_ArmRight { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(treatment)); EXCEPTIONS }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(treatment)); EXCEPTIONS }; class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + displayName = "$STR_ACE_Medical_Actions_Tourniquet"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(treatment)); EXCEPTIONS @@ -417,75 +417,75 @@ class ACE_ArmRight { EXCEPTIONS }; class BloodIV: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000"; + displayName = "$STR_ACE_Medical_Actions_Blood4_1000"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\iv.paa); }; class BloodIV_500: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500"; + displayName = "$STR_ACE_Medical_Actions_Blood4_500"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class BloodIV_250: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250"; + displayName = "$STR_ACE_Medical_Actions_Blood4_250"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_1000"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV_500: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_500"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV_250: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_250"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000"; + displayName = "$STR_ACE_Medical_Actions_Saline4_1000"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV_500: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500"; + displayName = "$STR_ACE_Medical_Actions_Saline4_500"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV_250: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250"; + displayName = "$STR_ACE_Medical_Actions_Saline4_250"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class CheckPulse: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; + displayName = "$STR_ACE_Medical_Actions_CheckPulse"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(treatment)); EXCEPTIONS icon = ""; }; class CheckBloodPressure: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; + displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(treatment)); EXCEPTIONS }; class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(treatment)); EXCEPTIONS @@ -517,7 +517,7 @@ class ACE_LegLeft { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(treatment)); @@ -528,26 +528,26 @@ class ACE_LegLeft { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(treatment)); EXCEPTIONS }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(treatment)); EXCEPTIONS }; class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + displayName = "$STR_ACE_Medical_Actions_Tourniquet"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(treatment)); EXCEPTIONS @@ -574,62 +574,62 @@ class ACE_LegLeft { EXCEPTIONS }; class BloodIV: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000"; + displayName = "$STR_ACE_Medical_Actions_Blood4_1000"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\iv.paa); }; class BloodIV_500: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500"; + displayName = "$STR_ACE_Medical_Actions_Blood4_500"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class BloodIV_250: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250"; + displayName = "$STR_ACE_Medical_Actions_Blood4_250"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_1000"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV_500: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_500"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV_250: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_250"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000"; + displayName = "$STR_ACE_Medical_Actions_Saline4_1000"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV_500: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500"; + displayName = "$STR_ACE_Medical_Actions_Saline4_500"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV_250: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250"; + displayName = "$STR_ACE_Medical_Actions_Saline4_250"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(treatment)); EXCEPTIONS @@ -660,7 +660,7 @@ class ACE_LegRight { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(treatment)); @@ -671,26 +671,26 @@ class ACE_LegRight { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(treatment)); EXCEPTIONS }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(treatment)); EXCEPTIONS }; class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + displayName = "$STR_ACE_Medical_Actions_Tourniquet"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(treatment)); EXCEPTIONS @@ -716,62 +716,62 @@ class ACE_LegRight { EXCEPTIONS }; class BloodIV: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000"; + displayName = "$STR_ACE_Medical_Actions_Blood4_1000"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\iv.paa); }; class BloodIV_500: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500"; + displayName = "$STR_ACE_Medical_Actions_Blood4_500"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class BloodIV_250: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250"; + displayName = "$STR_ACE_Medical_Actions_Blood4_250"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_1000"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV_500: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_500"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV_250: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_250"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000"; + displayName = "$STR_ACE_Medical_Actions_Saline4_1000"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV_500: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500"; + displayName = "$STR_ACE_Medical_Actions_Saline4_500"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV_250: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250"; + displayName = "$STR_ACE_Medical_Actions_Saline4_250"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(treatment)); EXCEPTIONS diff --git a/addons/medical/ACE_Medical_SelfActions.hpp b/addons/medical/ACE_Medical_SelfActions.hpp index add07c8262..5b98448664 100644 --- a/addons/medical/ACE_Medical_SelfActions.hpp +++ b/addons/medical/ACE_Medical_SelfActions.hpp @@ -1,5 +1,5 @@ class Medical { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Medical"; + displayName = "$STR_ACE_Medical_Actions_Medical"; runOnHover = 1; hotkey = "M"; exceptions[] = {"isNotInside"}; @@ -29,7 +29,7 @@ class Medical { }; // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -40,35 +40,35 @@ class Medical { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\bandage.paa); }; class CheckPulse: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; + displayName = "$STR_ACE_Medical_Actions_CheckPulse"; condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(treatment)); icon = ""; }; class CheckBloodPressure: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; + displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure"; condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(treatment)); @@ -100,7 +100,7 @@ class Medical { }; class TriageCard { - displayName = "$STR_ACE_MEDICAL_ACTIONS_TriageCard"; + displayName = "$STR_ACE_Medical_Actions_TriageCard"; distance = 2.0; condition = "true"; exceptions[] = {"isNotInside"}; @@ -113,7 +113,7 @@ class Medical { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -124,21 +124,21 @@ class Medical { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(treatment)); @@ -168,7 +168,7 @@ class Medical { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -179,28 +179,28 @@ class Medical { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\bandage.paa); }; class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + displayName = "$STR_ACE_Medical_Actions_Tourniquet"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(treatment)); @@ -228,20 +228,20 @@ class Medical { icon = PATHTOF(UI\icons\autoInjector.paa); }; class CheckPulse: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; + displayName = "$STR_ACE_Medical_Actions_CheckPulse"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(treatment)); icon = ""; }; class CheckBloodPressure: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; + displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(treatment)); }; class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(treatment)); @@ -270,7 +270,7 @@ class Medical { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -281,26 +281,26 @@ class Medical { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(treatment)); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(treatment)); }; class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + displayName = "$STR_ACE_Medical_Actions_Tourniquet"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(treatment)); @@ -326,20 +326,20 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Epinephrine')] call DFUNC(treatment)); }; class CheckPulse: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; + displayName = "$STR_ACE_Medical_Actions_CheckPulse"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(treatment)); icon = ""; }; class CheckBloodPressure: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; + displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(treatment)); }; class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(treatment)); @@ -369,7 +369,7 @@ class Medical { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -380,26 +380,26 @@ class Medical { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(treatment)); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(treatment)); }; class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + displayName = "$STR_ACE_Medical_Actions_Tourniquet"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(treatment)); @@ -426,7 +426,7 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Epinephrine')] call DFUNC(treatment)); }; class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(treatment)); @@ -456,7 +456,7 @@ class Medical { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -467,26 +467,26 @@ class Medical { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(treatment)); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(treatment)); }; class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + displayName = "$STR_ACE_Medical_Actions_Tourniquet"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(treatment)); @@ -512,7 +512,7 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Epinephrine')] call DFUNC(treatment)); }; class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(treatment)); diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index fced8c93bf..4f47e68a0b 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -56,8 +56,8 @@ class ACE_Medical_Actions { litter[] = {}; }; class BodyBag: Bandage { - displayName = "$STR_ACE_MEDICAL_PlaceInBodyBag"; - displayNameProgress = "$STR_ACE_MEDICAL_PlacingInBodyBag"; + displayName = "$STR_ACE_Medical_PlaceInBodyBag"; + displayNameProgress = "$STR_ACE_Medical_PlacingInBodyBag"; treatmentLocations[] = {"All"}; requiredMedic = 0; treatmentTime = 2; @@ -72,8 +72,8 @@ class ACE_Medical_Actions { litter[] = {}; }; class Diagnose: Bandage { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Diagnose"; - displayNameProgress = "$STR_ACE_MEDICAL_ACTIONS_Diagnosing"; + displayName = "$STR_ACE_Medical_Actions_Diagnose"; + displayNameProgress = "$STR_ACE_Medical_Actions_Diagnosing"; treatmentLocations[] = {"All"}; requiredMedic = 0; treatmentTime = 1; @@ -225,7 +225,7 @@ class ACE_Medical_Actions { }; class CheckPulse: fieldDressing { displayName = ""; - displayNameProgress = "$STR_ACE_MEDICAL_CHECK_PULSE_CONTENT"; + displayNameProgress = "$STR_ACE_Medical_Check_Pulse_CONTENT"; treatmentLocations[] = {"All"}; requiredMedic = 0; treatmentTime = 2; @@ -240,11 +240,11 @@ class ACE_Medical_Actions { }; class CheckBloodPressure: CheckPulse { callbackSuccess = QUOTE(DFUNC(actionCheckBloodPressure)); - displayNameProgress = "$STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_CONTENT"; + displayNameProgress = "$STR_ACE_Medical_Check_Bloodpressure_CONTENT"; }; class CheckResponse: CheckPulse { callbackSuccess = QUOTE(DFUNC(actionCheckResponse)); - displayNameProgress = "$STR_ACE_MEDICAL_CHECK_RESPONSE_CONTENT"; + displayNameProgress = "$STR_ACE_Medical_Check_Response_CONTENT"; }; class RemoveTourniquet: CheckPulse { treatmentTime = 2.5; @@ -252,8 +252,8 @@ class ACE_Medical_Actions { condition = QUOTE([ARR_2(_this select 1, _this select 2)] call FUNC(hasTourniquetAppliedTo)); }; class CPR: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CPR"; - displayNameProgress = "$STR_ACE_MEDICAL_ACTIONS_PerformingCPR"; + displayName = "$STR_ACE_Medical_Actions_CPR"; + displayNameProgress = "$STR_ACE_Medical_Actions_PerformingCPR"; treatmentLocations[] = {"All"}; requiredMedic = 0; treatmentTime = 15; @@ -272,8 +272,8 @@ class ACE_Medical_Actions { litter[] = {}; }; class BodyBag: fieldDressing { - displayName = "$STR_ACE_MEDICAL_PlaceInBodyBag"; - displayNameProgress = "$STR_ACE_MEDICAL_PlacingInBodyBag"; + displayName = "$STR_ACE_Medical_PlaceInBodyBag"; + displayNameProgress = "$STR_ACE_Medical_PlacingInBodyBag"; treatmentLocations[] = {"All"}; requiredMedic = 0; treatmentTime = 2; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 3d77a24172..6149c57afd 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -444,7 +444,7 @@ class CfgVehicles { // Create a consolidates medical menu for treatment while boarded class ACE_MainActions { class Medical { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Medical"; + displayName = "$STR_ACE_Medical_Actions_Medical"; runOnHover = 1; exceptions[] = {"isNotInside"}; condition = QUOTE((vehicle _target != _target && vehicle _target == vehicle _player) || GVAR(menuTypeStyle) == 1); @@ -653,7 +653,7 @@ class CfgVehicles { side = -1; model = QUOTE(PATHTOF(data\bodybag.p3d)); icon = ""; - displayName = $STR_ACE_MEDICAL_BODYBAG_DISPLAY; + displayName = $STR_ACE_Medical_Bodybag_Display; EGVAR(dragging,canDrag) = 1; EGVAR(dragging,dragPosition[]) = {0,1.2,0}; EGVAR(dragging,dragDirection) = 0; @@ -706,7 +706,7 @@ class CfgVehicles { class ACE_fieldDressingItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_BANDAGE_BASIC_DISPLAY; + displayName = $STR_ACE_Medical_Bandage_Basic_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -719,7 +719,7 @@ class CfgVehicles { class ACE_packingBandageItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY; + displayName = $STR_ACE_Medical_Packing_Bandage_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -732,7 +732,7 @@ class CfgVehicles { class ACE_elasticBandageItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY; + displayName = $STR_ACE_Medical_Bandage_Elastic_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -745,7 +745,7 @@ class CfgVehicles { class ACE_tourniquetItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_TOURNIQUET_DISPLAY; + displayName = $STR_ACE_Medical_Tourniquet_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -758,7 +758,7 @@ class CfgVehicles { class ACE_morphineItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_MORPHINE_DISPLAY; + displayName = $STR_ACE_Medical_Morphine_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -771,7 +771,7 @@ class CfgVehicles { class ACE_atropineItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_ATROPINE_DISPLAY; + displayName = $STR_ACE_Medical_Atropine_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -784,7 +784,7 @@ class CfgVehicles { class ACE_epinephrineItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_EPINEPHRINE_DISPLAY; + displayName = $STR_ACE_Medical_Epinephrine_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -797,7 +797,7 @@ class CfgVehicles { class ACE_plasmaIVItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_PLASMA_IV; + displayName = $STR_ACE_Medical_Plasma_IV; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -811,7 +811,7 @@ class CfgVehicles { class ACE_bloodIVItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_BLOOD_IV; + displayName = $STR_ACE_Medical_Blood_IV; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -824,7 +824,7 @@ class CfgVehicles { class ACE_salineIVItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_SALINE_IV; + displayName = $STR_ACE_Medical_Saline_IV; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -837,7 +837,7 @@ class CfgVehicles { class ACE_quikClotItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_QUIKCLOT_DISPLAY; + displayName = $STR_ACE_Medical_QuikClot_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -850,7 +850,7 @@ class CfgVehicles { class ACE_personalAidKitItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY; + displayName = $STR_ACE_Medical_Aid_Kit_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -863,7 +863,7 @@ class CfgVehicles { class ACE_surgicalKitItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_SURGICALKIT_DISPLAY; + displayName = $STR_ACE_Medical_SurgicalKit_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -876,7 +876,7 @@ class CfgVehicles { class ACE_bodyBagItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_BODYBAG_DISPLAY; + displayName = $STR_ACE_Medical_Bodybag_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { diff --git a/addons/medical/CfgWeapons.hpp b/addons/medical/CfgWeapons.hpp index 8c45b6906c..5fc5a4c9a8 100644 --- a/addons/medical/CfgWeapons.hpp +++ b/addons/medical/CfgWeapons.hpp @@ -24,64 +24,64 @@ class CfgWeapons { scope = 2; model = QUOTE(PATHTOF(data\bandage.p3d)); picture = QUOTE(PATHTOF(ui\items\fieldDressing_x_ca.paa)); - displayName = $STR_ACE_MEDICAL_BANDAGE_BASIC_DISPLAY; - descriptionShort = $STR_ACE_MEDICAL_BANDAGE_BASIC_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_BANDAGE_BASIC_DESC_USE; + displayName = $STR_ACE_Medical_Bandage_Basic_Display; + descriptionShort = $STR_ACE_Medical_Bandage_Basic_Desc_Short; + descriptionUse = $STR_ACE_Medical_Bandage_Basic_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 1; }; }; class ACE_packingBandage: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY; + displayName = $STR_ACE_Medical_Packing_Bandage_Display; picture = QUOTE(PATHTOF(ui\items\packingBandage_x_ca.paa)); model = QUOTE(PATHTOF(data\packingbandage.p3d)); - descriptionShort = $STR_ACE_MEDICAL_PACKING_BANDAGE_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_PACKING_BANDAGE_DESC_USE; + descriptionShort = $STR_ACE_Medical_Packing_Bandage_Desc_Short; + descriptionUse = $STR_ACE_Medical_Packing_Bandage_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 1; }; }; class ACE_elasticBandage: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY; + displayName = $STR_ACE_Medical_Bandage_Elastic_Display; picture = QUOTE(PATHTOF(ui\items\elasticBandage_x_ca.paa)); model = "\A3\Structures_F_EPA\Items\Medical\Bandage_F.p3d"; - descriptionShort = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DESC_USE; + descriptionShort = $STR_ACE_Medical_Bandage_Elastic_Desc_Short; + descriptionUse = $STR_ACE_Medical_Bandage_Elastic_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 1; }; }; class ACE_tourniquet: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_TOURNIQUET_DISPLAY; + displayName = $STR_ACE_Medical_Tourniquet_Display; picture = QUOTE(PATHTOF(ui\items\tourniquet_x_ca.paa)); model = QUOTE(PATHTOF(data\tourniquet.p3d)); - descriptionShort = $STR_ACE_MEDICAL_TOURNIQUET_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_TOURNIQUET_DESC_USE; + descriptionShort = $STR_ACE_Medical_Tourniquet_Desc_Short; + descriptionUse = $STR_ACE_Medical_Tourniquet_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 1; }; }; class ACE_morphine: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_MORPHINE_DISPLAY; + displayName = $STR_ACE_Medical_Morphine_Display; picture = QUOTE(PATHTOF(ui\items\morphine_x_ca.paa)); model = QUOTE(PATHTOF(data\morphine.p3d)); - descriptionShort = $STR_ACE_MEDICAL_MORPHINE_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_MORPHINE_DESC_USE; + descriptionShort = $STR_ACE_Medical_Morphine_Desc_Short; + descriptionUse = $STR_ACE_Medical_Morphine_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 1; }; }; class ACE_atropine: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_ATROPINE_DISPLAY; + displayName = $STR_ACE_Medical_Atropine_Display; picture = QUOTE(PATHTOF(ui\items\atropine_x_ca.paa)); model = QUOTE(PATHTOF(data\atropine.p3d)); - descriptionShort = $STR_ACE_MEDICAL_ATROPINE_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_ATROPINE_DESC_USE; + descriptionShort = $STR_ACE_Medical_Atropine_Desc_Short; + descriptionUse = $STR_ACE_Medical_Atropine_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 1; @@ -89,33 +89,33 @@ class CfgWeapons { }; class ACE_epinephrine: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_EPINEPHRINE_DISPLAY; + displayName = $STR_ACE_Medical_Epinephrine_Display; picture = QUOTE(PATHTOF(ui\items\epinephrine_x_ca.paa)); model = QUOTE(PATHTOF(data\epinephrine.p3d)); - descriptionShort = $STR_ACE_MEDICAL_EPINEPHRINE_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_EPINEPHRINE_DESC_USE; + descriptionShort = $STR_ACE_Medical_Epinephrine_Desc_Short; + descriptionUse = $STR_ACE_Medical_Epinephrine_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 1; }; }; class ACE_plasmaIV: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_PLASMA_IV; + displayName = $STR_ACE_Medical_Plasma_IV; picture = QUOTE(PATHTOF(ui\items\plasmaIV_x_ca.paa)); - descriptionShort = $STR_ACE_MEDICAL_PLASMA_IV_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_PLASMA_IV_DESC_USE; + descriptionShort = $STR_ACE_Medical_Plasma_IV_DESC_SHORT; + descriptionUse = $STR_ACE_Medical_Plasma_IV_DESC_USE; class ItemInfo: InventoryItem_Base_F { mass = 10; }; }; class ACE_plasmaIV_500: ACE_plasmaIV { - displayName = $STR_ACE_MEDICAL_PLASMA_IV_500; + displayName = $STR_ACE_Medical_Plasma_IV_500; class ItemInfo: InventoryItem_Base_F { mass = 5; }; }; class ACE_plasmaIV_250: ACE_plasmaIV { - displayName = $STR_ACE_MEDICAL_PLASMA_IV_250; + displayName = $STR_ACE_Medical_Plasma_IV_250; class ItemInfo: InventoryItem_Base_F { mass = 2.5; }; @@ -123,86 +123,86 @@ class CfgWeapons { class ACE_bloodIV: ACE_ItemCore { scope = 2; model = "\A3\Structures_F_EPA\Items\Medical\BloodBag_F.p3d"; - displayName = $STR_ACE_MEDICAL_BLOOD_IV; + displayName = $STR_ACE_Medical_Blood_IV; picture = QUOTE(PATHTOF(ui\items\bloodIV_x_ca.paa)); - descriptionShort = $STR_ACE_MEDICAL_BLOOD_IV_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_BLOOD_IV_DESC_USE; + descriptionShort = $STR_ACE_Medical_Blood_IV_DESC_SHORT; + descriptionUse = $STR_ACE_Medical_Blood_IV_DESC_USE; class ItemInfo: InventoryItem_Base_F { mass = 10; }; }; class ACE_bloodIV_500: ACE_bloodIV { - displayName = $STR_ACE_MEDICAL_BLOOD_IV_500; + displayName = $STR_ACE_Medical_Blood_IV_500; class ItemInfo: InventoryItem_Base_F { mass = 5; }; }; class ACE_bloodIV_250: ACE_bloodIV { - displayName = $STR_ACE_MEDICAL_BLOOD_IV_250; + displayName = $STR_ACE_Medical_Blood_IV_250; class ItemInfo: InventoryItem_Base_F { mass = 2.5; }; }; class ACE_salineIV: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_SALINE_IV; + displayName = $STR_ACE_Medical_Saline_IV; picture = QUOTE(PATHTOF(ui\items\salineIV_x_ca.paa)); - descriptionShort = $STR_ACE_MEDICAL_SALINE_IV_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_SALINE_IV_DESC_USE; + descriptionShort = $STR_ACE_Medical_Saline_IV_DESC_SHORT; + descriptionUse = $STR_ACE_Medical_Saline_IV_DESC_USE; class ItemInfo: InventoryItem_Base_F { mass = 10; }; }; class ACE_salineIV_500: ACE_salineIV { - displayName = $STR_ACE_MEDICAL_SALINE_IV_500; + displayName = $STR_ACE_Medical_Saline_IV_500; class ItemInfo: InventoryItem_Base_F { mass = 2.5; }; }; class ACE_salineIV_250: ACE_salineIV { - displayName = $STR_ACE_MEDICAL_SALINE_IV_250; + displayName = $STR_ACE_Medical_Saline_IV_250; class ItemInfo: InventoryItem_Base_F { mass = 2.5; }; }; class ACE_quikclot: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_QUIKCLOT_DISPLAY; + displayName = $STR_ACE_Medical_QuikClot_Display; picture = QUOTE(PATHTOF(ui\items\quickclot_x_ca.paa)); - descriptionShort = $STR_ACE_MEDICAL_QUIKCLOT_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_QUIKCLOT_DESC_USE; + descriptionShort = $STR_ACE_Medical_QuikClot_Desc_Short; + descriptionUse = $STR_ACE_Medical_QuikClot_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 1; }; }; class ACE_personalAidKit: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY; + displayName = $STR_ACE_Medical_Aid_Kit_Display; picture = QUOTE(PATHTOF(ui\items\personal_aid_kit_x_ca.paa)); - descriptionShort = $STR_ACE_MEDICAL_AID_KIT_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_AID_KIT_DESC_USE; + descriptionShort = $STR_ACE_Medical_Aid_Kit_Desc_Short; + descriptionUse = $STR_ACE_Medical_Aid_Kit_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 2; }; }; class ACE_surgicalKit: ACE_ItemCore { scope=2; - displayName= $STR_ACE_MEDICAL_SURGICALKIT_DISPLAY; + displayName= $STR_ACE_Medical_SurgicalKit_Display; model = QUOTE(PATHTOF(data\surgical_kit.p3d)); picture = QUOTE(PATHTOF(ui\items\surgicalKit_x_ca.paa)); - descriptionShort = $STR_ACE_MEDICAL_SURGICALKIT_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_SURGICALKIT_DESC_USE; + descriptionShort = $STR_ACE_Medical_SurgicalKit_Desc_Short; + descriptionUse = $STR_ACE_Medical_SurgicalKit_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 5; }; }; class ACE_bodyBag: ACE_ItemCore { scope=2; - displayName= $STR_ACE_MEDICAL_BODYBAG_DISPLAY; + displayName= $STR_ACE_Medical_Bodybag_Display; model = QUOTE(PATHTOF(data\bodybagItem.p3d)); picture = QUOTE(PATHTOF(ui\items\bodybag_x_ca.paa)); - descriptionShort = $STR_ACE_MEDICAL_BODYBAG_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_BODYBAG_DESC_USE; + descriptionShort = $STR_ACE_Medical_Bodybag_Desc_Short; + descriptionUse = $STR_ACE_Medical_Bodybag_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 15; }; diff --git a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf index d686515308..7a0b332400 100644 --- a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf @@ -28,27 +28,27 @@ _bloodPressureLow = _bloodPressure select 0; _output = ""; _logOutPut = ""; if ([_caller] call FUNC(isMedic)) then { - _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_1"; + _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_1"; _logOutPut = format["%1/%2",round(_bloodPressureHigh),round(_bloodPressureLow)]; } else { if (_bloodPressureHigh > 20) then { - _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_2"; - _logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_LOW"; + _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_2"; + _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_LOW"; if (_bloodPressureHigh > 100) then { - _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_3"; - _logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_NORMAL"; + _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_3"; + _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_NORMAL"; if (_bloodPressureHigh > 160) then { - _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_4"; - _logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_HIGH"; + _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_4"; + _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_HIGH"; }; }; } else { if (random(10) > 3) then { - _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_5"; - _logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_NOBLOODPRESSURE"; + _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_5"; + _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_NOBLOODPRESSURE"; } else { - _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_6"; + _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_6"; }; }; }; @@ -56,5 +56,5 @@ if ([_caller] call FUNC(isMedic)) then { ["displayTextStructured", [_caller], [[_output, [_target] call EFUNC(common,getName), round(_bloodPressureHigh),round(_bloodPressureLow)], 1.75, _caller]] call EFUNC(common,targetEvent); if (_logOutPut != "") then { - [_target,"activity", localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_LOG", [[_caller] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog); + [_target,"activity", localize "STR_ACE_Medical_Check_Bloodpressure_LOG", [[_caller] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog); }; diff --git a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf index f035ae18ad..3f49cba6e6 100644 --- a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf @@ -23,24 +23,24 @@ _heartRate = _unit getvariable [QGVAR(heartRate), 80]; if (!alive _unit) then { _heartRate = 0; }; -_heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_5"; +_heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_5"; _logOutPut = "No heart rate"; if (_heartRate > 1.0) then { if ([_caller] call FUNC(isMedic)) then { - _heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_1"; + _heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_1"; _logOutPut = format["%1",round(_heartRate)]; } else { // non medical personel will only find a pulse/HR - _heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_2"; - _logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_WEAK"; + _heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_2"; + _logOutPut = localize "STR_ACE_Medical_Check_Pulse_WEAK"; if (_heartRate > 60) then { if (_heartRate > 100) then { - _heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_3"; - _logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_STRONG"; + _heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_3"; + _logOutPut = localize "STR_ACE_Medical_Check_Pulse_STRONG"; } else { - _heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_4"; - _logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_NORMAL"; + _heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_4"; + _logOutPut = localize "STR_ACE_Medical_Check_Pulse_NORMAL"; }; }; }; @@ -49,5 +49,5 @@ if (_heartRate > 1.0) then { ["displayTextStructured", [_caller], [[_heartRateOutput, [_unit] call EFUNC(common,getName), round(_heartRate)], 1.5, _caller]] call EFUNC(common,targetEvent); if (_logOutPut != "") then { - [_unit,"activity", localize "STR_ACE_MEDICAL_CHECK_PULSE_LOG",[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog); + [_unit,"activity", localize "STR_ACE_Medical_Check_Pulse_LOG",[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog); }; diff --git a/addons/medical/functions/fnc_actionCheckResponse.sqf b/addons/medical/functions/fnc_actionCheckResponse.sqf index babd93bf92..92e724a3e0 100644 --- a/addons/medical/functions/fnc_actionCheckResponse.sqf +++ b/addons/medical/functions/fnc_actionCheckResponse.sqf @@ -20,9 +20,9 @@ _target = _this select 1; _output = ""; if ([_target] call EFUNC(common,isAwake)) then { - _output = "STR_ACE_MEDICAL_CHECK_REPONSE_RESPONSIVE"; + _output = "STR_ACE_Medical_Check_Response_Responsive"; } else { - _output = "STR_ACE_MEDICAL_CHECK_REPONSE_UNRESPONSIVE"; + _output = "STR_ACE_Medical_Check_Response_Unresponsive"; }; ["displayTextStructured", [_caller], [[_output, [_target] call EFUNC(common,getName)], 2, _caller]] call EFUNC(common,targetEvent); diff --git a/addons/medical/functions/fnc_actionDiagnose.sqf b/addons/medical/functions/fnc_actionDiagnose.sqf index 692414027a..d0a5aebc9f 100644 --- a/addons/medical/functions/fnc_actionDiagnose.sqf +++ b/addons/medical/functions/fnc_actionDiagnose.sqf @@ -18,28 +18,28 @@ private ["_caller", "_target", "_genericMessages"]; _caller = _this select 0; _target = _this select 1; -_genericMessages = ["STR_ACE_MEDICAL_diagnoseMessage"]; +_genericMessages = ["STR_ACE_Medical_diagnoseMessage"]; _genericMessages pushBack ([_target] call EFUNC(common,getName)); if (alive _target) then { - _genericMessages pushback "STR_ACE_MEDICAL_diagnoseAlive"; + _genericMessages pushback "STR_ACE_Medical_diagnoseAlive"; } else { - _genericMessages pushback "STR_ACE_MEDICAL_diagnoseDead"; + _genericMessages pushback "STR_ACE_Medical_diagnoseDead"; }; if (_target getvariable[QGVAR(hasLostBlood), 0] > 0) then { if (_target getvariable[QGVAR(hasLostBlood), 0] > 1) then { - _genericMessages pushback "STR_ACE_MEDICAL_lostBloodALot"; + _genericMessages pushback "STR_ACE_Medical_lostBloodALot"; } else { - _genericMessages pushback "STR_ACE_MEDICAL_lostBlood"; + _genericMessages pushback "STR_ACE_Medical_lostBlood"; }; } else { - _genericMessages pushback "STR_ACE_MEDICAL_noBloodloss"; + _genericMessages pushback "STR_ACE_Medical_noBloodloss"; }; if (_target getvariable[QGVAR(hasPain), false]) then { - _genericMessages pushback "STR_ACE_MEDICAL_inPain"; + _genericMessages pushback "STR_ACE_Medical_inPain"; } else { - _genericMessages pushback "STR_ACE_MEDICAL_noPain"; + _genericMessages pushback "STR_ACE_Medical_noPain"; }; ["displayTextStructured", [_caller], [_genericMessages, 3.0, _caller]] call EFUNC(common,targetEvent); diff --git a/addons/medical/functions/fnc_displayPatientInformation.sqf b/addons/medical/functions/fnc_displayPatientInformation.sqf index f3385c7d51..c5c5d23a01 100644 --- a/addons/medical/functions/fnc_displayPatientInformation.sqf +++ b/addons/medical/functions/fnc_displayPatientInformation.sqf @@ -55,17 +55,17 @@ if (_show) then { }; if (_target getvariable[QGVAR(isBleeding), false]) then { - _genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_BLEEDING", [1, 0.1, 0.1, 1]]; + _genericMessages pushback [localize "STR_ACE_Medical_Status_Bleeding", [1, 0.1, 0.1, 1]]; }; if (_target getvariable[QGVAR(hasLostBlood), 0] > 1) then { - _genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_LOST_BLOOD", [1, 0.1, 0.1, 1]]; + _genericMessages pushback [localize "STR_ACE_Medical_Status_Lost_Blood", [1, 0.1, 0.1, 1]]; }; if (((_target getvariable [QGVAR(tourniquets), [0,0,0,0,0,0]]) select _selectionN) > 0) then { - _genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_TOURNIQUET_APPLIED", [0.77, 0.51, 0.08, 1]]; + _genericMessages pushback [localize "STR_ACE_Medical_Status_Tourniquet_Applied", [0.77, 0.51, 0.08, 1]]; }; if (_target getvariable[QGVAR(hasPain), false]) then { - _genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_PAIN", [1, 1, 1, 1]]; + _genericMessages pushback [localize "STR_ACE_Medical_Status_Pain", [1, 1, 1, 1]]; }; _totalIvVolume = 0; @@ -77,7 +77,7 @@ if (_show) then { }; }foreach GVAR(IVBags); if (_totalIvVolume >= 1) then { - _genericMessages pushback [format[localize "STR_ACE_MEDICAL_receivingIvVolume", floor _totalIvVolume], [1, 1, 1, 1]]; + _genericMessages pushback [format[localize "STR_ACE_Medical_receivingIvVolume", floor _totalIvVolume], [1, 1, 1, 1]]; }; _damaged = [false, false, false, false, false, false]; diff --git a/addons/medical/functions/fnc_displayTriageCard.sqf b/addons/medical/functions/fnc_displayTriageCard.sqf index dd3b44a946..a9054dac46 100644 --- a/addons/medical/functions/fnc_displayTriageCard.sqf +++ b/addons/medical/functions/fnc_displayTriageCard.sqf @@ -58,7 +58,7 @@ if (_show) then { }foreach _log; if (count _triageCardTexts == 0) then { - _lbCtrl lbAdd (localize "STR_ACE_MEDICAL_TriageCard_NoEntry"); + _lbCtrl lbAdd (localize "STR_ACE_Medical_TriageCard_NoEntry"); }; { _lbCtrl lbAdd _x; diff --git a/addons/medical/functions/fnc_getTriageStatus.sqf b/addons/medical/functions/fnc_getTriageStatus.sqf index d80cbe5d64..aaeec2d516 100644 --- a/addons/medical/functions/fnc_getTriageStatus.sqf +++ b/addons/medical/functions/fnc_getTriageStatus.sqf @@ -17,10 +17,10 @@ private ["_unit","_return","_status"]; _unit = _this select 0; _status = _unit getvariable [QGVAR(triageLevel), -1]; _return = switch (_status) do { - case 1: {[localize "STR_ACE_MEDICAL_TRIAGE_STATUS_MINOR", 1, [0, 0.5, 0, 0.9]]}; - case 2: {[localize "STR_ACE_MEDICAL_TRIAGE_STATUS_DELAYED", 2, [0.7, 0.5, 0, 0.9]]}; - case 3: {[localize "STR_ACE_MEDICAL_TRIAGE_STATUS_IMMEDIATE", 3, [0.4, 0.07, 0.07, 0.9]]}; - case 4: {[localize "STR_ACE_MEDICAL_TRIAGE_STATUS_DECEASED", 4, [0, 0, 0, 0.9]]}; - default {[localize "STR_ACE_MEDICAL_TRIAGE_STATUS_NONE", 0, [0, 0, 0, 0.9]]}; + case 1: {[localize "STR_ACE_Medical_Triage_Status_Minor", 1, [0, 0.5, 0, 0.9]]}; + case 2: {[localize "STR_ACE_Medical_Triage_Status_Delayed", 2, [0.7, 0.5, 0, 0.9]]}; + case 3: {[localize "STR_ACE_Medical_Triage_Status_Immediate", 3, [0.4, 0.07, 0.07, 0.9]]}; + case 4: {[localize "STR_ACE_Medical_Triage_Status_Deceased", 4, [0, 0, 0, 0.9]]}; + default {[localize "STR_ACE_Medical_Triage_Status_None", 0, [0, 0, 0, 0.9]]}; }; _return; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf b/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf index 42ca38cd0a..394595ade3 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf @@ -37,6 +37,6 @@ if !([_target] call FUNC(hasMedicalEnabled)) exitwith { }; }foreach _items;*/ -[_target, "activity", "STR_ACE_MEDICAL_ACTIVITY_bandagedPatient", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog); +[_target, "activity", "STR_ACE_Medical_Activity_bandagedPatient", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog); true; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf b/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf index 55057f1758..c6ac2dc8e5 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf @@ -32,6 +32,6 @@ _items = _this select 4; }; }foreach _items; -[_target, "activity", "STR_ACE_MEDICAL_ACTIVITY_usedItem", [[_caller] call EFUNC(common,getName), _className]] call FUNC(addToLog); +[_target, "activity", "STR_ACE_Medical_Activity_usedItem", [[_caller] call EFUNC(common,getName), _className]] call FUNC(addToLog); true; diff --git a/addons/medical/functions/fnc_treatmentIV.sqf b/addons/medical/functions/fnc_treatmentIV.sqf index 3a62b9e657..c0f4e4681f 100644 --- a/addons/medical/functions/fnc_treatmentIV.sqf +++ b/addons/medical/functions/fnc_treatmentIV.sqf @@ -29,4 +29,4 @@ if (count _items == 0) exitwith {}; _removeItem = _items select 0; [[_target, _removeItem], QUOTE(DFUNC(treatmentIVLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ [_target, _removeItem] call FUNC(addToTriageCard); -[_target, "activity", "STR_ACE_MEDICAL_ACTIVITY_gaveIV", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog); +[_target, "activity", "STR_ACE_Medical_Activity_gaveIV", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog); diff --git a/addons/medical/functions/fnc_treatmentTourniquet.sqf b/addons/medical/functions/fnc_treatmentTourniquet.sqf index 731797f1f9..c4ee10011e 100644 --- a/addons/medical/functions/fnc_treatmentTourniquet.sqf +++ b/addons/medical/functions/fnc_treatmentTourniquet.sqf @@ -43,7 +43,7 @@ _removeItem = _items select 0; [[_target, _removeItem, _selectionName], QUOTE(DFUNC(treatmentTourniquetLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ [_target, _removeItem] call FUNC(addToTriageCard); -[_target, "activity", "STR_ACE_MEDICAL_ACTIVITY_appliedTourniquet", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog); +[_target, "activity", "STR_ACE_Medical_Activity_appliedTourniquet", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog); true; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 1029bda77a..122244f990 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -296,7 +296,7 @@ Sto applicando il laccio emostatico ... Applicando Torniquete - + Medical Zdravotní Médical @@ -308,7 +308,7 @@ Médico Orvosi - + Field Dressing Verbandpäckchen Compresa de campaña @@ -320,7 +320,7 @@ Bendaggio rapido Curativo de Campo - + Packing Bandage Mullbinde Vendaje compresivo @@ -331,7 +331,7 @@ Bandage gauze Bandagem de Compressão - + Elastic Bandage Elastischer Verband Vendaje elástico @@ -343,7 +343,7 @@ Bendaggio elastico Bandagem Elástica - + QuikClot QuikClot QuikClot @@ -355,7 +355,7 @@ QuikClot(polvere emostatica) QuikClot - + Check Pulse Puls überprüfen Comprobar pulso @@ -367,7 +367,7 @@ Controlla il polso Checar Pulso - + Check Blood Pressure Blutdruck überprüfen Comprobar presión arterial @@ -379,7 +379,7 @@ Controlla pressionsa sanguigna Chegar Pressão Sanguínea - + Triage Card Triagekarte Tarjeta de triaje @@ -391,7 +391,7 @@ Triage Card Cartão de Triagem - + No entries on this triage card. Keine Einträge auf der Triagekarte Nessuna voce sulla Triage Card @@ -399,7 +399,7 @@ Aucune entrée sur cette carte de triage Brak wpisów w tej karcie segregacyjnej. - + Tourniquet Tourniquet Torniquete @@ -411,7 +411,7 @@ Laccio emostatico Torniquete - + Remove Tourniquet Tourniquet entfernen Quitar torniquete @@ -423,7 +423,7 @@ Rimuovi laccio emostatico Remover Torniquete - + Diagnose Diagnose Diagnosi @@ -431,7 +431,7 @@ Diagnostiquer Diagnoza - + Diagnosing ... Diagnostizieren ... Diagnosi in corso... @@ -439,7 +439,7 @@ Diagnostic en cours Diagnozowanie ... - + CPR HLW RCP @@ -447,7 +447,7 @@ RPC RKO - + Performing CPR ... HLW durchführen ... Eseguendo RCP... @@ -455,7 +455,7 @@ RPC en cours Przeprowadzanie RKO ... - + Give Blood IV (1000ml) Bluttransfusion IV (1000ml) Dar Sangre IV (1000ml) @@ -467,7 +467,7 @@ Effettua trasfusione sangue IV (1000ml) Administrar Sangue IV (1000ml) - + Give Blood IV (500ml) Bluttransfusion IV (500ml) Dar Sangre IV (500ml) @@ -479,7 +479,7 @@ Effettua trasfusione sangue IV (500ml) Administrar Sangue IV (500ml) - + Give Blood IV (250ml) Bluttransfusion IV (250ml) Dar Sangre IV (250ml) @@ -491,7 +491,7 @@ Effettua trasfusione sangue IV (250ml) Administrar Sangue IV (250ml) - + Give Plasma IV (1000ml) Plasmatransfusion IV (1000ml) Dar Plasma IV (1000ml) @@ -503,7 +503,7 @@ Effettua trasfusione plasma IV (1000ml) Administrar Plasma IV (1000ml) - + Give Plasma IV (500ml) Plasmatransfusion IV (500ml) Dar Plasma IV (500ml) @@ -515,7 +515,7 @@ Effettua trasfusione plasma IV (500ml) Administrar Plasma IV (500ml) - + Give Plasma IV (250ml) Plasmatransfusion IV (250ml) Dar Plasma IV (250ml) @@ -527,7 +527,7 @@ Effettua trasfusione plasma IV (250ml) Administrar Plasma IV (250ml) - + Give Saline IV (1000ml) Kochsalzlösung IV (1000ml) Dar Salino IV (1000ml) @@ -539,7 +539,7 @@ Effettua trasfusione salina IV (1000ml) Administrar Soro IV (1000ml) - + Give Saline IV (500ml) Kochsalzlösung IV (500ml) Dar Salino IV (500ml) @@ -551,7 +551,7 @@ Effettua trasfusione salina IV (500ml) Administrar Soro IV (500ml) - + Give Saline IV (250ml) Kochsalzlösung IV (250ml) Dar Salino IV (250ml) @@ -563,7 +563,7 @@ Effettua trasfusione salina IV (250ml) Administrar Soro IV (250ml) - + Minor Gering Menor @@ -575,7 +575,7 @@ Minore Leve - + Delayed Retrasado Срочная помощь @@ -587,7 +587,7 @@ Differito Atrasado - + Immediate Inmediato Неотложная помощь @@ -599,7 +599,7 @@ Immediata Imediato - + Deceased Fallecido Труп @@ -611,7 +611,7 @@ Deceduto Falecido - + None Ninguno Отсутствует @@ -623,7 +623,7 @@ Nessuna Nenhum - + Normal breathing Дыхание в норме Respiración normal @@ -635,7 +635,7 @@ Respiro normale Respiração normal - + No breathing Keine Atmung Дыхание отсутствует @@ -647,7 +647,7 @@ Mancanza di respiro Não respira - + Difficult breathing Дыхание затруднено Dificultad para respirar @@ -659,7 +659,7 @@ Difficoltà a respirare Dificuldade para respirar - + Almost no breathing Fast keine Atmung Дыхание очень слабое @@ -671,7 +671,7 @@ Respira a fatica Quase não respira - + Bleeding Blutet Кровотечение @@ -683,7 +683,7 @@ Sanguinando Sangrando - + In Pain Hat Schmerzen Испытывает боль @@ -695,7 +695,7 @@ Con dolore Com dor - + Lost a lot of Blood Hat eine große Menge Blut verloren Большая кровопотеря @@ -707,7 +707,7 @@ Ha perso parecchio sangue Perdeu muito sangue - + Tourniquet [CAT] Tourniquet [CAT] Жгут @@ -719,7 +719,7 @@ Laccio emostatico [CAT] Torniquete [CAT] - + Receiving IV [%1ml] Erhalte IV [%1ml] Reciviendo IV [%1ml] @@ -731,7 +731,7 @@ Ricevendo IV [%1ml] Recebendo IV [%1ml] - + Bandage (Basic) Bandage (Standard) Повязка (обычная) @@ -743,7 +743,7 @@ Bendaggio (base) Bandagem(Básico) - + Used to cover a wound Для перевязки ран Utilizado para cubrir una herida @@ -754,7 +754,7 @@ Usato per coprire una ferita Usado para cobrir um ferimento - + A dressing, that is a particular material used to cover a wound, which is applied over the wound once bleeding has been stemmed. Ein Verband, der aus einem besonderen Material besteht um die Wunde zu schützen, nachdem die Blutung gestoppt wurde. Повязка, накладываемая поверх раны после остановки кровотечения. @@ -765,7 +765,7 @@ Una benda apposita, utilizzata per coprire una ferita, la quale è applicata sopra di essa una volta fermata l'emorragia. Uma curativo, material específico para cobrir um ferimento que é aplicado assim que o sangramento é estancando. - + Packing Bandage Mullbinde Тампонирующая повязка @@ -776,7 +776,7 @@ Bendaggio compressivo Bandagem de Compressão - + Used to pack medium to large wounds and stem the bleeding Wird verwendet, um mittlere bis große Wunden abzudecken und Blutungen zu stoppen Для тампонирования ран среднего и большого размера и остановки кровотечения. @@ -787,7 +787,7 @@ Usato su medie o larghe ferite per fermare emorragie. Usado para o preenchimento de cavidades geradas por ferimentos médios e grandes e estancar o sangramento. - + A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries. Повязка для тампонирования раны, остановки кровотечения и лучшего заживления. При тяжёлых сочетанных ранениях возможно тампонирование раны. Se utiliza para detener la hemorragia de una herida y favorecer su cicatrización. Se usa en grandes lesiones o politraumatismos. @@ -798,7 +798,7 @@ Ein Verband, um die Wunde abzudecken und die Wundheilung zu fördern. Wunden abdecken ist eine Option bei größeren Polytraumen Uma bandagem usada para preencher o ferimento para estancar o sangramento e facilitar a cicatrização. Preenchimento de feridas é uma opção em ferimentos de politrauma grandes. - + Bandage (Elastic) Bandage (Elastisch) Повязка (давящая) @@ -810,7 +810,7 @@ Benda (Elastica) Bandagem (Elástica) - + Bandage kit, Elastic Elastische Binde (Kompressionsbinde) Давящая повязка @@ -821,7 +821,7 @@ Kit bendaggio, elastico Kit de Bandagem, Elástica - + Allows an even compression and extra support to the injured area. Ermöglicht eine gleichmäßige Kompression und zusätzliche Unterstützung für den verletzten Bereich. Давящая повязка обеспечивает равномерное сжатие и дополнительную поддержку повреждённой области @@ -832,7 +832,7 @@ Permette di comprimevere e aiutare la zone ferita. Esta bandagem pode ser utilizada para comprimir o ferimento e diminuir o sangramento e garantir que o ferimento não abra em movimento. - + Tourniquet (CAT) Tourniquet [CAT] Жгут @@ -844,7 +844,7 @@ Laccio emostatico (CAT) Torniquete (CAT) - + Slows down blood loss when bleeding Замедляет кровопотерю при кровотечении Reduce la velocidad de pérdida de sangre @@ -855,7 +855,7 @@ Rallenta la perdita di sangue in caso di sanguinamento Reduz a velocidade da perda de sangue - + A constricting device used to compress venous and arterial circulation in effect inhibiting or slowing blood flow and therefore decreasing loss of blood. Жгут используется для прижатия сосудов к костным выступам, которое приводит к остановке или значительному уменьшению кровотечения Dispositivo utilizado para eliminar el pulso distal y de ese modo controlar la pérdida de sangre @@ -866,7 +866,7 @@ Un laccio emostatico usato per comprimere le vene e arterie per bloccare o rallentare la circolazione del sangue e quindi rallentare dissanguamenti. A aparelho que comprime as artérias e veias para diminuir a perda de sangue. - + Morphine autoinjector Morphium Autoinjektor Морфин в пневмошприце @@ -878,7 +878,7 @@ Autoiniettore di morfina Auto-injetor de morfina - + Used to combat moderate to severe pain experiences Wird verwendet um moderate bis starke Schmärzen zu lindern. Для снятия средних и сильных болевых ощущений @@ -889,7 +889,7 @@ Usato per combattere il dolore. Usado para combater dores moderadas e severas - + An analgesic used to combat moderate to severe pain experiences. Обезболивающее для снятия средних и сильных болевых ощущений. Analgésico usado para combatir los estados dolorosos de moderados a severos. @@ -900,7 +900,7 @@ Un analgesico usato per combattere il dolore. Um analgésico usado para combater dores moderadas e fortes. - + Atropin autoinjector Атропин в пневмошприце Atropina auto-inyectable @@ -912,7 +912,7 @@ Autoiniettore di Atropina Auto-injetor de Atropina - + Used in NBC scenarios Применяется для защиты от ОМП Usado en escenarios NBQ @@ -923,7 +923,7 @@ Usato in situazioni con gas nervino. Usado em casos de ataque QBRN - + A drug used by the Military in NBC scenarios. Препарат, используемый в войсках для защиты от оружия массового поражения. Medicamento usado por militares en escenarios NBQ @@ -934,7 +934,7 @@ E' un farmaco usato in ambito militare in scenari con presenza di gas nervino. Uma droga usada por militares em casos de ataque QBRN. - + Epinephrine autoinjector Адреналин в пневмошприце Epinefrina auto-inyectable @@ -946,7 +946,7 @@ Autoiniettore di Epinefrina Auto-injetor de epinefrina - + Increase heart rate and counter effects given by allergic reactions Стимулирует работу сердца и купирует аллергические реакции Aumenta la frecuencia cardiaca y contraresta los efectos de las reacciones alérgicas @@ -957,7 +957,7 @@ Aumenta il battito cardiaco e combatte gli effetti di reazioni allergiche. Aumenta a frequência cardíaca e combate efeitos causados por reações alérgicas - + A drug that works on a sympathetic response to dilate the bronchi, increase heart rate and counter such effects given by allergic reactions (anaphylaxis). Used in sudden cardiac arrest scenarios with decreasing positive outcomes. Препарат, вызывающий симпатическую реакцию, приводящую к расширению бронхов, увеличению частоты сердечных сокращений и купированию аллергических реакций (анафилактического шока). Применяется при остановке сердца с уменьшенной вероятностью благоприятного исхода. Medicamento que dilata los bronquios, aumenta la frecuencia cardiaca y contrarresta los efectos de las reacciones alérgicas (anafilaxis). Se utiliza en caso de paros cardiacos repentinos. @@ -967,7 +967,7 @@ Ein Medikament, dass die Bronchien erweitert, die Herzfrequenz erhöht und Symptome von allergischen Reaktionen(Anaphylaxie) bekämpft. Wird bei plötzlichem Herzstillstand verabreicht. Uma droga trabalha dilatando os bronquios, aumentando a frequência cardíaca e combate efeitos de reações alérgicas(anáfilaticas). Usado em casos de parada cardiaca com poucas changes de recuperação. - + Plasma IV (1000ml) Плазма для в/в вливания (1000 мл) Plasma IV (1000ml) @@ -978,7 +978,7 @@ Plasma IV (1000ml) Plasma IV (1000ml) - + A volume-expanding blood supplement. Дополнительный препарат, применяемый при возмещении объема крови. Suplemento para expandir el volumen sanguíneo. @@ -989,7 +989,7 @@ Volumenerweiterungsmittel (künstliches Blutvolumen) Suplemento para expandir o volume sanguíneo. - + A volume-expanding blood supplement. Дополнительный препарат, применяемый при возмещении объема крови. Suplemento para expandir el volumen sanguíneo. @@ -1000,7 +1000,7 @@ Volumenerweiterungsmittel (künstliches Blutvolumen) Suplemento para expandir o volume sanguíneo. - + Plasma IV (500ml) Плазма для в/в вливания (500 мл) Plasma IV (500ml) @@ -1011,7 +1011,7 @@ Plasma IV (500ml) Plasma IV (500ml) - + Plasma IV (250ml) Плазма для в/в вливания (250 мл) Plasma IV (250ml) @@ -1022,7 +1022,7 @@ Plasma IV (250ml) Plasma IV (250ml) - + Blood IV (1000ml) Кровь для переливания (1000 мл) Sangre IV (1000ml) @@ -1033,7 +1033,7 @@ Sangue IV (1000ml) Sangue IV (1000ml) - + Blood IV, for restoring a patients blood (keep cold) Пакет крови для возмещения объёма потерянной крови (хранить в холодильнике) Sangre intravenosa, para restarurar el volumen sanguíneo (mantener frío) @@ -1044,7 +1044,7 @@ Blut IV, Bluthaushalt des Patienten wiederherstellen. (Kühl halten) Sangue intravenoso, para restaurar o volume sanguinio do paciente.(Manter frio) - + O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. Кровь I группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема потерянной крови на догоспитальном этапе оказания медицинской помощи. Krew 0 Rh-, używana w rzadkich i szczególnych przypadkach do uzupełnienia krwi u pacjenta, zazwyczaj w trakcie fazie transportu rannej osoby do szpitala. @@ -1054,7 +1054,7 @@ O Negative Blutinfusion wird nur in seltenen Fällen verwendet, um den Bluthaushalt des Patienten zu ergänzen. Wird in der Regel wärend der Transportphase durchgeführt. Sangue O- , utilizado em casos raros para rapidamente repor o sangue. Uso habitual ocorre durante o transporte ou em estações de tratamento. - + Blood IV (500ml) Кровь для переливания (500 мл) Sangre IV (500ml) @@ -1065,7 +1065,7 @@ Sangue IV (500ml) Sangue IV (500ml) - + Blood IV (250ml) Кровь для переливания (250 мл) Sangre IV (250ml) @@ -1076,7 +1076,7 @@ Samgue IV (250ml) Sangue IV (250ml) - + Saline IV (1000ml) Физраствор для в/в вливания (1000 мл) Solución Salina IV (1000ml) @@ -1087,7 +1087,7 @@ Soluzione salina IV (1000ml) Soro IV (1000ml) - + Saline IV, for restoring a patients blood Пакет физраствора для возмещения объёма потерянной крови Solución salina intravenosa, para restaurar el volumen sanguíneo @@ -1098,7 +1098,7 @@ Kochsalzlösung, ein medizinisches Volumenersatzmittel Solução Salina Intravenosa 0.9%, para restaurar o volume de sangue temporariamente. - + A medical volume-replenishing agent introduced into the blood system through an IV infusion. Пакет физиологического раствора для возмещения объёма потерянной крови путем внутривенного вливания Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa. @@ -1109,7 +1109,7 @@ Ein medizinisches Volumenersatzmittel, dass durch einen intravenösen Zugang in den Blutkreislauf verabreicht wird. Uma reposição temporaria para restaurar a pressão arterial perdida por perda de sangue. - + Saline IV (500ml) Физраствор для в/в вливания (500 мл) Salino IV (500ml) @@ -1120,7 +1120,7 @@ Soluzione salina IV (500ml) Soro IV (1000ml) - + Saline IV (250ml) Физраствор для в/в вливания (250 мл) Salino IV (250ml) @@ -1131,7 +1131,7 @@ Soluzione salina IV (250ml) Soro IV (1000ml) - + Basic Field Dressing (QuikClot) Первичный перевязочный пакет (QuikClot) Vendaje básico (QuickClot) @@ -1142,7 +1142,7 @@ Bendaggio emostatico (QuikClot) Bandagem básica (Coagulante) - + QuikClot bandage Гемостатический пакет QuikClot Vendaje QuikClot @@ -1153,7 +1153,7 @@ Bendaggio emostatico (QuikClot) Bandagem com agente coagulante - + Hemostatic bandage with coagulant that stops bleeding. Медицинский коагулянт для экстренной остановки кровотечения Un bandage aidant à coaguler les saignements mineurs à moyens. @@ -1164,7 +1164,7 @@ Bendaggio emostatico con coagulante che permette di arrestare perdite di sangue Bandagem Hemostática com coagulante que controla hemorragia médias e grandes com risco de vida. - + Personal Aid Kit Аптечка Botiquín de primeros auxilios @@ -1175,7 +1175,7 @@ Pronto soccorso personale Kit De Primeiros Socorros Pessoal - + Includes various treatment kit needed for stitching or advanced treatment Содержит различные материалы и инструменты для зашивания ран и оказания специальной медпомощи. Incluye material médico para tratamientos avanzados @@ -1186,21 +1186,21 @@ Include vario materiale medico per trattamenti avanzati. Inclui vários tratamentos materiais para custura e tratamento avançado - + Personal Aid Kit for in field stitching or advanced treatment W znacznym stopniu poprawia stan pacjenta Полевая аптчека для продвинутого лечения и зашивания ран Persönliches Verbandspäckchen zum ambulanten Nähen und fortgeschrittener Behandlung. Trousse de premiers soins pour coudre sur le terrain et traitements avancés. - + Use Personal Aid Kit Verbandpäckchen benutzen Использовать аптечку Utiliser la Trousse de premier soins Użyj apteczki osobistej - + Surgical Kit Trousse chirurgicale Хирургический набор @@ -1211,7 +1211,7 @@ Kit chirurgico Kit Cirurgico - + Surgical Kit for in field advanced medical treatment Trousse chirurgicale pour le traitement sur le terrain Набор для хирургической помощи в полевых условиях @@ -1222,7 +1222,7 @@ Kit chirurgico per trattamenti avanzati sul campo. Kit Cirurgico para uso de tratamento médico avançado em campo - + Surgical Kit for in field advanced medical treatment Набор для хирургической помощи в полевых условиях Kit quirúrgico para el tratamiento avanzado en el campo de batalla @@ -1233,7 +1233,7 @@ Kit chirurgico per trattamenti avanzati sul campo. Kit Cirurgico para uso de tratamento médico avançado em campo. - + Use Surgical Kit Operationsset benutzen Usa kit chirurgico @@ -1241,7 +1241,7 @@ Utiliser la trousse chirugicale Zszyj rany - + Bodybag Housse mortuaire Мешок для трупов @@ -1252,7 +1252,7 @@ Sacca per corpi Saco para cadáver - + A bodybag for dead bodies Housse de transport des corps Мешок для упаковки трупов @@ -1263,7 +1263,7 @@ Una sacca nera per trasportare cadaveri. Um saco para corpos mortos - + A bodybag for dead bodies Housse de transport des corps Мешок для упаковки трупов @@ -1274,7 +1274,7 @@ Una sacca nera per trasportare cadaveri. Um saco para corpos mortos. - + Blood Pressure Tension artérielle Артериальное давление @@ -1285,7 +1285,7 @@ Pressione sanguigna Pressão Arterial - + Checking Blood Pressure.. Mesure de la tension ... Проверка артериального давления ... @@ -1296,7 +1296,7 @@ Controllando la pressione sanguigna.. Aferindo Pressão Arterial... - + %1 checked Blood Pressure: %2 %1 kontrollierte Blutdruck: %2 %1 controllata pressione sanguigna: %2 @@ -1304,7 +1304,7 @@ %1 à vérifié la tension: %2 %1 sprawdził ciśnienie krwi: %2 - + You checked %1 Vous diagnostiquez %1 Вы осмотрели раненого %1 @@ -1315,7 +1315,7 @@ Hai diagnosticato %1 Você aferiu o paciente %1 - + You find a blood pressure of %2/%3 Vous avez trouvé une tension de %2/%3 Артериальное давление %2/%3 @@ -1326,7 +1326,7 @@ Der Blutdruck liegt bei %2/%3 A Pressão Arterial é de %2/%3 - + You find a low blood pressure Tension basse Давление низкое @@ -1337,7 +1337,7 @@ La pressione sanguigna è bassa Pressão Arterial baixa - + You find a normal blood pressure Tension normale Давление нормальное @@ -1348,7 +1348,7 @@ La pressione sanguigna è normale Pressão Arterial normal - + You find a high blood pressure Tension haute Давление высокое @@ -1359,7 +1359,7 @@ La pressione sanguigna è alta Pressão Arterial Alta - + You find no blood pressure Pas de tension Давления нет @@ -1370,7 +1370,7 @@ La pressione sanguigna è assente Sem Pressão Arterial - + You fail to find a blood pressure Vous n'avez pas pu mesurer de tension Артериальное давление не определяется @@ -1381,7 +1381,7 @@ Manca strumento per misurare pressione sanguigna Você falhou em aferir a Pressão Arterial - + Low Niedrig Basso @@ -1389,7 +1389,7 @@ Faible Niskie - + Normal Normal Normale @@ -1397,7 +1397,7 @@ Normale Normalne - + High Hoch Alto @@ -1405,7 +1405,7 @@ Haute Wysokie - + No Blood Pressure Kein Blutdruck Nessuna Pressione Sanguigna @@ -1413,7 +1413,7 @@ Aucune tension Brak ciśnienia krwi - + Pulse Пульс Pouls @@ -1424,7 +1424,7 @@ Polso Pulso - + Checking Heart Rate ... Vérification du rythme cardiaque ... Проверка пульса ... @@ -1435,7 +1435,7 @@ Controllando il battito cardiaco ... Aferindo Pulso ... - + You checked %1 Вы осмотрели раненого %1 Vous examinez %1 @@ -1446,7 +1446,7 @@ Hai diagnosticato %1 Você aferiu o paciente %1 - + %1 checked Heart Rate: %2 %1 kontrollierte Herzfrequenz: %2 %1 Controllata Frequenza Cardiaca: %2 @@ -1454,7 +1454,7 @@ %1 à vérifié le rythme cardiaque: %2 %1 sprawdził tętno: %2 - + Weak Schwach Lento @@ -1462,7 +1462,7 @@ Faible Słabe - + Normal Normal Normale @@ -1470,7 +1470,7 @@ Normal Normalne - + Strong Stark Veloce @@ -1478,7 +1478,7 @@ Fort Silne - + You find a Heart Rate of %2 Rythme cardiaque de %2 Пульс %2 уд./мин. @@ -1489,7 +1489,7 @@ Il battito cardiaco è %2 A Freqüência Cardíaca é de %2 - + You find a weak Heart Rate Rythme cardiaque faible Пульс слабый @@ -1500,7 +1500,7 @@ Hai riscontrato un debole battito cardiaco Freqüência Cardíaca baixa - + You find a strong Heart Rate Rythme cardiaque élevé Пульс учащенный @@ -1511,7 +1511,7 @@ Hai riscontrato un forte battito cardiaco Freqüência Cardíaca normal - + You find a normal Heart Rate Rythme cardiaque normal Пульс в норме @@ -1522,7 +1522,7 @@ Hai riscontrato un normale battito cardiaco Freqüência Cardíaca alta - + You find no Heart Rate Pas de rythme cardiaque Пульс не прощупывается @@ -1533,7 +1533,7 @@ Hai riscontrato una assenza di battito cardiaco Sem Freqüência Cardíaca - + Response Etat de Conscience Реакция @@ -1544,7 +1544,7 @@ Risposta Reação - + You check response of patient Vous vérifiez la réponse du patient Вы проверяете реакцию раненого @@ -1555,7 +1555,7 @@ Controlli la risposta del paziente Aferindo se o paciente tem reação... - + %1 is responsive %1 реагирует на раздражители %1 est conscient @@ -1566,7 +1566,7 @@ %1 e' cosciente %1 está respondendo - + %1 is not responsive %1 не реагирует на раздражители %1 est inconscient @@ -1577,7 +1577,7 @@ %1 e' incosciente %1 não está respondendo - + You checked %1 Вы осмотрели раненого %1 Vous avez examiné %1 @@ -1588,7 +1588,7 @@ Hai controllato %1 Você aferiu o paciente %1 - + Patient %1<br/>is %2.<br/>%3.<br/>%4 Paziente %1<br/>è %2.<br/>%3.<br/>%4 Пациент %1<br/>%2.<br/>%3.<br/>%4 @@ -1596,7 +1596,7 @@ Patient %1<br/>est %2.<br/>%3.<br/> Pacjent %1<br/>jest %2.<br/>%3.<br/>%4 - + alive Vivo жив @@ -1604,7 +1604,7 @@ vivant żywy - + dead Morto мёртв @@ -1612,7 +1612,7 @@ mort martwy - + He's lost some blood Ha perso molto sangue Есть кровопотеря @@ -1620,10 +1620,10 @@ Il à perdu du sang Stracił trochę krwi - + He's lost a lot of blood - + He hasn't lost blood Non ha perso sangue Нет кровопотери @@ -1631,7 +1631,7 @@ il n'a pas perdu de sang Nie stracił krwi - + He is in pain è affetto da dolore Испытывает боль @@ -1639,7 +1639,7 @@ il souffre Odczuwa ból - + He is not in pain Non è affetto da dolore Не испытывает боли @@ -1647,7 +1647,7 @@ Il ne souffre pas Nie odczuwa bólu - + Bandaged Bandé Повязка наложена @@ -1658,7 +1658,7 @@ verbunden Enfaixado - + You bandage %1 (%2) Vous bandez %1 (%2) Вы перевязали раненого %1 (%2) @@ -1669,7 +1669,7 @@ Du verbindest %1 (%2) Você aplica bandagem no paciente %1 (%2) - + %1 is bandaging you %1 vous bande %1 перевязывает вас @@ -1680,7 +1680,7 @@ %1 verbindet dich %1 está aplicando uma bandagem em você - + You start stitching injuries from %1 (%2) Вы зашиваете ранения от %1 (%2) Du nähst die Wunden von %1 (%2) @@ -1691,7 +1691,7 @@ Stai suturando le ferite di %1 (%2) Você começa a suturar os ferimentos do %1 (%2) - + Stitching Наложение швов Suturando @@ -1702,7 +1702,7 @@ Suturando Suturando... - + You treat the airway of %1 Вы интубируете раненого %1 Estás intubando a %1 @@ -1713,7 +1713,7 @@ Controlli le vie respiratorie di %1 Você entuba o %1 - + Airway Дыхательные пути Vías aéreas @@ -1724,7 +1724,7 @@ Vie respiratorie Vias Aéreas - + %1 is treating your airway %1 проводит вам интубацию %1 traite vos voies respiratoires @@ -1735,7 +1735,7 @@ %1 ti sta trattando le vie respiratorie %1 está te entubando - + Drag Ziehen Arrastrar @@ -1747,7 +1747,7 @@ Arrastar Trascina - + Carry Tragen Cargar @@ -1759,7 +1759,7 @@ Carregar Trasporta - + Release Loslassen Soltar @@ -1771,7 +1771,7 @@ Soltar Rrilascia - + Load Patient Into Patient Einladen Cargar el paciente en @@ -1783,7 +1783,7 @@ Carregar Paciente Em Carica paziente nel - + Unload Patient Patient Ausladen Descargar el paciente @@ -1817,7 +1817,7 @@ Carica il paziente Carregar Paciente Em - + Place body in bodybag Colocar cuerpo en bolsa para cadáveres Поместить тело в мешок для трупов @@ -1828,7 +1828,7 @@ Metti il corpo nella sacca per cadaveri Colocar corpo dentro do saco para cadáver - + Placing body in bodybag Colocando cuerpo en bolsa para cadáveres Упаковка тела ... @@ -1839,7 +1839,7 @@ Stai mettendo il corpo nella sacca Colocando corpo dentro do saco para cadáver... - + %1 has bandaged patient %1 has vendado al paciente %1 перевязал пациента @@ -1850,7 +1850,7 @@ %1 ha bendato il paziente %1 aplicou bandagem no paciente - + %1 used %2 %1 usó %2 %1 benutzt %2 @@ -1861,7 +1861,7 @@ %1 ha usato %2 %1 usou %2 - + %1 has given an IV %1 has puesto una IV %1 провёл переливание @@ -1872,7 +1872,7 @@ %1 ha somministrato una IV %1 aplicou um intravenoso - + %1 applied a tourniquet %1 aplicado torniquete %1 наложил жгут diff --git a/addons/medical/ui/triagecard.hpp b/addons/medical/ui/triagecard.hpp index a93440d13a..c4d3145964 100644 --- a/addons/medical/ui/triagecard.hpp +++ b/addons/medical/ui/triagecard.hpp @@ -49,7 +49,7 @@ class GVAR(triageCard) { font = "PuristaMedium"; colorText[] = {0,0,0,1}; colorBackground[] = {0,0,0,0}; - text = "$STR_ACE_MEDICAL_ACTIONS_TriageCard"; + text = "$STR_ACE_Medical_Actions_TriageCard"; }; class TriageList: ACE_gui_listBoxBase { idc = 200; @@ -103,7 +103,7 @@ class GVAR(triageCard) { y = 0; w = 0; h = 0; - text = $STR_ACE_MEDICAL_TRIAGE_STATUS_NONE; + text = $STR_ACE_Medical_Triage_Status_None; style = 0x02; size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; @@ -121,7 +121,7 @@ class GVAR(triageCard) { y = 0; w = 0; h = 0; - text = $STR_ACE_MEDICAL_TRIAGE_STATUS_MINOR; + text = $STR_ACE_Medical_Triage_Status_Minor; style = 0x02; size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; @@ -139,7 +139,7 @@ class GVAR(triageCard) { y = 0; w = 0; h = 0; - text = $STR_ACE_MEDICAL_TRIAGE_STATUS_DELAYED; + text = $STR_ACE_Medical_Triage_Status_Delayed; style = 0x02; size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; @@ -157,7 +157,7 @@ class GVAR(triageCard) { y = 0; w = 0; h = 0; - text = $STR_ACE_MEDICAL_TRIAGE_STATUS_IMMEDIATE; + text = $STR_ACE_Medical_Triage_Status_Immediate; style = 0x02; size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; @@ -175,7 +175,7 @@ class GVAR(triageCard) { y = 0; w = 0; h = 0; - text = $STR_ACE_MEDICAL_TRIAGE_STATUS_DECEASED; + text = $STR_ACE_Medical_Triage_Status_Deceased; style = 0x02; size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; From 270c3adc1e67bdfa111e29fcc04e62a411c64afc Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 30 Apr 2015 22:06:10 +0200 Subject: [PATCH 32/32] Do it again, but properly this time --- addons/medical/ACE_Medical_Treatments.hpp | 6 +- addons/medical/CfgWeapons.hpp | 12 ++-- .../fnc_actionCheckBloodPressureLocal.sqf | 22 +++---- .../functions/fnc_actionCheckPulseLocal.sqf | 18 +++--- addons/medical/stringtable.xml | 62 +++++++++---------- 5 files changed, 60 insertions(+), 60 deletions(-) diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index 4f47e68a0b..8a42bbbb68 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -225,7 +225,7 @@ class ACE_Medical_Actions { }; class CheckPulse: fieldDressing { displayName = ""; - displayNameProgress = "$STR_ACE_Medical_Check_Pulse_CONTENT"; + displayNameProgress = "$STR_ACE_Medical_Check_Pulse_Content"; treatmentLocations[] = {"All"}; requiredMedic = 0; treatmentTime = 2; @@ -240,11 +240,11 @@ class ACE_Medical_Actions { }; class CheckBloodPressure: CheckPulse { callbackSuccess = QUOTE(DFUNC(actionCheckBloodPressure)); - displayNameProgress = "$STR_ACE_Medical_Check_Bloodpressure_CONTENT"; + displayNameProgress = "$STR_ACE_Medical_Check_Bloodpressure_Content"; }; class CheckResponse: CheckPulse { callbackSuccess = QUOTE(DFUNC(actionCheckResponse)); - displayNameProgress = "$STR_ACE_Medical_Check_Response_CONTENT"; + displayNameProgress = "$STR_ACE_Medical_Check_Response_Content"; }; class RemoveTourniquet: CheckPulse { treatmentTime = 2.5; diff --git a/addons/medical/CfgWeapons.hpp b/addons/medical/CfgWeapons.hpp index 5fc5a4c9a8..d70b64a1d2 100644 --- a/addons/medical/CfgWeapons.hpp +++ b/addons/medical/CfgWeapons.hpp @@ -102,8 +102,8 @@ class CfgWeapons { scope = 2; displayName = $STR_ACE_Medical_Plasma_IV; picture = QUOTE(PATHTOF(ui\items\plasmaIV_x_ca.paa)); - descriptionShort = $STR_ACE_Medical_Plasma_IV_DESC_SHORT; - descriptionUse = $STR_ACE_Medical_Plasma_IV_DESC_USE; + descriptionShort = $STR_ACE_Medical_Plasma_IV_Desc_Short; + descriptionUse = $STR_ACE_Medical_Plasma_IV_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 10; }; @@ -125,8 +125,8 @@ class CfgWeapons { model = "\A3\Structures_F_EPA\Items\Medical\BloodBag_F.p3d"; displayName = $STR_ACE_Medical_Blood_IV; picture = QUOTE(PATHTOF(ui\items\bloodIV_x_ca.paa)); - descriptionShort = $STR_ACE_Medical_Blood_IV_DESC_SHORT; - descriptionUse = $STR_ACE_Medical_Blood_IV_DESC_USE; + descriptionShort = $STR_ACE_Medical_Blood_IV_Desc_Short; + descriptionUse = $STR_ACE_Medical_Blood_IV_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 10; }; @@ -147,8 +147,8 @@ class CfgWeapons { scope = 2; displayName = $STR_ACE_Medical_Saline_IV; picture = QUOTE(PATHTOF(ui\items\salineIV_x_ca.paa)); - descriptionShort = $STR_ACE_Medical_Saline_IV_DESC_SHORT; - descriptionUse = $STR_ACE_Medical_Saline_IV_DESC_USE; + descriptionShort = $STR_ACE_Medical_Saline_IV_Desc_Short; + descriptionUse = $STR_ACE_Medical_Saline_IV_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 10; }; diff --git a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf index 7a0b332400..560b171400 100644 --- a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf @@ -28,27 +28,27 @@ _bloodPressureLow = _bloodPressure select 0; _output = ""; _logOutPut = ""; if ([_caller] call FUNC(isMedic)) then { - _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_1"; + _output = "STR_ACE_Medical_Check_Bloodpressure_Output_1"; _logOutPut = format["%1/%2",round(_bloodPressureHigh),round(_bloodPressureLow)]; } else { if (_bloodPressureHigh > 20) then { - _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_2"; - _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_LOW"; + _output = "STR_ACE_Medical_Check_Bloodpressure_Output_2"; + _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_Low"; if (_bloodPressureHigh > 100) then { - _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_3"; - _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_NORMAL"; + _output = "STR_ACE_Medical_Check_Bloodpressure_Output_3"; + _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_Normal"; if (_bloodPressureHigh > 160) then { - _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_4"; - _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_HIGH"; + _output = "STR_ACE_Medical_Check_Bloodpressure_Output_4"; + _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_High"; }; }; } else { if (random(10) > 3) then { - _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_5"; - _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_NOBLOODPRESSURE"; + _output = "STR_ACE_Medical_Check_Bloodpressure_Output_5"; + _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_NoBloodpressure"; } else { - _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_6"; + _output = "STR_ACE_Medical_Check_Bloodpressure_Output_6"; }; }; }; @@ -56,5 +56,5 @@ if ([_caller] call FUNC(isMedic)) then { ["displayTextStructured", [_caller], [[_output, [_target] call EFUNC(common,getName), round(_bloodPressureHigh),round(_bloodPressureLow)], 1.75, _caller]] call EFUNC(common,targetEvent); if (_logOutPut != "") then { - [_target,"activity", localize "STR_ACE_Medical_Check_Bloodpressure_LOG", [[_caller] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog); + [_target,"activity", localize "STR_ACE_Medical_Check_Bloodpressure_Log", [[_caller] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog); }; diff --git a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf index 3f49cba6e6..85e9bee828 100644 --- a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf @@ -23,24 +23,24 @@ _heartRate = _unit getvariable [QGVAR(heartRate), 80]; if (!alive _unit) then { _heartRate = 0; }; -_heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_5"; +_heartRateOutput = "STR_ACE_Medical_Check_Pulse_Output_5"; _logOutPut = "No heart rate"; if (_heartRate > 1.0) then { if ([_caller] call FUNC(isMedic)) then { - _heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_1"; + _heartRateOutput = "STR_ACE_Medical_Check_Pulse_Output_1"; _logOutPut = format["%1",round(_heartRate)]; } else { // non medical personel will only find a pulse/HR - _heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_2"; - _logOutPut = localize "STR_ACE_Medical_Check_Pulse_WEAK"; + _heartRateOutput = "STR_ACE_Medical_Check_Pulse_Output_2"; + _logOutPut = localize "STR_ACE_Medical_Check_Pulse_Weak"; if (_heartRate > 60) then { if (_heartRate > 100) then { - _heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_3"; - _logOutPut = localize "STR_ACE_Medical_Check_Pulse_STRONG"; + _heartRateOutput = "STR_ACE_Medical_Check_Pulse_Output_3"; + _logOutPut = localize "STR_ACE_Medical_Check_Pulse_Strong"; } else { - _heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_4"; - _logOutPut = localize "STR_ACE_Medical_Check_Pulse_NORMAL"; + _heartRateOutput = "STR_ACE_Medical_Check_Pulse_Output_4"; + _logOutPut = localize "STR_ACE_Medical_Check_Pulse_Normal"; }; }; }; @@ -49,5 +49,5 @@ if (_heartRate > 1.0) then { ["displayTextStructured", [_caller], [[_heartRateOutput, [_unit] call EFUNC(common,getName), round(_heartRate)], 1.5, _caller]] call EFUNC(common,targetEvent); if (_logOutPut != "") then { - [_unit,"activity", localize "STR_ACE_Medical_Check_Pulse_LOG",[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog); + [_unit,"activity", localize "STR_ACE_Medical_Check_Pulse_Log",[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog); }; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 122244f990..c164b37bf1 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -978,7 +978,7 @@ Plasma IV (1000ml) Plasma IV (1000ml) - + A volume-expanding blood supplement. Дополнительный препарат, применяемый при возмещении объема крови. Suplemento para expandir el volumen sanguíneo. @@ -989,7 +989,7 @@ Volumenerweiterungsmittel (künstliches Blutvolumen) Suplemento para expandir o volume sanguíneo. - + A volume-expanding blood supplement. Дополнительный препарат, применяемый при возмещении объема крови. Suplemento para expandir el volumen sanguíneo. @@ -1033,7 +1033,7 @@ Sangue IV (1000ml) Sangue IV (1000ml) - + Blood IV, for restoring a patients blood (keep cold) Пакет крови для возмещения объёма потерянной крови (хранить в холодильнике) Sangre intravenosa, para restarurar el volumen sanguíneo (mantener frío) @@ -1044,7 +1044,7 @@ Blut IV, Bluthaushalt des Patienten wiederherstellen. (Kühl halten) Sangue intravenoso, para restaurar o volume sanguinio do paciente.(Manter frio) - + O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. Кровь I группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема потерянной крови на догоспитальном этапе оказания медицинской помощи. Krew 0 Rh-, używana w rzadkich i szczególnych przypadkach do uzupełnienia krwi u pacjenta, zazwyczaj w trakcie fazie transportu rannej osoby do szpitala. @@ -1087,7 +1087,7 @@ Soluzione salina IV (1000ml) Soro IV (1000ml) - + Saline IV, for restoring a patients blood Пакет физраствора для возмещения объёма потерянной крови Solución salina intravenosa, para restaurar el volumen sanguíneo @@ -1098,7 +1098,7 @@ Kochsalzlösung, ein medizinisches Volumenersatzmittel Solução Salina Intravenosa 0.9%, para restaurar o volume de sangue temporariamente. - + A medical volume-replenishing agent introduced into the blood system through an IV infusion. Пакет физиологического раствора для возмещения объёма потерянной крови путем внутривенного вливания Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa. @@ -1285,7 +1285,7 @@ Pressione sanguigna Pressão Arterial - + Checking Blood Pressure.. Mesure de la tension ... Проверка артериального давления ... @@ -1296,7 +1296,7 @@ Controllando la pressione sanguigna.. Aferindo Pressão Arterial... - + %1 checked Blood Pressure: %2 %1 kontrollierte Blutdruck: %2 %1 controllata pressione sanguigna: %2 @@ -1304,7 +1304,7 @@ %1 à vérifié la tension: %2 %1 sprawdził ciśnienie krwi: %2 - + You checked %1 Vous diagnostiquez %1 Вы осмотрели раненого %1 @@ -1315,7 +1315,7 @@ Hai diagnosticato %1 Você aferiu o paciente %1 - + You find a blood pressure of %2/%3 Vous avez trouvé une tension de %2/%3 Артериальное давление %2/%3 @@ -1326,7 +1326,7 @@ Der Blutdruck liegt bei %2/%3 A Pressão Arterial é de %2/%3 - + You find a low blood pressure Tension basse Давление низкое @@ -1337,7 +1337,7 @@ La pressione sanguigna è bassa Pressão Arterial baixa - + You find a normal blood pressure Tension normale Давление нормальное @@ -1348,7 +1348,7 @@ La pressione sanguigna è normale Pressão Arterial normal - + You find a high blood pressure Tension haute Давление высокое @@ -1359,7 +1359,7 @@ La pressione sanguigna è alta Pressão Arterial Alta - + You find no blood pressure Pas de tension Давления нет @@ -1370,7 +1370,7 @@ La pressione sanguigna è assente Sem Pressão Arterial - + You fail to find a blood pressure Vous n'avez pas pu mesurer de tension Артериальное давление не определяется @@ -1381,7 +1381,7 @@ Manca strumento per misurare pressione sanguigna Você falhou em aferir a Pressão Arterial - + Low Niedrig Basso @@ -1389,7 +1389,7 @@ Faible Niskie - + Normal Normal Normale @@ -1397,7 +1397,7 @@ Normale Normalne - + High Hoch Alto @@ -1405,7 +1405,7 @@ Haute Wysokie - + No Blood Pressure Kein Blutdruck Nessuna Pressione Sanguigna @@ -1424,7 +1424,7 @@ Polso Pulso - + Checking Heart Rate ... Vérification du rythme cardiaque ... Проверка пульса ... @@ -1435,7 +1435,7 @@ Controllando il battito cardiaco ... Aferindo Pulso ... - + You checked %1 Вы осмотрели раненого %1 Vous examinez %1 @@ -1446,7 +1446,7 @@ Hai diagnosticato %1 Você aferiu o paciente %1 - + %1 checked Heart Rate: %2 %1 kontrollierte Herzfrequenz: %2 %1 Controllata Frequenza Cardiaca: %2 @@ -1454,7 +1454,7 @@ %1 à vérifié le rythme cardiaque: %2 %1 sprawdził tętno: %2 - + Weak Schwach Lento @@ -1462,7 +1462,7 @@ Faible Słabe - + Normal Normal Normale @@ -1470,7 +1470,7 @@ Normal Normalne - + Strong Stark Veloce @@ -1478,7 +1478,7 @@ Fort Silne - + You find a Heart Rate of %2 Rythme cardiaque de %2 Пульс %2 уд./мин. @@ -1489,7 +1489,7 @@ Il battito cardiaco è %2 A Freqüência Cardíaca é de %2 - + You find a weak Heart Rate Rythme cardiaque faible Пульс слабый @@ -1500,7 +1500,7 @@ Hai riscontrato un debole battito cardiaco Freqüência Cardíaca baixa - + You find a strong Heart Rate Rythme cardiaque élevé Пульс учащенный @@ -1511,7 +1511,7 @@ Hai riscontrato un forte battito cardiaco Freqüência Cardíaca normal - + You find a normal Heart Rate Rythme cardiaque normal Пульс в норме @@ -1522,7 +1522,7 @@ Hai riscontrato un normale battito cardiaco Freqüência Cardíaca alta - + You find no Heart Rate Pas de rythme cardiaque Пульс не прощупывается @@ -1544,7 +1544,7 @@ Risposta Reação - + You check response of patient Vous vérifiez la réponse du patient Вы проверяете реакцию раненого