mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
* Add a macro for the bloodloss scaling factor * Adjust bloodloss threshold for red icon * Remove bloodloss color scaling factor The issue is actually the other way round, the factor of 20 would instantly make bodyparts red on taking a wound. * Implemet 10 color steps provided by ShackTac This replaces the old method of colouring the interaction menu icons and body image selections with a new method that has 10 distinct color steps (matching across the icons and the body image). * Use macros for constants * Implement blue damage colouring This re-adds visualisation for colouring based on damage. The case where a limb has a tourniquet will hopefully be handled by an overlayed icon. * Tidy up file structure * Move patient information display to medical_ui * Make common colour conversion code into functions * Add tourniquet icon overlay to body image * Fix mispelling I forgot to commit * Update icon paths to new white cross icon * Clean mess after rebase * Add new medical menu gui * Add updating injury list and body image * Add updating treatment category buttons * Update onMenuClose function * Delete unused functions * Add action buttons and triage card to menu * Move medical menu PFH to separate function * Move setTriageStatus to treatment * Add triage select dropdown * Add toggle button action * Fix mouse moving randomly when opening * Add logs list update and remove unused functions * Hide tourniquet icons by default * Remove CfgInGameUI (already in feedback) * Update patient info display * Update triage card display * Add settings to control interact menu actions * Cleanup files/paths * Move triage status update to common function * Add icons for interact menu actions * Modify icon color for interact menu actions * Update canOpenMenu for new setting * Hide pain information for unconscious * Stringtable cleanup * Use switch for pain text * Change minor triage status to minimal * Fix injury list to use new stringtable entry names * Fix medical actions check when disabled * Skip distance check in same vehicle * More cleanup * Fix CI error * Requested changes * Fix INJURIES string * Fix include after comment block * Fix missing ; Co-Authored-By: mharis001 <34453221+mharis001@users.noreply.github.com>
66 lines
2.2 KiB
Plaintext
66 lines
2.2 KiB
Plaintext
#include "script_component.hpp"
|
|
/*
|
|
* Author: BaerMitUmlaut, mharis001
|
|
* Creates actions for treatments from config and adds them to the interaction menu.
|
|
*
|
|
* Arguments:
|
|
* None
|
|
*
|
|
* Return Value:
|
|
* None
|
|
*
|
|
* Example:
|
|
* [] call ace_medical_gui_fnc_addInteractActions
|
|
*
|
|
* Public: No
|
|
*/
|
|
|
|
private _actionsConfig = configFile >> QEGVAR(medical_treatment,actions);
|
|
private _actionPaths = ["ACE_Head", "ACE_Torso", "ACE_ArmLeft", "ACE_ArmRight", "ACE_LegLeft", "ACE_LegRight"];
|
|
|
|
private _fnc_statement = {
|
|
params ["_target", "_player", "_args"];
|
|
_args params ["_bodyPart", "_treatmentName"];
|
|
[_player, _target, _bodyPart, _treatmentName] call EFUNC(medical_treatment,treatment);
|
|
};
|
|
|
|
private _fnc_condition = {
|
|
params ["_target", "_player", "_args"];
|
|
_args params ["_bodyPart", "_treatmentName"];
|
|
[_player, _target, _bodyPart, _treatmentName] call EFUNC(medical_treatment,canTreatCached);
|
|
};
|
|
|
|
{
|
|
private _configName = configName _x;
|
|
private _actionName = format [QGVAR(_%1), _configName];
|
|
private _displayName = getText (_x >> "displayName");
|
|
private _icon = getText (_x >> "icon");
|
|
|
|
private _allowedBodyParts = getArray (_x >> "allowedSelections") apply {toLower _x};
|
|
if (_allowedBodyParts isEqualTo ["all"]) then {
|
|
_allowedBodyParts = ALL_BODY_PARTS apply {toLower _x};
|
|
};
|
|
|
|
{
|
|
private _bodyPart = _x;
|
|
private _actionPath = _actionPaths select (ALL_BODY_PARTS find toLower _bodyPart);
|
|
|
|
private _action = [
|
|
_actionName,
|
|
_displayName,
|
|
_icon,
|
|
_fnc_statement,
|
|
_fnc_condition,
|
|
{},
|
|
[_bodyPart, _configName],
|
|
{[0, 0, 0]},
|
|
2,
|
|
[false, true, false, false, false]
|
|
] call EFUNC(interact_menu,createAction);
|
|
|
|
["CAManBase", 0, [_actionPath], _action, true] call EFUNC(interact_menu,addActionToClass);
|
|
["CAManBase", 0, ["ACE_MainActions", "ACE_Medical_Radial", _actionPath], _action, true] call EFUNC(interact_menu,addActionToClass);
|
|
["CAManBase", 1, ["ACE_SelfActions", "ACE_Medical", _actionPath], _action, true] call EFUNC(interact_menu,addActionToClass);
|
|
} forEach _allowedBodyParts;
|
|
} forEach configProperties [_actionsConfig, "isClass _x"];
|