mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Add medical menu
This commit is contained in:
parent
ddb4ef42f3
commit
62f84efb9b
33
addons/medical_menu/ACE_Settings.hpp
Normal file
33
addons/medical_menu/ACE_Settings.hpp
Normal file
@ -0,0 +1,33 @@
|
||||
class ACE_Settings {
|
||||
class GVAR(allow) {
|
||||
displayName = CSTRING(allow);
|
||||
description = CSTRING(allow_Descr);
|
||||
value = 1;
|
||||
typeName = "SCALAR";
|
||||
values[] = {ECSTRING(common,Disabled), ECSTRING(common,Enabled), ECSTRING(common,VehiclesOnly)};
|
||||
category = ECSTRING(medical,Category_Medical);
|
||||
};
|
||||
class GVAR(useMenu) {
|
||||
displayName = CSTRING(useMenu);
|
||||
description = CSTRING(useMenu_Descr);
|
||||
value = 0;
|
||||
typeName = "SCALAR";
|
||||
values[] = {ECSTRING(common,Disabled), ECSTRING(common,Enabled), ECSTRING(common,VehiclesOnly)};
|
||||
isClientSettable = 1;
|
||||
category = ECSTRING(medical,Category_Medical);
|
||||
};
|
||||
class GVAR(openAfterTreatment) {
|
||||
displayName = CSTRING(openAfterTreatment);
|
||||
description = CSTRING(openAfterTreatment_Descr);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
category = ECSTRING(medical,Category_Medical);
|
||||
};
|
||||
class GVAR(maxRange) {
|
||||
//for ref: 3d interaction (MEDICAL_ACTION_DISTANCE) is 1.75
|
||||
value = 3;
|
||||
typeName = "SCALAR";
|
||||
category = ECSTRING(medical,Category_Medical);
|
||||
};
|
||||
};
|
@ -1,3 +1,4 @@
|
||||
|
||||
class Extended_PreStart_EventHandlers {
|
||||
class ADDON {
|
||||
init = QUOTE(call COMPILE_FILE(XEH_preStart));
|
||||
@ -9,3 +10,9 @@ class Extended_PreInit_EventHandlers {
|
||||
init = QUOTE(call COMPILE_FILE(XEH_preInit));
|
||||
};
|
||||
};
|
||||
|
||||
class Extended_PostInit_EventHandlers {
|
||||
class ADDON {
|
||||
init = QUOTE(call COMPILE_FILE(XEH_postInit));
|
||||
};
|
||||
};
|
||||
|
71
addons/medical_menu/CfgVehicles.hpp
Normal file
71
addons/medical_menu/CfgVehicles.hpp
Normal file
@ -0,0 +1,71 @@
|
||||
|
||||
class CfgVehicles {
|
||||
|
||||
class ACE_Module;
|
||||
class ACE_moduleMedicalMenuSettings: ACE_Module {
|
||||
scope = 2;
|
||||
displayName = CSTRING(module_DisplayName);
|
||||
icon = QPATHTOEF(medical,UI\Icon_Module_Medical_ca.paa);
|
||||
category = "ACE_medical";
|
||||
function = QUOTE(DFUNC(module));
|
||||
functionPriority = 1;
|
||||
isGlobal = 0;
|
||||
isSingular = 1;
|
||||
isTriggerActivated = 0;
|
||||
author = ECSTRING(common,ACETeam);
|
||||
class Arguments {
|
||||
class allow {
|
||||
displayName = CSTRING(allow);
|
||||
description = CSTRING(allow_Descr);
|
||||
typeName = "NUMBER";
|
||||
class values {
|
||||
class disable {
|
||||
name = ECSTRING(common,Disabled);
|
||||
value = 0;
|
||||
};
|
||||
class enable {
|
||||
name = ECSTRING(common,Enabled);
|
||||
value = 1;
|
||||
default = 1;
|
||||
};
|
||||
class VehiclesOnly {
|
||||
name = ECSTRING(common,VehiclesOnly);
|
||||
value = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
class ModuleDescription {
|
||||
description = CSTRING(module_Desc);
|
||||
sync[] = {};
|
||||
};
|
||||
};
|
||||
|
||||
class Man;
|
||||
class CAManBase: Man {
|
||||
class ACE_SelfActions {
|
||||
class Medical_Menu {
|
||||
displayName = CSTRING(OpenMenu);
|
||||
runOnHover = 0;
|
||||
exceptions[] = {"isNotInside"};
|
||||
condition = QUOTE([ARR_2(ACE_player,_target)] call FUNC(canOpenMenu));
|
||||
statement = QUOTE([_target] call DFUNC(openMenu));
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
};
|
||||
};
|
||||
|
||||
class ACE_Actions {
|
||||
// Create a consolidates medical menu for treatment while boarded
|
||||
class ACE_MainActions {
|
||||
class Medical_Menu {
|
||||
displayName = CSTRING(OpenMenu);
|
||||
runOnHover = 0;
|
||||
exceptions[] = {"isNotInside"};
|
||||
condition = QUOTE([ARR_2(ACE_player,_target)] call FUNC(canOpenMenu));
|
||||
statement = QUOTE([_target] call DFUNC(openMenu));
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
11
addons/medical_menu/README.md
Normal file
11
addons/medical_menu/README.md
Normal file
@ -0,0 +1,11 @@
|
||||
ace_medical_menu
|
||||
===============
|
||||
|
||||
Provides the CSE medical menu for the advanced medical system.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [Glowbal](https://github.com/Glowbal)
|
@ -0,0 +1,18 @@
|
||||
|
||||
PREP(onMenuOpen);
|
||||
PREP(onMenuClose);
|
||||
PREP(openMenu);
|
||||
|
||||
PREP(canOpenMenu);
|
||||
PREP(updateIcons);
|
||||
PREP(updateUIInfo);
|
||||
PREP(handleUI_DisplayOptions);
|
||||
PREP(handleUI_dropDownTriageCard);
|
||||
PREP(getTreatmentOptions);
|
||||
PREP(updateActivityLog);
|
||||
PREP(updateQuickViewLog);
|
||||
PREP(updateBodyImage);
|
||||
PREP(updateInformationLists);
|
||||
PREP(setTriageStatus);
|
||||
PREP(collectActions);
|
||||
PREP(module);
|
37
addons/medical_menu/XEH_postInit.sqf
Normal file
37
addons/medical_menu/XEH_postInit.sqf
Normal file
@ -0,0 +1,37 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
if (!hasInterface) exitWith {};
|
||||
|
||||
GVAR(MenuPFHID) = -1;
|
||||
GVAR(lastOpenedOn) = -1;
|
||||
GVAR(pendingReopen) = false;
|
||||
|
||||
["ace_treatmentSucceded", {
|
||||
if (GVAR(openAfterTreatment) && {GVAR(pendingReopen)}) then {
|
||||
GVAR(pendingReopen) = false;
|
||||
[{
|
||||
[GVAR(INTERACTION_TARGET)] call FUNC(openMenu);
|
||||
}, []] call CBA_fnc_execNextFrame;
|
||||
};
|
||||
}] call CBA_fnc_addEventHandler;
|
||||
|
||||
["ACE3 Common", QGVAR(displayMenuKeyPressed), localize LSTRING(DisplayMenuKey),
|
||||
{
|
||||
private _target = cursorTarget;
|
||||
if (!((_target isKindOf "CAManBase") && {[ACE_player, _target] call FUNC(canOpenMenu)})) then {_target = ACE_player};
|
||||
|
||||
// Conditions: canInteract
|
||||
if !([ACE_player, _target, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false};
|
||||
if !([ACE_player, _target] call FUNC(canOpenMenu)) exitWith {false};
|
||||
|
||||
// Statement
|
||||
[_target] call FUNC(openMenu);
|
||||
false
|
||||
},
|
||||
{
|
||||
if (CBA_missionTime - GVAR(lastOpenedOn) > 0.5) exitWith {
|
||||
[objNull] call FUNC(openMenu);
|
||||
};
|
||||
false
|
||||
},
|
||||
[35, [false, false, false]], false, 0] call CBA_fnc_addKeybind;
|
@ -4,4 +4,11 @@ ADDON = false;
|
||||
|
||||
#include "XEH_PREP.hpp"
|
||||
|
||||
GVAR(INTERACTION_TARGET) = objNull;
|
||||
GVAR(actionsOther) = [];
|
||||
GVAR(actionsSelf) = [];
|
||||
GVAR(selectedBodyPart) = 0;
|
||||
|
||||
call FUNC(collectActions);
|
||||
|
||||
ADDON = true;
|
||||
|
@ -6,12 +6,19 @@ class CfgPatches {
|
||||
units[] = {};
|
||||
weapons[] = {};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {"ace_medical", "ace_medical_ui", "ace_medical_treatment"};
|
||||
requiredAddons[] = {"ace_medical_treatment"};
|
||||
author = ECSTRING(common,ACETeam);
|
||||
authors[] = {""};
|
||||
authors[] = {"Glowbal"};
|
||||
url = ECSTRING(main,URL);
|
||||
VERSION_CONFIG;
|
||||
};
|
||||
};
|
||||
|
||||
#include "CfgEventHandlers.hpp"
|
||||
#include "ui\menu.hpp"
|
||||
#include "ACE_Settings.hpp"
|
||||
#include "CfgVehicles.hpp"
|
||||
|
||||
class ACE_newEvents {
|
||||
Medical_onMenuOpen = "ace_medicalMenuOpened";
|
||||
};
|
||||
|
BIN
addons/medical_menu/data/background_img.paa
Normal file
BIN
addons/medical_menu/data/background_img.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/advanced_treatment_small.paa
Normal file
BIN
addons/medical_menu/data/icons/advanced_treatment_small.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/airway_management_small.paa
Normal file
BIN
addons/medical_menu/data/icons/airway_management_small.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/bandage_fracture_small.paa
Normal file
BIN
addons/medical_menu/data/icons/bandage_fracture_small.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/examine_patient_small.paa
Normal file
BIN
addons/medical_menu/data/icons/examine_patient_small.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/icon_advanced_treatment.paa
Normal file
BIN
addons/medical_menu/data/icons/icon_advanced_treatment.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/icon_airway_management.paa
Normal file
BIN
addons/medical_menu/data/icons/icon_airway_management.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/icon_bandage_fracture.paa
Normal file
BIN
addons/medical_menu/data/icons/icon_bandage_fracture.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/icon_bleeding.paa
Normal file
BIN
addons/medical_menu/data/icons/icon_bleeding.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/icon_carry.paa
Normal file
BIN
addons/medical_menu/data/icons/icon_carry.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/icon_examine_patient.paa
Normal file
BIN
addons/medical_menu/data/icons/icon_examine_patient.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/icon_medication.paa
Normal file
BIN
addons/medical_menu/data/icons/icon_medication.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/icon_toggle_self.paa
Normal file
BIN
addons/medical_menu/data/icons/icon_toggle_self.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/icon_tourniquet.paa
Normal file
BIN
addons/medical_menu/data/icons/icon_tourniquet.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/icon_tourniquet_small.paa
Normal file
BIN
addons/medical_menu/data/icons/icon_tourniquet_small.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/icon_triage_card.paa
Normal file
BIN
addons/medical_menu/data/icons/icon_triage_card.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/medication_small.paa
Normal file
BIN
addons/medical_menu/data/icons/medication_small.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/toggle_self_small.paa
Normal file
BIN
addons/medical_menu/data/icons/toggle_self_small.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/icons/triage_card_small.paa
Normal file
BIN
addons/medical_menu/data/icons/triage_card_small.paa
Normal file
Binary file not shown.
BIN
addons/medical_menu/data/ui_background.paa
Normal file
BIN
addons/medical_menu/data/ui_background.paa
Normal file
Binary file not shown.
25
addons/medical_menu/functions/fnc_canOpenMenu.sqf
Normal file
25
addons/medical_menu/functions/fnc_canOpenMenu.sqf
Normal file
@ -0,0 +1,25 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Check if ACE_player can Open the medical menu
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Caller <OBJECT>
|
||||
* 1: Target <OBJECT>
|
||||
*
|
||||
* Return Value:
|
||||
* Can open <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [player, cursorTarget] call ace_medical_menu_fnc_canOpenMenu
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_caller", "_target"];
|
||||
|
||||
(alive _caller)
|
||||
&& {!isNull _target}
|
||||
&& {((_caller distance _target) < GVAR(maxRange)) || {(vehicle _caller) == (vehicle _target)}} //for now, ignore range when in same vehicle
|
||||
&& {(GVAR(allow) == 1) || {(GVAR(allow) == 2) && {(vehicle _caller != _caller) || {vehicle _target != _target}}}}
|
||||
&& {(GVAR(useMenu) == 1) || {(GVAR(useMenu) == 2) && {(vehicle _caller != _caller) || {vehicle _target != _target}}}}
|
63
addons/medical_menu/functions/fnc_collectActions.sqf
Normal file
63
addons/medical_menu/functions/fnc_collectActions.sqf
Normal file
@ -0,0 +1,63 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Collect treatment actions from medical config
|
||||
*
|
||||
* Arguments:
|
||||
* None
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [] call ace_medical_menu_fnc_collectActions
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private _configBasic = (configFile >> "ACE_Medical_Treatments" >> "Basic");
|
||||
private _configAdvanced = (configFile >> "ACE_Medical_Treatments" >> "Advanced");
|
||||
|
||||
private _fnc_compileActionsLevel = {
|
||||
params ["_config"];
|
||||
private _actions = [];
|
||||
|
||||
{
|
||||
if (isClass _x) then {
|
||||
private _displayName = getText (_x >> "displayName");
|
||||
private _category = getText (_x >> "category");
|
||||
private _condition = format[QUOTE([ARR_4(ACE_player, GVAR(INTERACTION_TARGET), EGVAR(medical,SELECTIONS) select GVAR(selectedBodyPart), '%1')] call DEFUNC(medical,canTreatCached)), configName _x];
|
||||
private _statement = format[QUOTE([ARR_4(ACE_player, GVAR(INTERACTION_TARGET), EGVAR(medical,SELECTIONS) select GVAR(selectedBodyPart), '%1')] call DEFUNC(medical,treatment)), configName _x];
|
||||
_actions pushBack [_displayName, _category, compile _condition, compile _statement];
|
||||
};
|
||||
nil
|
||||
} count ("true" configClasses _config);
|
||||
|
||||
_actions;
|
||||
};
|
||||
|
||||
GVAR(actionsBasic) = [_configBasic] call _fnc_compileActionsLevel;
|
||||
GVAR(actionsAdvanced) = [_configAdvanced] call _fnc_compileActionsLevel;
|
||||
|
||||
//Manually add the drag actions, if dragging exists.
|
||||
if (["ace_dragging"] call EFUNC(common,isModLoaded)) then {
|
||||
private _condition = {
|
||||
(ACE_player != GVAR(INTERACTION_TARGET)) && {[ACE_player, GVAR(INTERACTION_TARGET)] call EFUNC(dragging,canDrag)}
|
||||
};
|
||||
private _statement = {
|
||||
GVAR(pendingReopen) = false; //No medical_treatmentSuccess event after drag, so don't want this true
|
||||
[ACE_player, GVAR(INTERACTION_TARGET)] call EFUNC(dragging,startDrag);
|
||||
};
|
||||
GVAR(actionsBasic) pushBack [localize ELSTRING(dragging,Drag), "drag", _condition, _statement];
|
||||
GVAR(actionsAdvanced) pushBack [localize ELSTRING(dragging,Drag), "drag", _condition, _statement];
|
||||
|
||||
private _condition = {
|
||||
(ACE_player != GVAR(INTERACTION_TARGET)) && {[ACE_player, GVAR(INTERACTION_TARGET)] call EFUNC(dragging,canCarry)}
|
||||
};
|
||||
private _statement = {
|
||||
GVAR(pendingReopen) = false; //No medical_treatmentSuccess event after drag, so don't want this true
|
||||
[ACE_player, GVAR(INTERACTION_TARGET)] call EFUNC(dragging,startCarry);
|
||||
};
|
||||
GVAR(actionsBasic) pushBack [localize ELSTRING(dragging,Carry), "drag", _condition, _statement];
|
||||
GVAR(actionsAdvanced) pushBack [localize ELSTRING(dragging,Carry), "drag", _condition, _statement];
|
||||
};
|
40
addons/medical_menu/functions/fnc_getTreatmentOptions.sqf
Normal file
40
addons/medical_menu/functions/fnc_getTreatmentOptions.sqf
Normal file
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Grab available treatment options for given category
|
||||
*
|
||||
* Arguments:
|
||||
* 0: The medic <OBJECT>
|
||||
* 1: The patient <OBJECT>
|
||||
* 2: Category name <STRING>
|
||||
*
|
||||
* Return Value:
|
||||
* Available actions <ARRAY>
|
||||
*
|
||||
* Exmaple:
|
||||
* [ACE_player, poor_dude, "some category"] call ace_medical_menu_fnc_getTreatmentOptions
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_player", "_target", "_name"];
|
||||
|
||||
if (!([ACE_player, _target, ["isNotInside"]] call EFUNC(common,canInteractWith))) exitWith {[]};
|
||||
|
||||
private _actions = if (EGVAR(medical,level) == 2) then {
|
||||
GVAR(actionsAdvanced);
|
||||
} else {
|
||||
GVAR(actionsBasic);
|
||||
};
|
||||
|
||||
private _collectedActions = [];
|
||||
private _bodyPart = EGVAR(medical,SELECTIONS) select GVAR(selectedBodyPart);
|
||||
{
|
||||
_x params ["", "_currentCategory", "_currentCondition"];
|
||||
if (_name == _currentCategory && {call _currentCondition}) then {
|
||||
_collectedActions pushBack _x;
|
||||
};
|
||||
nil
|
||||
} count _actions;
|
||||
|
||||
_collectedActions;
|
112
addons/medical_menu/functions/fnc_handleUI_DisplayOptions.sqf
Normal file
112
addons/medical_menu/functions/fnc_handleUI_DisplayOptions.sqf
Normal file
@ -0,0 +1,112 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Display the available treatment options in category
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Category name <STRING>
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* ["some category"] call ace_medical_menu_fnc_handleUI_DisplayOptions
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
#define START_IDC 20
|
||||
#define END_IDC 27
|
||||
#define AMOUNT_OF_ENTRIES (count _entries)
|
||||
|
||||
if (!hasInterface) exitWith{};
|
||||
|
||||
private ["_entries", "_display", "_newTarget", "_ctrl", "_code"];
|
||||
|
||||
params ["_name"];
|
||||
|
||||
disableSerialization;
|
||||
|
||||
_display = uiNamespace getVariable QGVAR(medicalMenu);
|
||||
if (isNil "_display") exitWith {}; // no valid dialog present
|
||||
|
||||
if (_name isEqualTo "toggle") exitWith {
|
||||
_newTarget = ACE_player;
|
||||
//If we are on the player, and only if our old target is still valid, switch to it:
|
||||
if ((GVAR(INTERACTION_TARGET) == ACE_player) &&
|
||||
{[ACE_player, GVAR(INTERACTION_TARGET_PREVIOUS), ["isNotInside"]] call EFUNC(common,canInteractWith)} &&
|
||||
{[ACE_player, GVAR(INTERACTION_TARGET_PREVIOUS)] call FUNC(canOpenMenu)}) then {
|
||||
_newTarget = GVAR(INTERACTION_TARGET_PREVIOUS);
|
||||
};
|
||||
|
||||
GVAR(INTERACTION_TARGET_PREVIOUS) = GVAR(INTERACTION_TARGET);
|
||||
|
||||
closeDialog 0;
|
||||
[{
|
||||
[_this select 0] call FUNC(openMenu);
|
||||
}, [_newTarget], 0.1] call CBA_fnc_waitAndExecute;
|
||||
};
|
||||
|
||||
// Clean the dropdown options list from all actions
|
||||
for [{_x = START_IDC}, {_x <= END_IDC}, {_x = _x + 1}] do {
|
||||
_ctrl = (_display displayCtrl (_x));
|
||||
_ctrl ctrlSetText "";
|
||||
_ctrl ctrlShow false;
|
||||
_ctrl ctrlSetEventHandler ["ButtonClick",""];
|
||||
_ctrl ctrlSetTooltip "";
|
||||
_ctrl ctrlCommit 0;
|
||||
};
|
||||
|
||||
GVAR(LatestDisplayOptionMenu) = _name;
|
||||
|
||||
// The triage card has no options available
|
||||
lbClear 212;
|
||||
if (_name isEqualTo "triage") exitWith {
|
||||
|
||||
ctrlEnable [212, true];
|
||||
private ["_log", "_triageCardTexts", "_message"];
|
||||
_log = GVAR(INTERACTION_TARGET) getVariable [QEGVAR(medical,triageCard), []];
|
||||
_triageCardTexts = [];
|
||||
{
|
||||
_x params ["_item", "_amount", "_time"];
|
||||
_message = _item;
|
||||
if (isClass(configFile >> "CfgWeapons" >> _item)) then {
|
||||
_message = getText(configFile >> "CfgWeapons" >> _item >> "DisplayName");
|
||||
} else {
|
||||
if (isLocalized _message) then {
|
||||
_message = localize _message;
|
||||
};
|
||||
};
|
||||
_triageCardTexts pushBack format["%1x - %2 (%3m)", _amount, _message, round((CBA_missionTime - _time) / 60)];
|
||||
nil;
|
||||
} count _log;
|
||||
|
||||
if (count _triageCardTexts == 0) exitWith {
|
||||
lbAdd [212,(localize ELSTRING(medical,TriageCard_NoEntry))];
|
||||
};
|
||||
{
|
||||
lbAdd [212,_x];
|
||||
nil;
|
||||
}count _triageCardTexts;
|
||||
};
|
||||
|
||||
ctrlEnable [212, false];
|
||||
|
||||
_entries = [ACE_player, GVAR(INTERACTION_TARGET), _name] call FUNC(getTreatmentOptions);
|
||||
|
||||
{
|
||||
//player sidechat format["TRIGGERED: %1",_x];
|
||||
if (_forEachIndex > END_IDC) exitWith {};
|
||||
_ctrl = (_display displayCtrl (START_IDC + _forEachIndex));
|
||||
if (!(_forEachIndex > AMOUNT_OF_ENTRIES)) then {
|
||||
_ctrl ctrlSetText (_x select 0);
|
||||
_code = format ["ace_medical_menu_pendingReopen = true; call %1;", (_x select 3)];
|
||||
_ctrl ctrlSetEventHandler ["ButtonClick", _code];
|
||||
_ctrl ctrlSetTooltip (_x select 0); // TODO implement
|
||||
_ctrl ctrlShow true;
|
||||
} else {
|
||||
_ctrl ctrlSetText "";
|
||||
_ctrl ctrlSetEventHandler ["ButtonClick", ""];
|
||||
};
|
||||
_ctrl ctrlCommit 0;
|
||||
} forEach _entries;
|
@ -0,0 +1,33 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Handle the triage card display
|
||||
*
|
||||
* Arguments:
|
||||
* None
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [] call ace_medical_menu_fnc_handleUI_dropDownTriageCard
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
disableSerialization;
|
||||
|
||||
private _display = uiNamespace getVariable QGVAR(medicalMenu);
|
||||
private _pos = [0, 0, 0, 0];
|
||||
private _currentPos = ctrlPosition (_display displayCtrl 2002);
|
||||
_currentPos params ["_currentPosX", "_currentPosY"];
|
||||
if (_currentPosX == 0 && _currentPosY == 0) then {
|
||||
_pos = ctrlPosition (_display displayCtrl 2001);
|
||||
};
|
||||
|
||||
for "_idc" from 2002 to 2006 step 1 do {
|
||||
_pos set [1, (_pos select 1) + (_pos select 3)];
|
||||
private _ctrl = _display displayCtrl _idc;
|
||||
_ctrl ctrlSetPosition _pos;
|
||||
_ctrl ctrlCommit 0;
|
||||
};
|
22
addons/medical_menu/functions/fnc_module.sqf
Normal file
22
addons/medical_menu/functions/fnc_module.sqf
Normal file
@ -0,0 +1,22 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Module for adjusting the medical menu settings
|
||||
*
|
||||
* Arguments:
|
||||
* 0: The module logic <LOGIC>
|
||||
* 1: units <ARRAY>
|
||||
* 2: activated <BOOL>
|
||||
*
|
||||
* Return Value:
|
||||
* None <NIL>
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_logic", "", "_activated"];
|
||||
|
||||
if !(_activated) exitWith {};
|
||||
|
||||
[_logic, QGVAR(allow), "allow"] call EFUNC(common,readSettingFromModule);
|
22
addons/medical_menu/functions/fnc_onMenuClose.sqf
Normal file
22
addons/medical_menu/functions/fnc_onMenuClose.sqf
Normal file
@ -0,0 +1,22 @@
|
||||
/*
|
||||
* Author: joko // Jonas
|
||||
* Handle medical menu closed
|
||||
*
|
||||
* Arguments:
|
||||
* None
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* call ace_medical_menu_fnc_onMenuClosed
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
if (EGVAR(interact_menu,menuBackground)==1) then {[QGVAR(id), false] call EFUNC(common,blurScreen);};
|
||||
if (EGVAR(interact_menu,menuBackground)==2) then {(uiNamespace getVariable [QEGVAR(interact_menu,menuBackground), displayNull]) closeDisplay 0;};
|
||||
|
||||
[GVAR(MenuPFHID)] call CBA_fnc_removePerFrameHandler;
|
||||
GVAR(MenuPFHID) = -1;
|
88
addons/medical_menu/functions/fnc_onMenuOpen.sqf
Normal file
88
addons/medical_menu/functions/fnc_onMenuOpen.sqf
Normal file
@ -0,0 +1,88 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Handle medical menu opened
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Medical Menu display <DISPLAY>
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [medical_menu] call ace_medical_menu_fnc_onMenuOpen
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
#define MAX_DISTANCE 10
|
||||
|
||||
params ["_display"];
|
||||
|
||||
if (isNil "_display") exitWith {};
|
||||
|
||||
if (EGVAR(interact_menu,menuBackground)==1) then {[QGVAR(id), true] call EFUNC(common,blurScreen);};
|
||||
if (EGVAR(interact_menu,menuBackground)==2) then {0 cutRsc[QEGVAR(interact_menu,menuBackground), "PLAIN", 1, false];};
|
||||
|
||||
if (isNil QGVAR(LatestDisplayOptionMenu)) then {
|
||||
GVAR(LatestDisplayOptionMenu) = "triage";
|
||||
} else {
|
||||
if (GVAR(LatestDisplayOptionMenu) == "toggle") then {
|
||||
GVAR(LatestDisplayOptionMenu) = "triage";
|
||||
GVAR(INTERACTION_TARGET) = GVAR(INTERACTION_TARGET_PREVIOUS);
|
||||
};
|
||||
};
|
||||
|
||||
private _target = GVAR(INTERACTION_TARGET);
|
||||
if (isNil QGVAR(INTERACTION_TARGET_PREVIOUS)) then {
|
||||
GVAR(INTERACTION_TARGET_PREVIOUS) = _target;
|
||||
};
|
||||
[GVAR(LatestDisplayOptionMenu)] call FUNC(handleUI_DisplayOptions);
|
||||
|
||||
disableSerialization;
|
||||
|
||||
[_target, _display] call FUNC(updateUIInfo);
|
||||
|
||||
(_display displayCtrl 11) ctrlSetTooltip localize LSTRING(VIEW_TRIAGE_CARD);
|
||||
(_display displayCtrl 12) ctrlSetTooltip localize LSTRING(EXAMINE_PATIENT);
|
||||
(_display displayCtrl 13) ctrlSetTooltip localize LSTRING(BANDAGE_FRACTURES);
|
||||
(_display displayCtrl 14) ctrlSetTooltip localize LSTRING(MEDICATION);
|
||||
(_display displayCtrl 15) ctrlSetTooltip localize LSTRING(AIRWAY_MANAGEMENT);
|
||||
(_display displayCtrl 16) ctrlSetTooltip localize LSTRING(ADVANCED_TREATMENT);
|
||||
(_display displayCtrl 17) ctrlSetTooltip localize LSTRING(DRAG_CARRY);
|
||||
(_display displayCtrl 18) ctrlSetTooltip localize LSTRING(TOGGLE_SELF);
|
||||
|
||||
(_display displayCtrl 301) ctrlSetTooltip localize LSTRING(SELECT_HEAD);
|
||||
(_display displayCtrl 302) ctrlSetTooltip localize LSTRING(SELECT_TORSO);
|
||||
(_display displayCtrl 303) ctrlSetTooltip localize LSTRING(SELECT_ARM_R);
|
||||
(_display displayCtrl 304) ctrlSetTooltip localize LSTRING(SELECT_ARM_L);
|
||||
(_display displayCtrl 305) ctrlSetTooltip localize LSTRING(SELECT_LEG_R);
|
||||
(_display displayCtrl 306) ctrlSetTooltip localize LSTRING(SELECT_LEG_L);
|
||||
(_display displayCtrl 2001) ctrlSetTooltip localize LSTRING(SELECT_TRIAGE_STATUS);
|
||||
|
||||
(_display displayCtrl 1) ctrlSetText format ["%1", [_target] call EFUNC(common,getName)];
|
||||
setMousePosition [0.4, 0.4];
|
||||
|
||||
if (GVAR(MenuPFHID) != -1) exitWith {ERROR("PFID already running");};
|
||||
|
||||
GVAR(MenuPFHID) = [{
|
||||
|
||||
(_this select 0) params ["_display"];
|
||||
if (isNull GVAR(INTERACTION_TARGET)) then {
|
||||
GVAR(INTERACTION_TARGET) = ACE_player;
|
||||
};
|
||||
[GVAR(INTERACTION_TARGET), _display] call FUNC(updateUIInfo);
|
||||
[GVAR(INTERACTION_TARGET)] call FUNC(updateIcons);
|
||||
[GVAR(LatestDisplayOptionMenu)] call FUNC(handleUI_DisplayOptions);
|
||||
|
||||
//Check that it's valid to stay open:
|
||||
if !(([ACE_player, GVAR(INTERACTION_TARGET), ["isNotInside"]] call EFUNC(common,canInteractWith)) && {[ACE_player, GVAR(INTERACTION_TARGET)] call FUNC(canOpenMenu)}) then {
|
||||
closeDialog 314412;
|
||||
//If we failed because of distance check, show UI message:
|
||||
if ((ACE_player distance GVAR(INTERACTION_TARGET)) > GVAR(maxRange)) then {
|
||||
[[ELSTRING(medical,DistanceToFar), [GVAR(INTERACTION_TARGET)] call EFUNC(common,getName)], 2] call EFUNC(common,displayTextStructured);
|
||||
};
|
||||
};
|
||||
|
||||
}, 0, [_display]] call CBA_fnc_addPerFrameHandler;
|
||||
|
||||
["ace_medicalMenuOpened", [ACE_player, _target]] call CBA_fnc_localEvent;
|
34
addons/medical_menu/functions/fnc_openMenu.sqf
Normal file
34
addons/medical_menu/functions/fnc_openMenu.sqf
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Open the medical menu for target
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Target <OBJECT>
|
||||
*
|
||||
* Return Value:
|
||||
* If action was taken <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [some_player] call ace_medical_menu_fnc_openMenu
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_interactionTarget"];
|
||||
|
||||
if (dialog || {isNull _interactionTarget}) exitWith {
|
||||
disableSerialization;
|
||||
|
||||
private _display = uiNamespace getVariable QGVAR(medicalMenu);
|
||||
if (!isNil "_display") then {
|
||||
closeDialog 314412;
|
||||
};
|
||||
};
|
||||
|
||||
GVAR(INTERACTION_TARGET) = _interactionTarget;
|
||||
|
||||
createDialog QGVAR(medicalMenu);
|
||||
GVAR(lastOpenedOn) = CBA_missionTime;
|
||||
|
||||
true
|
18
addons/medical_menu/functions/fnc_setTriageStatus.sqf
Normal file
18
addons/medical_menu/functions/fnc_setTriageStatus.sqf
Normal file
@ -0,0 +1,18 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Set the triage status of object
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Target <OBJECT>
|
||||
* 1: Status <NUMBER>
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_target", "_status"];
|
||||
|
||||
_target setVariable [QEGVAR(medical,triageLevel), _status, true];
|
40
addons/medical_menu/functions/fnc_updateActivityLog.sqf
Normal file
40
addons/medical_menu/functions/fnc_updateActivityLog.sqf
Normal file
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Update the activity log
|
||||
*
|
||||
* Arguments:
|
||||
* 0: display <DISPLAY>
|
||||
* 1: log collection <ARRAY>
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [some_display, log] call ace_medical_menu_fnc_updateActivityLog
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_display", "_logs"];
|
||||
|
||||
private _logCtrl = _display displayCtrl 214;
|
||||
lbClear _logCtrl;
|
||||
|
||||
{
|
||||
_x params ["_message", "_moment", "", "_arguments"];
|
||||
|
||||
if (isLocalized _message) then {
|
||||
_message = localize _message;
|
||||
};
|
||||
|
||||
{
|
||||
if (_x isEqualType "" && {isLocalized _x}) then {
|
||||
_arguments set [_foreachIndex, localize _x];
|
||||
};
|
||||
} forEach _arguments;
|
||||
|
||||
_message = format ([_message] + _arguments);
|
||||
_logCtrl lbAdd format ["%1 %2", _moment, _message];
|
||||
nil
|
||||
} count _logs;
|
41
addons/medical_menu/functions/fnc_updateBodyImage.sqf
Normal file
41
addons/medical_menu/functions/fnc_updateBodyImage.sqf
Normal file
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Update the body image on the menu
|
||||
*
|
||||
* Arguments:
|
||||
* 0: selection bloodloss <ARRAY>
|
||||
* 1: damaged (array of bools) <ARRAY>
|
||||
* 2: display <DISPLAY>
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [0.3, some_display] call ace_medical_menu_fnc_updateBodyImage
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_selectionBloodLoss", "_damaged", "_display"];
|
||||
|
||||
// Handle the body image coloring
|
||||
private _availableSelections = [50, 51, 52, 53, 54, 55];
|
||||
{
|
||||
private _red = 1;
|
||||
private _green = 1;
|
||||
private _blue = 1;
|
||||
|
||||
if (_x > 0) then {
|
||||
if (_damaged select _forEachIndex) then {
|
||||
_green = (0.9 - _x) max 0;
|
||||
_blue = _green;
|
||||
} else {
|
||||
_green = (0.9 - _x) max 0;
|
||||
_red = _green;
|
||||
//_blue = _green;
|
||||
};
|
||||
};
|
||||
|
||||
(_display displayCtrl (_availableSelections select _forEachIndex)) ctrlSetTextColor [_red, _green, _blue, 1.0];
|
||||
} forEach _selectionBloodLoss;
|
33
addons/medical_menu/functions/fnc_updateIcons.sqf
Normal file
33
addons/medical_menu/functions/fnc_updateIcons.sqf
Normal file
@ -0,0 +1,33 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Update the category icons
|
||||
*
|
||||
* Arguments:
|
||||
* None
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [] call ace_medical_menu_fnc_updateIcons
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
#define START_IDC 111
|
||||
#define END_IDC 118
|
||||
|
||||
disableSerialization;
|
||||
|
||||
private _display = uiNamespace getVariable QGVAR(medicalMenu);
|
||||
private _options = ["triage" , "examine", "bandage", "medication", "airway", "advanced", "drag", "toggle"];
|
||||
|
||||
for "_idc" from START_IDC to END_IDC step 1 do {
|
||||
private _amount = [ACE_player, GVAR(INTERACTION_TARGET), _options select (_idc - START_IDC)] call FUNC(getTreatmentOptions);
|
||||
if ((count _amount) > 0 || _idc == START_IDC || _idc == END_IDC) then {
|
||||
(_display displayCtrl _idc) ctrlSettextColor [1, 1, 1, 1];
|
||||
} else {
|
||||
(_display displayCtrl _idc) ctrlSettextColor [0.4, 0.4, 0.4, 1];
|
||||
};
|
||||
};
|
36
addons/medical_menu/functions/fnc_updateInformationLists.sqf
Normal file
36
addons/medical_menu/functions/fnc_updateInformationLists.sqf
Normal file
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Update the treatment information list
|
||||
*
|
||||
* Arguments:
|
||||
* 0: display <DISPLAY>
|
||||
* 1: message collection <ARRAY>
|
||||
* 2: injury collection <ARRAY>
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_display", "_genericMessages", "_allInjuryTexts"];
|
||||
|
||||
private _lbCtrl = _display displayCtrl 213;
|
||||
lbClear _lbCtrl;
|
||||
{
|
||||
_x params ["_add", "_color"];
|
||||
_lbCtrl lbAdd _add;
|
||||
_lbCtrl lbSetColor [_forEachIndex, _color];
|
||||
} forEach _genericMessages;
|
||||
|
||||
private _amountOfGeneric = count _genericMessages;
|
||||
{
|
||||
_x params ["_add", "_color"];
|
||||
_lbCtrl lbAdd _add;
|
||||
_lbCtrl lbSetColor [_forEachIndex + _amountOfGeneric, _color];
|
||||
} forEach _allInjuryTexts;
|
||||
|
||||
if (_allInjuryTexts isEqualTo []) then {
|
||||
_lbCtrl lbAdd localize ELSTRING(medical,NoInjuriesBodypart);
|
||||
};
|
36
addons/medical_menu/functions/fnc_updateQuickViewLog.sqf
Normal file
36
addons/medical_menu/functions/fnc_updateQuickViewLog.sqf
Normal file
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Update the quick view log
|
||||
*
|
||||
* Arguments:
|
||||
* 0: display <DISPLAY>
|
||||
* 1: log collection <ARRAY>
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [some_display, log] call ace_medical_menu_fnc_updateQuickViewLog
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_display", "_logs"];
|
||||
|
||||
private _logCtrl = _display displayCtrl 215;
|
||||
lbClear _logCtrl;
|
||||
|
||||
{
|
||||
_x params ["_message", "_moment", "", "_arguments"];
|
||||
|
||||
{
|
||||
if (_x isEqualType "" && {isLocalized _x}) then {
|
||||
_arguments set [_foreachIndex, localize _x];
|
||||
};
|
||||
} forEach _arguments;
|
||||
|
||||
_message = format ([([_message, localize _message] select (isLocalized _message))] + _arguments);
|
||||
_logCtrl lbAdd format ["%1 %2", _moment, _message];
|
||||
nil
|
||||
} count _logs;
|
158
addons/medical_menu/functions/fnc_updateUIInfo.sqf
Normal file
158
addons/medical_menu/functions/fnc_updateUIInfo.sqf
Normal file
@ -0,0 +1,158 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Update all UI information in the medical menu
|
||||
*
|
||||
* Arguments:
|
||||
* 0: target <OBJECT>
|
||||
* 1: display <DISPLAY>
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [some_player, some_display] call ace_medical_menu_fnc_updateUIInfo
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_target", "_display"];
|
||||
|
||||
private["_allInjuryTexts", "_bandagedwounds", "_damaged", "_genericMessages", "_logs", "_openWounds", "_part", "_partText", "_pointDamage", "_selectionBloodLoss", "_selectionN", "_severity", "_totalIvVolume", "_triageStatus"];
|
||||
|
||||
if (isNil "_display" || {isNull _display}) exitWith {ERROR("No display");};
|
||||
|
||||
_selectionN = GVAR(selectedBodyPart);
|
||||
if (_selectionN < 0 || {_selectionN > 5}) exitWith {};
|
||||
|
||||
_genericMessages = [];
|
||||
_partText = [ELSTRING(medical,Head), ELSTRING(medical,Torso), ELSTRING(medical,LeftArm) ,ELSTRING(medical,RightArm) ,ELSTRING(medical,LeftLeg), ELSTRING(medical,RightLeg)] select _selectionN;
|
||||
_genericMessages pushBack [localize _partText, [1, 1, 1, 1]];
|
||||
|
||||
if (_target getVariable [QEGVAR(medical,isBleeding), false]) then {
|
||||
_genericMessages pushBack [localize ELSTRING(medical,Status_Bleeding), [1, 0.1, 0.1, 1]];
|
||||
};
|
||||
|
||||
if (_target getVariable [QEGVAR(medical,hasLostBlood), 0] > 1) then {
|
||||
_genericMessages pushBack [localize ELSTRING(medical,Status_Lost_Blood), [1, 0.1, 0.1, 1]];
|
||||
};
|
||||
|
||||
if (((_target getVariable [QEGVAR(medical,tourniquets), [0, 0, 0, 0, 0, 0]]) select _selectionN) > 0) then {
|
||||
_genericMessages pushBack [localize ELSTRING(medical,Status_Tourniquet_Applied), [0.77, 0.51, 0.08, 1]];
|
||||
};
|
||||
|
||||
if (_target getVariable [QEGVAR(medical,hasPain), false]) then {
|
||||
_genericMessages pushBack [localize ELSTRING(medical,Status_Pain), [1, 1, 1, 1]];
|
||||
};
|
||||
|
||||
_totalIvVolume = 0;
|
||||
{
|
||||
private "_value";
|
||||
_value = _target getVariable _x;
|
||||
if (!isNil "_value") then {
|
||||
_totalIvVolume = _totalIvVolume + (_target getVariable [_x, 0]);
|
||||
};
|
||||
} count EGVAR(medical,IVBags);
|
||||
|
||||
if (_totalIvVolume >= 1) then {
|
||||
_genericMessages pushBack [format [localize ELSTRING(medical,receivingIvVolume), floor _totalIvVolume], [1, 1, 1, 1]];
|
||||
};
|
||||
|
||||
_damaged = [false, false, false, false, false, false];
|
||||
_selectionBloodLoss = [0, 0, 0, 0, 0, 0];
|
||||
|
||||
_allInjuryTexts = [];
|
||||
if ((EGVAR(medical,level) >= 2) && {([_target] call EFUNC(medical,hasMedicalEnabled))}) then {
|
||||
_openWounds = _target getVariable [QEGVAR(medical,openWounds), []];
|
||||
private "_amountOf";
|
||||
{
|
||||
_amountOf = _x select 3;
|
||||
// Find how much this bodypart is bleeding
|
||||
if (_amountOf > 0) then {
|
||||
_damaged set [_x select 2, true];
|
||||
_selectionBloodLoss set [_x select 2, (_selectionBloodLoss select (_x select 2)) + (20 * ((_x select 4) * _amountOf))];
|
||||
|
||||
if (_selectionN == (_x select 2)) then {
|
||||
// Collect the text to be displayed for this injury [ Select injury class type definition - select the classname DisplayName (6th), amount of injuries for this]
|
||||
if (_amountOf >= 1) then {
|
||||
// TODO localization
|
||||
_allInjuryTexts pushBack [format["%2x %1", (EGVAR(medical,AllWoundInjuryTypes) select (_x select 1)) select 6, ceil _amountOf], [1,1,1,1]];
|
||||
} else {
|
||||
// TODO localization
|
||||
_allInjuryTexts pushBack [format["Partial %1", (EGVAR(medical,AllWoundInjuryTypes) select (_x select 1)) select 6], [1,1,1,1]];
|
||||
};
|
||||
};
|
||||
};
|
||||
} forEach _openWounds;
|
||||
|
||||
_bandagedwounds = _target getVariable [QEGVAR(medical,bandagedWounds), []];
|
||||
{
|
||||
_amountOf = _x select 3;
|
||||
// Find how much this bodypart is bleeding
|
||||
if !(_damaged select (_x select 2)) then {
|
||||
_selectionBloodLoss set [_x select 2, (_selectionBloodLoss select (_x select 2)) + (20 * ((_x select 4) * _amountOf))];
|
||||
};
|
||||
if (_selectionN == (_x select 2)) then {
|
||||
// Collect the text to be displayed for this injury [ Select injury class type definition - select the classname DisplayName (6th), amount of injuries for this]
|
||||
if (_amountOf > 0) then {
|
||||
if (_amountOf >= 1) then {
|
||||
// TODO localization
|
||||
_allInjuryTexts pushBack [format ["[B] %2x %1", (EGVAR(medical,AllWoundInjuryTypes) select (_x select 1)) select 6, ceil _amountOf], [0.88,0.7,0.65,1]];
|
||||
} else {
|
||||
// TODO localization
|
||||
_allInjuryTexts pushBack [format ["[B] Partial %1", (EGVAR(medical,AllWoundInjuryTypes) select (_x select 1)) select 6], [0.88,0.7,0.65,1]];
|
||||
};
|
||||
};
|
||||
};
|
||||
} forEach _bandagedwounds;
|
||||
} else {
|
||||
|
||||
// Add all bleeding from wounds on selection
|
||||
_openWounds = _target getVariable [QEGVAR(medical,openWounds), []];
|
||||
private "_amountOf";
|
||||
{
|
||||
_amountOf = _x select 3;
|
||||
// Find how much this bodypart is bleeding
|
||||
if (_amountOf > 0) then {
|
||||
_damaged set [_x select 2, true];
|
||||
_selectionBloodLoss set [_x select 2, (_selectionBloodLoss select (_x select 2)) + (20 * ((_x select 4) * _amountOf))];
|
||||
};
|
||||
} forEach _openWounds;
|
||||
|
||||
_bandagedwounds = _target getVariable [QEGVAR(medical,bandagedWounds), []];
|
||||
{
|
||||
_amountOf = _x select 3;
|
||||
// Find how much this bodypart is bleeding
|
||||
if !(_damaged select (_x select 2)) then {
|
||||
_selectionBloodLoss set [_x select 2, (_selectionBloodLoss select (_x select 2)) + (20 * ((_x select 4) * _amountOf))];
|
||||
};
|
||||
} forEach _bandagedwounds;
|
||||
|
||||
private _bloodLossOnSelection = _selectionBloodLoss select _selectionN;
|
||||
if (_bloodLossOnSelection > 0) then {
|
||||
private _severity = switch (true) do {
|
||||
case (_bloodLossOnSelection > 0.5): {localize ELSTRING(medical,HeavilyWounded)};
|
||||
case (_bloodLossOnSelection > 0.1): {localize ELSTRING(medical,LightlyWounded)};
|
||||
default {localize ELSTRING(medical,VeryLightlyWounded)};
|
||||
};
|
||||
private _part = localize ([
|
||||
ELSTRING(medical,Head),
|
||||
ELSTRING(medical,Torso),
|
||||
ELSTRING(medical,LeftArm),
|
||||
ELSTRING(medical,RightArm),
|
||||
ELSTRING(medical,LeftLeg),
|
||||
ELSTRING(medical,RightLeg)
|
||||
] select _selectionN);
|
||||
_allInjuryTexts pushBack [format ["%1 %2", _severity, toLower _part], [1,1,1,1]];
|
||||
};
|
||||
};
|
||||
|
||||
[_selectionBloodLoss, _damaged, _display] call FUNC(updateBodyImage);
|
||||
[_display, _genericMessages, _allInjuryTexts] call FUNC(updateInformationLists);
|
||||
|
||||
[_display, _target getVariable [QEGVAR(medical,logFile_activity_view), []]] call FUNC(updateActivityLog);
|
||||
[_display, _target getVariable [QEGVAR(medical,logFile_quick_view), []]] call FUNC(updateQuickViewLog);
|
||||
|
||||
private _triageStatus = [_target] call EFUNC(medical,getTriageStatus);
|
||||
(_display displayCtrl 2000) ctrlSetText (_triageStatus select 0);
|
||||
(_display displayCtrl 2000) ctrlSetBackgroundColor (_triageStatus select 2);
|
@ -1 +1 @@
|
||||
#include "\z\ace\addons\medical_menu\script_component.hpp"
|
||||
#include "\z\ace\addons\medical_menu\script_component.hpp"
|
||||
|
610
addons/medical_menu/stringtable.xml
Normal file
610
addons/medical_menu/stringtable.xml
Normal file
@ -0,0 +1,610 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project name="ACE">
|
||||
<Package name="Medical Menu">
|
||||
<Key ID="STR_ACE_Medical_Menu_OpenMenu">
|
||||
<English>Medical Menu</English>
|
||||
<German>Sanitätsmenü</German>
|
||||
<Polish>Menu medyczne</Polish>
|
||||
<Portuguese>Menu médico</Portuguese>
|
||||
<Russian>Медицинское меню</Russian>
|
||||
<Spanish>Menú médico</Spanish>
|
||||
<Czech>Zdravotnikcá nabídka</Czech>
|
||||
<Italian>Menù Medico</Italian>
|
||||
<French>Menu médical</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_allow">
|
||||
<English>Allow Medical Menu</English>
|
||||
<German>Erlaube Sanitätsmenü</German>
|
||||
<Polish>Akt. menu medyczne</Polish>
|
||||
<Portuguese>Permitir menu médico</Portuguese>
|
||||
<Russian>Разрешить мед. меню</Russian>
|
||||
<Spanish>Permitir menú médico</Spanish>
|
||||
<Czech>Povolit zdravotnickou nabídku</Czech>
|
||||
<Italian>Consenti Menù Medico</Italian>
|
||||
<French>Autoriser le menu médical</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_allow_Descr">
|
||||
<English>Allow clients to use the medical menu</English>
|
||||
<German>Erlaube Clients das Sanitätsmenü zu verwenden</German>
|
||||
<Polish>Zezwalaj graczom korzystać z menu medycznego</Polish>
|
||||
<Portuguese>Permite que clientes utilizem o menu médico</Portuguese>
|
||||
<Russian>Разрешает клиентам использовать медицинское меню</Russian>
|
||||
<Spanish>Permitir a los clientes utilizar el menú médico</Spanish>
|
||||
<Czech>Povolit klientům používat zdravotnickou nabídku</Czech>
|
||||
<Italian>Consenti ai clients di usare il Menù Medico</Italian>
|
||||
<French>Autoriser les clients à utiliser le menu médical</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_useMenu">
|
||||
<English>Use Medical menu</English>
|
||||
<German>Verwende Sanitätsmenü</German>
|
||||
<Polish>Użyj menu medycznego</Polish>
|
||||
<Portuguese>Usar o menu médico</Portuguese>
|
||||
<Russian>Использовать медицинское меню</Russian>
|
||||
<Spanish>Utiliza el menú médico</Spanish>
|
||||
<Czech>Použít zdravotnickou nabídku</Czech>
|
||||
<Italian>Usa Menù Medico</Italian>
|
||||
<French>Utiliser le menu médical</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_useMenu_Descr">
|
||||
<English>If allowed by server, enable the option to use the Medical Menu through keybinding and interaction menu</English>
|
||||
<German>Wenn vom Server erlaubt, aktiviert diese Einstellung das Sanitätsmenü, welches durch Tastenkombination oder Interaktionsmenü aufgerufen werden kann.</German>
|
||||
<Polish>Jeżeli zezwolone przez serwer, aktywuj menu medyczne poprzez skrót klawiszowy i menu interakcji.</Polish>
|
||||
<Portuguese>Se permitido pelo servidor, ativa a opção de usar o menu médico por atalhos de teclas e menu de interação</Portuguese>
|
||||
<Russian>Если разрешено сервером, включает опцию использования медицинского меню с помощью горячих главиш или меню взаимодействия</Russian>
|
||||
<Spanish>Si está permitido por el servidor, active la opción de utilizar el menú médico a través del menú de las teclas</Spanish>
|
||||
<Czech>Pokud je povoleno serverem, umožní použít zdravotnickou nabídku skrze kláv. zkratku a interakční menu</Czech>
|
||||
<Italian>Se consentito dal server, abilita l'opzione di usare il Menù Medico attraverso hotkeys e menù interazione</Italian>
|
||||
<French>Si autorisé par le serveur, active l'option d'utiliser le menu médical à travers les raccourcis clavier et le menu d'interaction.</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_openAfterTreatment">
|
||||
<English>Re-open Medical menu</English>
|
||||
<German>Sanitätsmenü offen lassen</German>
|
||||
<Polish>Otwieraj ponownie menu medyczne</Polish>
|
||||
<Portuguese>Reabrir menu médico</Portuguese>
|
||||
<Russian>Переоткрывать мед. меню</Russian>
|
||||
<Spanish>Reabrir menú médico</Spanish>
|
||||
<Czech>Znovu otevřít zdravotnickou nabídku</Czech>
|
||||
<Italian>Ri-apri Menù Medico</Italian>
|
||||
<French>Ré-ouvrir le menu médical</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_openAfterTreatment_Descr">
|
||||
<English>Re-open the medical menu after succesful treatment</English>
|
||||
<German>Öffnet das Sanitätsmenü nach einer erfolgreichen Behandlung erneut</German>
|
||||
<Polish>Otwórz ponownie menu medyczne po udanym zakończeniu leczenia</Polish>
|
||||
<Portuguese>Reabre o menu médico depois de um tratamento bem sucedido</Portuguese>
|
||||
<Russian>Переоткрывать медицинское меню после удачного лечения</Russian>
|
||||
<Spanish>Reabre el menú médico despues de un tratamiento con éxito</Spanish>
|
||||
<Czech>Znovu otevřít zdravotnickou nabídku po úspěšné léčbě </Czech>
|
||||
<Italian>Ri-Apri il Menù Medico dopo un trattamento riuscito</Italian>
|
||||
<French>Ré-ouvrir le menu médical après un traitement réussi</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_DisplayMenuKey">
|
||||
<English>Open Medical Menu</English>
|
||||
<German>Öffne Sanitätsmenü</German>
|
||||
<Polish>Otwórz menu medyczne</Polish>
|
||||
<Portuguese>Abrir menu médico</Portuguese>
|
||||
<Russian>Открыть медицинское меню</Russian>
|
||||
<Spanish>Abrir menú médico</Spanish>
|
||||
<Czech>Otevřít zdravotnickou nabídku</Czech>
|
||||
<Italian>Apri Menù Medico</Italian>
|
||||
<French>Ouvir le menu médical</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_module_DisplayName">
|
||||
<English>Medical Menu Settings</English>
|
||||
<German>Sanitätsmenü Einstellungen</German>
|
||||
<Polish>Ustawienia menu medycznego</Polish>
|
||||
<Portuguese>Preferências do menu médico</Portuguese>
|
||||
<Russian>Настройки медицинского меню</Russian>
|
||||
<Spanish>Ajustes del mení médico</Spanish>
|
||||
<Czech>Nastavení zdravotnické nabídky</Czech>
|
||||
<Italian>Impostazioni Menù Medico</Italian>
|
||||
<French>Réglages du menu médical</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_module_Desc">
|
||||
<English>Configure the usage of the Medical Menu</English>
|
||||
<German>Stelle die Verwendung des Sanitätsmenüs ein</German>
|
||||
<Polish>Skonfiguruj opcje menu medycznego</Polish>
|
||||
<Portuguese>Configura o uso do menu médico</Portuguese>
|
||||
<Russian>Настройки использования медицинского меню</Russian>
|
||||
<Spanish>Configurar el uso del menú médico</Spanish>
|
||||
<Czech>Konfigurace využití zdravotnické nabídky</Czech>
|
||||
<Italian>Configura l'uso del Menù Medico</Italian>
|
||||
<French>Configurer l'utilisation du menu médical</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_EXAMINE_TREATMENT">
|
||||
<English>EXAMINE & TREATMENT</English>
|
||||
<German>Untersuchung & Behandlung</German>
|
||||
<Russian>ОСМОТР И ЛЕЧЕНИЕ</Russian>
|
||||
<Spanish>EXAMINAR & TRATAMIENTO</Spanish>
|
||||
<French>EXAMINER & TRAITEMENTS</French>
|
||||
<Polish>BADANIE & LECZENIE</Polish>
|
||||
<Portuguese>EXAMINAR & TRATAMENTO</Portuguese>
|
||||
<Czech>VYŠETŘENÍ & LÉČBA</Czech>
|
||||
<Italian>ESAMINA & TRATTA</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS">
|
||||
<English>STATUS</English>
|
||||
<German>STATUS</German>
|
||||
<Russian>СОСТОЯНИЕ</Russian>
|
||||
<Spanish>ESTADO</Spanish>
|
||||
<French>ÉTAT</French>
|
||||
<Polish>STATUS</Polish>
|
||||
<Portuguese>ESTADO</Portuguese>
|
||||
<Czech>STAV</Czech>
|
||||
<Italian>STATO</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_OVERVIEW">
|
||||
<English>OVERVIEW</English>
|
||||
<German>ÜBERSICHT</German>
|
||||
<Russian>ОБЩАЯ ИНФОРМАЦИЯ</Russian>
|
||||
<Spanish>DESCRIPCIÓN</Spanish>
|
||||
<French>APERÇU</French>
|
||||
<Polish>OPIS</Polish>
|
||||
<Portuguese>VISÃO GERAL</Portuguese>
|
||||
<Czech>PŘEHLED</Czech>
|
||||
<Italian>PANORAMICA</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_ACTIVITY_LOG">
|
||||
<English>ACTIVITY LOG</English>
|
||||
<German>AKTIVITÄTSVERLAUF</German>
|
||||
<Russian>ПРОВЕДЕННЫЕ МАНИПУЛЯЦИИ</Russian>
|
||||
<Spanish>REGISTRO DE ACTIVIDAD</Spanish>
|
||||
<French>REGISTRE D'ACTIVITÉ</French>
|
||||
<Polish>LOGI AKTYWNOŚCI</Polish>
|
||||
<Portuguese>REGISTRO DE ATIVIDADE</Portuguese>
|
||||
<Czech>PROTOKOL</Czech>
|
||||
<Italian>LOG ATTIVITA'</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_QUICK_VIEW">
|
||||
<English>QUICK VIEW</English>
|
||||
<German>SCHNELLANSICHT</German>
|
||||
<Russian>БЫСТРЫЙ ОСМОТР</Russian>
|
||||
<Spanish>VISTA RÁPIDA</Spanish>
|
||||
<French>VUE RAPIDE</French>
|
||||
<Polish>SZYBKI PODGLĄD</Polish>
|
||||
<Portuguese>VISÃO RÁPIDA</Portuguese>
|
||||
<Czech>RYCHLÝ NÁHLED</Czech>
|
||||
<Italian>VISTA RAPIDA</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_VIEW_TRIAGE_CARD">
|
||||
<English>View triage Card</English>
|
||||
<German>Zeige Triagekarte</German>
|
||||
<Russian>Смотреть первичную карточку</Russian>
|
||||
<Spanish>Ver Triage</Spanish>
|
||||
<French>Voir Carte de Triage</French>
|
||||
<Polish>Pokaż kartę segregacyjną</Polish>
|
||||
<Portuguese>Ver cartão de triagem</Portuguese>
|
||||
<Czech>Zkontrolovat štítek</Czech>
|
||||
<Italian>Guarda Triage Card</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_EXAMINE_PATIENT">
|
||||
<English>Examine Patient</English>
|
||||
<German>Untersuche Patient</German>
|
||||
<Russian>Осмотреть пациента</Russian>
|
||||
<Spanish>Examinar Paciente</Spanish>
|
||||
<French>Examiner Patient</French>
|
||||
<Polish>Zbadaj pacjenta</Polish>
|
||||
<Portuguese>Examinar paciente</Portuguese>
|
||||
<Czech>Zkontrolovat pacienta</Czech>
|
||||
<Italian>Esamina Paziente</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_BANDAGE_FRACTURES">
|
||||
<English>Bandage / Fractures</English>
|
||||
<German>Bandagen / Brüche</German>
|
||||
<Russian>Раны / переломы</Russian>
|
||||
<Spanish>Vendajes/Fracturas </Spanish>
|
||||
<French>Bandages / Fractures</French>
|
||||
<Polish>Bandaże / Złamania</Polish>
|
||||
<Portuguese>Bandagens / Fraturas</Portuguese>
|
||||
<Czech>Bandáž / Zlomeniny</Czech>
|
||||
<Italian>Bendaggi/Fratture</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_MEDICATION">
|
||||
<English>Medication</English>
|
||||
<German>Medikamentation</German>
|
||||
<Russian>Медикаменты</Russian>
|
||||
<Spanish>Medicación</Spanish>
|
||||
<French>Médications</French>
|
||||
<Polish>Leki</Polish>
|
||||
<Portuguese>Medicação</Portuguese>
|
||||
<Czech>Léky</Czech>
|
||||
<Italian>Medicazione</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_AIRWAY_MANAGEMENT">
|
||||
<English>Airway Management</English>
|
||||
<Russian>Дыхательные пути</Russian>
|
||||
<Spanish>Vías Aéreas</Spanish>
|
||||
<French>Gestion des voies respiratoires</French>
|
||||
<Polish>Drogi oddechowe</Polish>
|
||||
<Portuguese>Vias aéreas</Portuguese>
|
||||
<Czech>Dýchací systém</Czech>
|
||||
<Italian>Gestione Vie Respiratorie</Italian>
|
||||
<German>Atemwegssicherung</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_ADVANCED_TREATMENT">
|
||||
<English>Advanced Treatments</English>
|
||||
<German>Erweiterte Behandlungen</German>
|
||||
<Russian>Специальная медпомощь</Russian>
|
||||
<Spanish>Tratamientos Avanzados</Spanish>
|
||||
<French>Traitements Avancés</French>
|
||||
<Polish>Zaawansowane zabiegi</Polish>
|
||||
<Portuguese>Tratamentos avançados</Portuguese>
|
||||
<Czech>Pokročilé ošetření</Czech>
|
||||
<Italian>Trattamenti Avanzati</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_DRAG_CARRY">
|
||||
<English>Drag/Carry</English>
|
||||
<German>Ziehen/Tragen</German>
|
||||
<Russian>Тащить/нести</Russian>
|
||||
<Spanish>Arrastrar/Cargar</Spanish>
|
||||
<French>Traîner/Porter</French>
|
||||
<Polish>Ciągnij/Nieś</Polish>
|
||||
<Portuguese>Arrastar/Carregar</Portuguese>
|
||||
<Czech>Táhnout/Nést</Czech>
|
||||
<Italian>Trascina/Trasporta</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_TOGGLE_SELF">
|
||||
<English>Toggle (Self)</English>
|
||||
<German>Umschalter (Selbst)</German>
|
||||
<Russian>Лечить себя/другого раненого</Russian>
|
||||
<French>Basculer (soi)</French>
|
||||
<Polish>Przełącz (na siebie)</Polish>
|
||||
<Spanish>Alternar</Spanish>
|
||||
<Portuguese>Alternar (Si mesmo)</Portuguese>
|
||||
<Czech>Přepnout (na sebe)</Czech>
|
||||
<Italian>Attiva (Te Stesso)</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_TRIAGE_STATUS">
|
||||
<English>Select triage status</English>
|
||||
<German>Setze Status auf der Triagekarte</German>
|
||||
<Russian>Сортировка</Russian>
|
||||
<Spanish>Seleccionar estado de Triage</Spanish>
|
||||
<French>Selectioner l'état de triage</French>
|
||||
<Polish>Wybierz priorytet</Polish>
|
||||
<Portuguese>Selecionar estado de triagem</Portuguese>
|
||||
<Czech>Vybrat prioritu</Czech>
|
||||
<Italian>Seleziona stato Triage</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_HEAD">
|
||||
<English>Select Head</English>
|
||||
<German>Wähle Kopf</German>
|
||||
<Russian>Выбрать голову</Russian>
|
||||
<Spanish>Seleccionar Cabeza</Spanish>
|
||||
<French>Selectioner Tête</French>
|
||||
<Polish>Wybierz głowę</Polish>
|
||||
<Portuguese>Selecionar Cabeça</Portuguese>
|
||||
<Czech>Vybrat Hlavu</Czech>
|
||||
<Italian>Seleziona Testa</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_TORSO">
|
||||
<English>Select Torso</English>
|
||||
<German>Wähle Torso</German>
|
||||
<Russian>Выбрать торс</Russian>
|
||||
<Spanish>Seleccionar Torso</Spanish>
|
||||
<French>Selectioner Torse</French>
|
||||
<Polish>Wybierz tors</Polish>
|
||||
<Portuguese>Selecionar Torso</Portuguese>
|
||||
<Czech>Vybrat Trup</Czech>
|
||||
<Italian>Seleziona Torso</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_ARM_L">
|
||||
<English>Select Left Arm</English>
|
||||
<German>Wähle linken Arm</German>
|
||||
<Russian>Выбрать левую руку</Russian>
|
||||
<Spanish>Seleccionar Brazo Izquierdo</Spanish>
|
||||
<French>Selectioner Bras Gauche</French>
|
||||
<Polish>Wybierz lewą rękę</Polish>
|
||||
<Portuguese>Selecionar Braço Esquerdo</Portuguese>
|
||||
<Czech>Vybrat Levou ruku</Czech>
|
||||
<Italian>Seleziona Braccio Sinistro</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_ARM_R">
|
||||
<English>Select Right Arm</English>
|
||||
<German>Wähle rechten Arm</German>
|
||||
<Russian>Выбрать правую руку</Russian>
|
||||
<Spanish>Seleccionar Brazo Derecho</Spanish>
|
||||
<French>Selectioner Bras Droit</French>
|
||||
<Polish>Wybierz prawą rękę</Polish>
|
||||
<Portuguese>Selecionar Braço Direito</Portuguese>
|
||||
<Czech>Vybrat Pravou ruku</Czech>
|
||||
<Italian>Seleziona Braccio Destro</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_LEG_L">
|
||||
<English>Select Left Leg</English>
|
||||
<German>Wähle linkes Bein</German>
|
||||
<Russian>Выбрать левую ногу</Russian>
|
||||
<Spanish>Seleccionar Pierna Izquierda</Spanish>
|
||||
<French>Selectioner Jambe Gauche</French>
|
||||
<Polish>Wybierz lewą nogę</Polish>
|
||||
<Portuguese>Selecionar Perna Esquerda</Portuguese>
|
||||
<Czech>Vybrat Levou nohu</Czech>
|
||||
<Italian>Seleziona Gamba Sinistra</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_LEG_R">
|
||||
<English>Select Right Leg</English>
|
||||
<German>Wähle rechtes Bein</German>
|
||||
<Russian>Выбрать правую ногу</Russian>
|
||||
<Spanish>Seleccionar Pierna Derecha</Spanish>
|
||||
<French>Selectioner Jambe Droite</French>
|
||||
<Polish>Wybierz prawą nogę</Polish>
|
||||
<Portuguese>Selecionar Perna Direita</Portuguese>
|
||||
<Czech>Vybrat Pravou nohu</Czech>
|
||||
<Italian>Seleziona Gamba Destra</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_HEAD">
|
||||
<English>Head</English>
|
||||
<German>Kopf</German>
|
||||
<Russian>Голова</Russian>
|
||||
<Spanish>Cabeza</Spanish>
|
||||
<French>Tête</French>
|
||||
<Polish>Głowa</Polish>
|
||||
<Portuguese>Caebça</Portuguese>
|
||||
<Czech>Hlava</Czech>
|
||||
<Italian>Testa</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_TORSO">
|
||||
<English>Torso</English>
|
||||
<German>Torso</German>
|
||||
<Russian>Торс</Russian>
|
||||
<French>Torse</French>
|
||||
<Polish>Tors</Polish>
|
||||
<Portuguese>Torso</Portuguese>
|
||||
<Czech>Trup</Czech>
|
||||
<Spanish>Torso</Spanish>
|
||||
<Italian>Torso</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_ARM_L">
|
||||
<English>Left Arm</English>
|
||||
<German>Linker Arm</German>
|
||||
<Russian>Левая рука</Russian>
|
||||
<Spanish>Brazo Izquierdo</Spanish>
|
||||
<French>Bras Gauche</French>
|
||||
<Polish>Lewa ręka</Polish>
|
||||
<Portuguese>Braço Esquerdo</Portuguese>
|
||||
<Czech>Levá Ruka</Czech>
|
||||
<Italian>Braccio Sinistro</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_ARM_R">
|
||||
<English>Right Arm</English>
|
||||
<German>Rechter Arm</German>
|
||||
<Russian>Правая рука</Russian>
|
||||
<Spanish>Brazo Derecho</Spanish>
|
||||
<French>Bras Droit</French>
|
||||
<Polish>Prawa ręka</Polish>
|
||||
<Portuguese>Braço Direito</Portuguese>
|
||||
<Czech>Pravá Ruka</Czech>
|
||||
<Italian>Braccio Destro</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_LEG_L">
|
||||
<English>Left Leg</English>
|
||||
<German>Linkes Bein</German>
|
||||
<Russian>Левая нога</Russian>
|
||||
<Spanish>Pierna Izquierda</Spanish>
|
||||
<French>Jambe Gauche</French>
|
||||
<Polish>Lewa noga</Polish>
|
||||
<Portuguese>Perna Esquerda</Portuguese>
|
||||
<Czech>Levá Noha</Czech>
|
||||
<Italian>Gamba Sinistra</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_LEG_R">
|
||||
<English>Right Leg</English>
|
||||
<German>Rechtes Bein</German>
|
||||
<Russian>Правая нога</Russian>
|
||||
<Spanish>Pierna Derecha</Spanish>
|
||||
<French>Jambe Droite</French>
|
||||
<Polish>Prawa noga</Polish>
|
||||
<Portuguese>Perna Direita</Portuguese>
|
||||
<Czech>Pravá Noha</Czech>
|
||||
<Italian>Gamba Destra</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECTED_BODY_PART">
|
||||
<English>Body Part: %1</English>
|
||||
<German>Körperteil: %1</German>
|
||||
<Russian>Часть тела: %1</Russian>
|
||||
<Spanish>Parte del cuerpo: %1</Spanish>
|
||||
<French>Partie du corps: %1</French>
|
||||
<Polish>Część ciała: %1</Polish>
|
||||
<Portuguese>Parte do corpo: %1</Portuguese>
|
||||
<Czech>Část těla: %1</Czech>
|
||||
<Italian>Parte del Corpo: %1</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SMALL">
|
||||
<English>Small</English>
|
||||
<German>Klein</German>
|
||||
<Russian>малого размера</Russian>
|
||||
<Spanish>Pequeña</Spanish>
|
||||
<French>Petite</French>
|
||||
<Polish>małym</Polish>
|
||||
<Portuguese>Pequeno</Portuguese>
|
||||
<Czech>Malý</Czech>
|
||||
<Italian>Piccolo</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_MEDIUM">
|
||||
<English>Medium</English>
|
||||
<German>Mittel</German>
|
||||
<Russian>среднего размера</Russian>
|
||||
<Spanish>Mediana</Spanish>
|
||||
<French>Moyenne</French>
|
||||
<Polish>średnim</Polish>
|
||||
<Portuguese>Médio</Portuguese>
|
||||
<Czech>Střední</Czech>
|
||||
<Italian>Medio</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_LARGE">
|
||||
<English>Large</English>
|
||||
<German>Groß</German>
|
||||
<Russian>большого размера</Russian>
|
||||
<Spanish>Grande</Spanish>
|
||||
<French>Grande</French>
|
||||
<Polish>dużym</Polish>
|
||||
<Portuguese>Grande</Portuguese>
|
||||
<Czech>Velký</Czech>
|
||||
<Italian>Grande</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_MULTIPLE_OPEN_WOUNDS">
|
||||
<English>There are %2 %1 Open Wounds</English>
|
||||
<German>Er hat %2 offene Wunden (%1)</German>
|
||||
<Russian>%2 открытые раны %1</Russian>
|
||||
<Spanish>Hay %2 Heridas Abiertas %1</Spanish>
|
||||
<French>Il y a %2 %1 Blessure(s) Ouverte(s)</French>
|
||||
<Polish>Widzisz otwarte rany w ilości %2 o %1 rozmiarze</Polish>
|
||||
<Portuguese>Existem %2 ferimentos abertos %1</Portuguese>
|
||||
<Czech>Jsou zde %2 %1 otevřené rány</Czech>
|
||||
<Italian>Ci sono %2 %1 Ferite Aperte</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SINGLE_OPEN_WOUND">
|
||||
<English>There is 1 %1 Open Wound</English>
|
||||
<German>Er hat 1 offene Wunde (%1)</German>
|
||||
<Russian>Открытая рана %1</Russian>
|
||||
<Spanish>Hay 1 Herida Abierta %1</Spanish>
|
||||
<French>Il y a 1 blessure ouverte %1</French>
|
||||
<Polish>Widzisz 1 otwartą ranę o %1 rozmiarze</Polish>
|
||||
<Portuguese>Existe 1 %1 ferimento aberto</Portuguese>
|
||||
<Czech>Je zde 1 %1 otevřená rána</Czech>
|
||||
<Italian>C'è 1 %1 Ferita Aperta</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_PARTIAL_OPEN_WOUND">
|
||||
<English>There is a partial %1 Open wound</English>
|
||||
<German>Er hat eine zum Teil offene Wunde (%1)</German>
|
||||
<Russian>Частично открытая рана %1</Russian>
|
||||
<Spanish>Hay una herida parcial abierta %1</Spanish>
|
||||
<French>Il y a une Blessure Patiellement Ouverte %1</French>
|
||||
<Polish>Widzisz częściowo otwartą ranę o %1 rozmiarze</Polish>
|
||||
<Portuguese>Existe um ferimento parcial aberto %1</Portuguese>
|
||||
<Czech>Je zde částečně %1 otevřená rána</Czech>
|
||||
<Italian>C'è 1 parziale %1 Ferita Aperta</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_MULTIPLE_BANDAGED_WOUNDS">
|
||||
<English>There are %2 %1 Bandaged Wounds</English>
|
||||
<German>Er hat %2 verbundene Wunden (%1)</German>
|
||||
<Russian>%2 перевязанные раны %1</Russian>
|
||||
<Spanish>Hay %2 Heridas %1 Vendadas</Spanish>
|
||||
<French>Il y a %2 %1 Blessure(s) Bandée(s)</French>
|
||||
<Polish>Widzisz %2 zabandażowanych ran o %1 rozmiarze</Polish>
|
||||
<Portuguese>Existem %2 ferimentos %1 tratados</Portuguese>
|
||||
<Czech>Jsou zde %2 %1 ovázané rány</Czech>
|
||||
<Italian>Ci sono %2 %1 Ferite Bendate</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SINGLE_BANDAGED_WOUND">
|
||||
<English>There is 1 %1 Bandaged Wound</English>
|
||||
<German>Er hat 1 verbundene Wunde (%1)</German>
|
||||
<Russian>1 перевязанная рана %1</Russian>
|
||||
<Spanish>Hay 1 Herida Vendada %1</Spanish>
|
||||
<French>Il y a 1 %1 Blessure Bandée</French>
|
||||
<Polish>Widzisz 1 zabandażowaną ranę o %1 rozmiarze</Polish>
|
||||
<Portuguese>Existe 1 ferimento %1 tratado</Portuguese>
|
||||
<Czech>Je zde 1 %1 ovázaná rána</Czech>
|
||||
<Italian>C'è 1 %1 Ferita Bendata</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_PARTIAL_BANDAGED_WOUND">
|
||||
<English>There is a partial %1 Bandaged wound</English>
|
||||
<German>Er hat eine zum Teil verbundene Wunde (%1)</German>
|
||||
<Russian>Частично перевязанная рана %1</Russian>
|
||||
<Spanish>Hay una Herida parcial %1 Vendada</Spanish>
|
||||
<French>Il y a %1 Blessure Partielment Bandée</French>
|
||||
<Polish>Widzisz 1 częściowo zabandażowaną ranę o %1 rozmiarze</Polish>
|
||||
<Portuguese>Existe um ferimento parcial tratado %1</Portuguese>
|
||||
<Czech>Je zde částěčně %1 ovázaná rána</Czech>
|
||||
<Italian>C'è 1 parziale %1 Ferita Bendata</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_NORMAL_BREATHING">
|
||||
<English>Normal breathing</English>
|
||||
<German>Normale Atmung</German>
|
||||
<Russian>Дыхание в норме</Russian>
|
||||
<Spanish>Respiración normal</Spanish>
|
||||
<French>Respiration normale</French>
|
||||
<Polish>Normalny oddech</Polish>
|
||||
<Portuguese>Respiração normal</Portuguese>
|
||||
<Czech>Normální dýchání</Czech>
|
||||
<Italian>Respirazione Normale</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_NO_BREATHING">
|
||||
<English>No breathing</English>
|
||||
<German>Keine Atmung</German>
|
||||
<Russian>Дыхания нет</Russian>
|
||||
<Spanish>No respira</Spanish>
|
||||
<French>Aucune respiration</French>
|
||||
<Polish>Brak oddechu</Polish>
|
||||
<Portuguese>Sem respiração</Portuguese>
|
||||
<Czech>Nedýchá</Czech>
|
||||
<Italian>Nessuna Respirazione</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_DIFFICULT_BREATHING">
|
||||
<English>Difficult breathing</English>
|
||||
<German>Schwere Atmung</German>
|
||||
<Russian>Дыхание затруднено</Russian>
|
||||
<Spanish>Dificultad para respirar</Spanish>
|
||||
<French>Respiration difficile</French>
|
||||
<Polish>Trudności z oddychaniem</Polish>
|
||||
<Portuguese>Dificuldade para respirar</Portuguese>
|
||||
<Czech>Potíže s dýcháním</Czech>
|
||||
<Italian>Difficoltà Respiratorie</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_ALMOST_NO_BREATHING">
|
||||
<English>Almost no breathing</English>
|
||||
<German>Beinahe keine Atmung</German>
|
||||
<Russian>Дыхания почти нет</Russian>
|
||||
<Spanish>Casi sin respirar</Spanish>
|
||||
<French>Respiration faible</French>
|
||||
<Polish>Prawie brak oddechu</Polish>
|
||||
<Portuguese>Quase sem respiração</Portuguese>
|
||||
<Czech>Téměř nedýchá</Czech>
|
||||
<Italian>Quasi nessuna Respirazione</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS_BLEEDING">
|
||||
<English>Bleeding</English>
|
||||
<German>Blutung</German>
|
||||
<Russian>Кровотечение</Russian>
|
||||
<Spanish>Sangrando</Spanish>
|
||||
<French>Saignement</French>
|
||||
<Polish>Krwawienie zewnętrzne</Polish>
|
||||
<Portuguese>Sangrando</Portuguese>
|
||||
<Czech>Krvácí</Czech>
|
||||
<Italian>Sanguinamento</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS_PAIN">
|
||||
<English>in Pain</English>
|
||||
<German>hat Schmerzen</German>
|
||||
<Russian>Испытывает боль</Russian>
|
||||
<Spanish>Con Dolor</Spanish>
|
||||
<French>Souffre</French>
|
||||
<Polish>W bólu</Polish>
|
||||
<Portuguese>Com dor</Portuguese>
|
||||
<Czech>v bolestech</Czech>
|
||||
<Italian>in Dolore</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS_LOST_BLOOD">
|
||||
<English>Lost a lot of Blood</English>
|
||||
<German>hat sehr viel Blut verloren</German>
|
||||
<Russian>Большая кровопотеря</Russian>
|
||||
<Spanish>Mucha Sangre perdida</Spanish>
|
||||
<French>A Perdu Bcp de Sang</French>
|
||||
<Polish>Stracił dużo krwi</Polish>
|
||||
<Portuguese>Perdeu muito sangue</Portuguese>
|
||||
<Czech>Ztratil hodně krve</Czech>
|
||||
<Italian>Perso molto Sangue</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS_TOURNIQUET_APPLIED">
|
||||
<English>Tourniquet [CAT]</English>
|
||||
<German>Tourniquet [CAT]</German>
|
||||
<Russian>Жгут</Russian>
|
||||
<Spanish>Torniquete [CAT]</Spanish>
|
||||
<French>Garrot [CAT]</French>
|
||||
<Polish>Opaska uciskowa [CAT]</Polish>
|
||||
<Portuguese>Torniquete [CAT]</Portuguese>
|
||||
<Czech>Škrtidlo [CAT]</Czech>
|
||||
<Italian>Laccio Emostatico [CAT]</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS_NPA_APPLIED">
|
||||
<English>Nasopharyngeal Tube [NPA]</English>
|
||||
<German>Nasen-Rachen-Rohr</German>
|
||||
<Russian>Назотрахеальная трубка</Russian>
|
||||
<Spanish>Torniquete [CAT]</Spanish>
|
||||
<French>Canule Naseaupharyngée [NPA]</French>
|
||||
<Polish>Rurka nosowo-gardłowa [NPA]</Polish>
|
||||
<Portuguese>Tubo nasofaríngeo [NPA]</Portuguese>
|
||||
<Czech>Nasofaryngeální trubice [NPA]</Czech>
|
||||
<Italian>Tubo Nasofaringeo [NPA]</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
570
addons/medical_menu/ui/menu.hpp
Normal file
570
addons/medical_menu/ui/menu.hpp
Normal file
@ -0,0 +1,570 @@
|
||||
#include "\z\ace\addons\common\define.hpp"
|
||||
|
||||
class GVAR(medicalMenu) {
|
||||
idd = 314412;
|
||||
movingEnable = true;
|
||||
onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(medicalMenu)), _this select 0)]; [_this select 0] call FUNC(onMenuOpen););
|
||||
onUnload = QUOTE([] call FUNC(onMenuClose));
|
||||
class controlsBackground {
|
||||
class HeaderBackground: ACE_gui_backgroundBase {
|
||||
idc = -1;
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
text = "#(argb,8,8,3)color(0,0,0,0)";
|
||||
};
|
||||
class CenterBackground: HeaderBackground {
|
||||
y = "2.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
h = "16 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
text = "#(argb,8,8,3)color(0,0,0,0.8)";
|
||||
colorText[] = {0, 0, 0, "(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"};
|
||||
colorBackground[] = {0,0,0,"(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"};
|
||||
};
|
||||
class BottomBackground: CenterBackground {
|
||||
y = "(18.6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))";
|
||||
h = "9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
};
|
||||
};
|
||||
|
||||
class controls {
|
||||
class HeaderName {
|
||||
idc = 1;
|
||||
type = CT_STATIC;
|
||||
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
style = ST_LEFT + ST_SHADOW;
|
||||
font = "RobotoCondensed";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
colorText[] = {0.95, 0.95, 0.95, 0.75};
|
||||
colorBackground[] = {"(profilenamespace getVariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getVariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getVariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"};
|
||||
text = "";
|
||||
};
|
||||
|
||||
class IconsBackGroundBar: ACE_gui_backgroundBase{
|
||||
idc = -1;
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "2.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "3.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
text = QPATHTOF(data\background_img.paa);
|
||||
colorText[] = {1, 1, 1, 0.0};
|
||||
};
|
||||
class CatagoryLeft: HeaderName {
|
||||
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "2.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
style = ST_CENTER;
|
||||
colorText[] = {1, 1, 1.0, 0.9};
|
||||
colorBackground[] = {0,0,0,0};
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)";
|
||||
text = CSTRING(EXAMINE_TREATMENT);
|
||||
};
|
||||
class CatagoryCenter: CatagoryLeft {
|
||||
x = "13.33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
text = CSTRING(STATUS);
|
||||
};
|
||||
class CatagoryRight: CatagoryCenter{
|
||||
x = "25.66 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
text = CSTRING(OVERVIEW);
|
||||
};
|
||||
class Line: ACE_gui_backgroundBase {
|
||||
idc = -1;
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "3.7 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "37 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "0.03 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
text = "#(argb,8,8,3)color(1,1,1,0.5)";
|
||||
};
|
||||
|
||||
class iconImg1: ACE_gui_backgroundBase {
|
||||
idc = 111;
|
||||
x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "3.73 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "1.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.1)";
|
||||
colorBackground[] = {0,0,0,1};
|
||||
colorPicture[] = {1,1,1,1};
|
||||
colorText[] = {1,1,1,1};
|
||||
text = QPATHTOF(data\icons\triage_card_small.paa);
|
||||
};
|
||||
class iconImg2: iconImg1 {
|
||||
idc = 112;
|
||||
x = "3 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
text = QPATHTOF(data\icons\examine_patient_small.paa);
|
||||
};
|
||||
class iconImg3: iconImg1 {
|
||||
idc = 113;
|
||||
x = "4.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
text = QPATHTOF(data\icons\bandage_fracture_small.paa);
|
||||
};
|
||||
class iconImg4: iconImg1 {
|
||||
idc = 114;
|
||||
x = "6 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
text = QPATHTOF(data\icons\medication_small.paa);
|
||||
};
|
||||
class iconImg5: iconImg1 {
|
||||
idc = 115;
|
||||
x = "7.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
text = QPATHTOF(data\icons\airway_management_small.paa);
|
||||
};
|
||||
class iconImg6: iconImg1 {
|
||||
idc = 116;
|
||||
x = "9 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
text = QPATHTOF(data\icons\advanced_treatment_small.paa);
|
||||
};
|
||||
class iconImg7: iconImg1 {
|
||||
idc = 117;
|
||||
x = "10.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
text = QPATHTOF(data\icons\icon_carry.paa);
|
||||
};
|
||||
class iconImg8: iconImg1 {
|
||||
idc = 118;
|
||||
x = "12 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
text = QPATHTOF(data\icons\toggle_self_small.paa);
|
||||
};
|
||||
|
||||
|
||||
class BtnIconLeft1: ACE_gui_buttonBase {
|
||||
idc = 11;
|
||||
x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "3.73 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "1.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.1)";
|
||||
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
animTextureOver = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
action = QUOTE(['triage'] call FUNC(handleUI_DisplayOptions););
|
||||
};
|
||||
class BtnIconLeft2: BtnIconLeft1 {
|
||||
idc = 12;
|
||||
x = "3 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
action = QUOTE(['examine'] call FUNC(handleUI_DisplayOptions););
|
||||
};
|
||||
class BtnIconLeft3: BtnIconLeft1 {
|
||||
idc = 13;
|
||||
x = "4.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
action = QUOTE(['bandage'] call FUNC(handleUI_DisplayOptions););
|
||||
};
|
||||
class BtnIconLeft4: BtnIconLeft1 {
|
||||
idc = 14;
|
||||
x = "6 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
action = QUOTE(['medication'] call FUNC(handleUI_DisplayOptions););
|
||||
};
|
||||
class BtnIconLeft5: BtnIconLeft1 {
|
||||
idc = 15;
|
||||
x = "7.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
action = QUOTE(['airway'] call FUNC(handleUI_DisplayOptions););
|
||||
};
|
||||
class BtnIconLeft6: BtnIconLeft1 {
|
||||
idc = 16;
|
||||
x = "9 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
action = QUOTE(['advanced'] call FUNC(handleUI_DisplayOptions););
|
||||
};
|
||||
class BtnIconLeft7: BtnIconLeft1 {
|
||||
idc = 17;
|
||||
x = "10.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
action = QUOTE(['drag'] call FUNC(handleUI_DisplayOptions););
|
||||
};
|
||||
class BtnIconLeft8: BtnIconLeft1 {
|
||||
idc = 18;
|
||||
x = "12 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
action = QUOTE(['toggle'] call FUNC(handleUI_DisplayOptions););
|
||||
};
|
||||
|
||||
class TriageCardList: ACE_gui_listBoxBase {
|
||||
idc = 212;
|
||||
x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "5.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "12 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)";
|
||||
rowHeight = 0.03;
|
||||
colorBackground[] = {0, 0, 0, 0.2};
|
||||
colorText[] = {1,1, 1, 1.0};
|
||||
colorScrollbar[] = {0.95, 0.95, 0.95, 1};
|
||||
colorSelect[] = {0.95, 0.95, 0.95, 1};
|
||||
colorSelect2[] = {0.95, 0.95, 0.95, 1};
|
||||
colorSelectBackground[] = {0, 0, 0, 0.0};
|
||||
colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.0};
|
||||
};
|
||||
|
||||
// Left side
|
||||
class BtnMenu1: BtnIconLeft1 {
|
||||
idc = 20;
|
||||
y = "5.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "12 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
text = "";
|
||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.9)";
|
||||
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.8)";
|
||||
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.5)";
|
||||
animTextureOver = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
color[] = {1, 1, 1, 1};
|
||||
color2[] = {0,0,0, 1};
|
||||
colorBackgroundFocused[] = {1,1,1,1};
|
||||
colorBackground[] = {1,1,1,1};
|
||||
colorbackground2[] = {1,1,1,1};
|
||||
colorDisabled[] = {0.5,0.5,0.5,0.8};
|
||||
colorFocused[] = {0,0,0,1};
|
||||
periodFocus = 1;
|
||||
periodOver = 1;
|
||||
action = "";
|
||||
};
|
||||
class BtnMenu2: BtnMenu1 {
|
||||
idc = 21;
|
||||
y = "6.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
text = "";
|
||||
};
|
||||
class BtnMenu3: BtnMenu1 {
|
||||
idc = 22;
|
||||
y = "7.6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
text = "";
|
||||
};
|
||||
class BtnMenu4: BtnMenu1 {
|
||||
idc = 23;
|
||||
y = "8.7 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
text ="";
|
||||
};
|
||||
class BtnMenu5: BtnMenu1 {
|
||||
idc = 24;
|
||||
y = "9.8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
text = "";
|
||||
};
|
||||
class BtnMenu6: BtnMenu1 {
|
||||
idc = 25;
|
||||
y = "10.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
text = "";
|
||||
};
|
||||
class BtnMenu7: BtnMenu1 {
|
||||
idc = 26;
|
||||
y = "12 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
text = "";
|
||||
};
|
||||
class BtnMenu8: BtnMenu1 {
|
||||
idc = 27;
|
||||
y = "13.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
text = "";
|
||||
};
|
||||
// center
|
||||
|
||||
class bodyImgBackground: ACE_gui_backgroundBase {
|
||||
idc = -1;
|
||||
x = "13.33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "3.73 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "12.33 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)";
|
||||
colorBackground[] = {1,1,1,1};
|
||||
colorPicture[] = {1,1,1,1};
|
||||
colorText[] = {1,1,1,1};
|
||||
text = QPATHTOEF(medical,ui\body_background.paa);
|
||||
};
|
||||
class bodyImgHead: bodyImgBackground {
|
||||
idc = 50;
|
||||
x = "13.33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "3.73 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "12.33 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)";
|
||||
colorBackground[] = {1,1,1,1};
|
||||
colorPicture[] = {1,1,1,0.75};
|
||||
colorText[] = {1,1,1,0.75};
|
||||
text = QPATHTOEF(medical,ui\body_head.paa);
|
||||
};
|
||||
|
||||
class bodyImgTorso: bodyImgHead {
|
||||
idc = 51;
|
||||
text = QPATHTOEF(medical,ui\body_torso.paa);
|
||||
};
|
||||
class bodyImgArms_l: bodyImgHead {
|
||||
idc = 52;
|
||||
text = QPATHTOEF(medical,ui\body_arm_left.paa);
|
||||
};
|
||||
class bodyImgArms_r: bodyImgHead {
|
||||
idc = 53;
|
||||
text = QPATHTOEF(medical,ui\body_arm_right.paa);
|
||||
};
|
||||
class bodyImgLegs_l: bodyImgHead {
|
||||
idc = 54;
|
||||
text = QPATHTOEF(medical,ui\body_leg_left.paa);
|
||||
};
|
||||
class bodyImgLegs_r: bodyImgHead {
|
||||
idc = 55;
|
||||
text = QPATHTOEF(medical,ui\body_leg_right.paa);
|
||||
};
|
||||
|
||||
|
||||
class selectHead: ACE_gui_buttonBase {
|
||||
idc = 301;
|
||||
x = "18.8 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "3.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "1.4 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "1.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.1)";
|
||||
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
animTextureOver = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
action = QUOTE(GVAR(selectedBodyPart) = 0;);
|
||||
};
|
||||
class selectTorso : selectHead {
|
||||
idc = 302;
|
||||
x = "18.4 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "5.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "2.2 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "4.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
action = QUOTE(GVAR(selectedBodyPart) = 1;);
|
||||
};
|
||||
class selectLeftArm: selectHead{
|
||||
idc = 303;
|
||||
x = "17.4 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "5.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "1.1 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "4.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
action = QUOTE(GVAR(selectedBodyPart) = 3;);
|
||||
};
|
||||
class selectRightArm: selectLeftArm{
|
||||
idc = 304;
|
||||
x = "20.6 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
action = QUOTE(GVAR(selectedBodyPart) = 2;);
|
||||
};
|
||||
class selectLeftLeg :selectHead {
|
||||
idc = 305;
|
||||
x = "18.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "9.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "1.1 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
action = QUOTE(GVAR(selectedBodyPart) = 5;);
|
||||
};
|
||||
class selectRightLeg :selectLeftLeg {
|
||||
idc = 306;
|
||||
x = "19.6 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
action = QUOTE(GVAR(selectedBodyPart) = 4;);
|
||||
};
|
||||
|
||||
|
||||
class TriageTextBottom: HeaderName {
|
||||
idc = 2000;
|
||||
x = "13.33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "16.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "1.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
style = ST_CENTER;
|
||||
colorText[] = {1, 1, 1.0, 1};
|
||||
colorBackground[] = {0,0.0,0.0,0.7};
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
text = "";
|
||||
};
|
||||
|
||||
// Right side
|
||||
class InjuryList: ACE_gui_listBoxBase {
|
||||
idc = 213;
|
||||
x = "25.66 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "5.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)";
|
||||
rowHeight = 0.03;
|
||||
colorBackground[] = {0, 0, 0, 0.2};
|
||||
colorText[] = {1,1, 1, 1.0};
|
||||
colorScrollbar[] = {0.95, 0.95, 0.95, 1};
|
||||
colorSelect[] = {0.95, 0.95, 0.95, 1};
|
||||
colorSelect2[] = {0.95, 0.95, 0.95, 1};
|
||||
colorSelectBackground[] = {0, 0, 0, 0.0};
|
||||
colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.5};
|
||||
};
|
||||
// bottom
|
||||
|
||||
class ActivityLogHeader: CatagoryLeft {
|
||||
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "18.6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "18.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
style = ST_CENTER;
|
||||
colorText[] = {0.6, 0.7, 1.0, 1};
|
||||
colorBackground[] = {0,0,0,0};
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
text = CSTRING(ACTIVITY_LOG);
|
||||
};
|
||||
class QuickViewHeader: ActivityLogHeader {
|
||||
x = "19.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
text = CSTRING(QUICK_VIEW);
|
||||
};
|
||||
class LineBottomHeaders: Line {
|
||||
y = "19.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
};
|
||||
class ActivityLog: InjuryList {
|
||||
idc = 214;
|
||||
//style = 16;
|
||||
//type = 102;
|
||||
//rows=1;
|
||||
colorBackground[] = {0, 0, 0, 0};
|
||||
x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "(19.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))";
|
||||
w = "18.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "6.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)";
|
||||
//colorSelectBackground[] = {0, 0, 0, 0.0};
|
||||
//colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.0};
|
||||
//columns[] = {0.0, 0.08};
|
||||
//canDrag=true;
|
||||
//arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
// arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
drawSideArrows = 0;
|
||||
//idcLeft = -1;
|
||||
//idcRight = -1;
|
||||
};
|
||||
|
||||
class QuikViewLog: InjuryList {
|
||||
idc = 215;
|
||||
//style = 16;
|
||||
//type = 102;
|
||||
//rows=1;
|
||||
colorBackground[] = {0, 0, 0, 0};
|
||||
x = "21.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "(19.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))";
|
||||
w = "18.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "6.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)";
|
||||
colorSelectBackground[] = {0, 0, 0, 0.0};
|
||||
colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.0};
|
||||
|
||||
//columns[] = {0.0, 0.08};
|
||||
//canDrag=true;
|
||||
//arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
// arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
drawSideArrows = 0;
|
||||
//idcLeft = -1;
|
||||
//idcRight = -1;
|
||||
};
|
||||
|
||||
class selectTriageStatus: ACE_gui_buttonBase {
|
||||
idc = 2001;
|
||||
x = "13.33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "16.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "1.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
style = ST_CENTER;
|
||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
animTextureOver = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.0)";
|
||||
action = QUOTE([] call FUNC(handleUI_dropDownTriageCard););
|
||||
};
|
||||
class selectTriageStatusNone: selectTriageStatus {
|
||||
idc = 2002;
|
||||
x = 0;
|
||||
y = 0;
|
||||
w = 0;
|
||||
h = 0;
|
||||
text = ECSTRING(Medical,Triage_Status_None);
|
||||
style = ST_CENTER;
|
||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.9)";
|
||||
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.9)";
|
||||
animTextureOver = "#(argb,8,8,3)color(0,0,0,0.9)";
|
||||
animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.9)";
|
||||
animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.9)";
|
||||
animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.9)";
|
||||
action = QUOTE([] call FUNC(handleUI_dropDownTriageCard); [ARR_2(GVAR(INTERACTION_TARGET),0)] call FUNC(setTriageStatus););
|
||||
};
|
||||
|
||||
class selectTriageStatusMinor: selectTriageStatus {
|
||||
idc = 2003;
|
||||
x = 0;
|
||||
y = 0;
|
||||
w = 0;
|
||||
h = 0;
|
||||
text = ECSTRING(Medical,Triage_Status_Minor);
|
||||
style = ST_CENTER;
|
||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
animTextureNormal = "#(argb,8,8,3)color(0,0.5,0,0.9)";
|
||||
animTextureDisabled = "#(argb,8,8,3)color(0,0.5,0,0.9)";
|
||||
animTextureOver = "#(argb,8,8,3)color(0,0.5,0,0.9)";
|
||||
animTextureFocused = "#(argb,8,8,3)color(0,0.5,0,0.9)";
|
||||
animTexturePressed = "#(argb,8,8,3)color(0,0.5,0,0.9)";
|
||||
animTextureDefault = "#(argb,8,8,3)color(0,0.5,0,0.9)";
|
||||
action = QUOTE([] call FUNC(handleUI_dropDownTriageCard); [ARR_2(GVAR(INTERACTION_TARGET),1)] call FUNC(setTriageStatus););
|
||||
};
|
||||
class selectTriageStatusDelayed: selectTriageStatus {
|
||||
idc = 2004;
|
||||
x = 0;
|
||||
y = 0;
|
||||
w = 0;
|
||||
h = 0;
|
||||
text = ECSTRING(Medical,Triage_Status_Delayed);
|
||||
style = ST_CENTER;
|
||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
animTextureNormal = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)";
|
||||
animTextureDisabled = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)";
|
||||
animTextureOver = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)";
|
||||
animTextureFocused = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)";
|
||||
animTexturePressed = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)";
|
||||
animTextureDefault = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)";
|
||||
action = QUOTE([] call FUNC(handleUI_dropDownTriageCard); [ARR_2(GVAR(INTERACTION_TARGET),2)] call FUNC(setTriageStatus););
|
||||
};
|
||||
class selectTriageStatusImmediate: selectTriageStatus {
|
||||
idc = 2005;
|
||||
x = 0;
|
||||
y = 0;
|
||||
w = 0;
|
||||
h = 0;
|
||||
text = ECSTRING(Medical,Triage_Status_Immediate);
|
||||
style = ST_CENTER;
|
||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
animTextureNormal = "#(argb,8,8,3)color(1,0.2,0.2,0.9)";
|
||||
animTextureDisabled = "#(argb,8,8,3)color(1,0.2,0.2,0.9)";
|
||||
animTextureOver = "#(argb,8,8,3)color(1,0.2,0.2,0.9)";
|
||||
animTextureFocused = "#(argb,8,8,3)color(1,0.2,0.2,0.9)";
|
||||
animTexturePressed = "#(argb,8,8,3)color(1,0.2,0.2,0.9)";
|
||||
animTextureDefault = "#(argb,8,8,3)color(1,0.2,0.2,0.9)";
|
||||
action = QUOTE([] call FUNC(handleUI_dropDownTriageCard); [ARR_2(GVAR(INTERACTION_TARGET),3)] call FUNC(setTriageStatus););
|
||||
};
|
||||
class selectTriageStatusDeceased: selectTriageStatus {
|
||||
idc = 2006;
|
||||
x = 0;
|
||||
y = 0;
|
||||
w = 0;
|
||||
h = 0;
|
||||
text = ECSTRING(Medical,Triage_Status_Deceased);
|
||||
style = ST_CENTER;
|
||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.9)";
|
||||
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.9)";
|
||||
animTextureOver = "#(argb,8,8,3)color(0,0,0,0.9)";
|
||||
animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.9)";
|
||||
animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.9)";
|
||||
animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.9)";
|
||||
action = QUOTE([] call FUNC(handleUI_dropDownTriageCard); [ARR_2(GVAR(INTERACTION_TARGET),4)] call FUNC(setTriageStatus););
|
||||
};
|
||||
};
|
||||
};
|
Loading…
Reference in New Issue
Block a user