Skip to content

Commit 3bc4e3e

Browse files
DartRuffianSpicyBagpipesPabstMirrorBrettMayson
authored
Medical GUI - Add customizable message when opening player's medical menu (#10883)
* Display message when opening player's medical menu * Simplify grammar Co-authored-by: Will/KJW <100206101+SpicyBagpipes@users.noreply.github.com> * Update addons/medical_gui/XEH_postInit.sqf Co-authored-by: PabstMirror <pabstmirror@gmail.com> * Fix showing message from checking player corpse * Update addons/medical_gui/XEH_PREP.hpp Co-authored-by: BrettMayson <brett@mayson.io> --------- Co-authored-by: Will/KJW <100206101+SpicyBagpipes@users.noreply.github.com> Co-authored-by: PabstMirror <pabstmirror@gmail.com> Co-authored-by: BrettMayson <brett@mayson.io>
1 parent f7141a0 commit 3bc4e3e

5 files changed

Lines changed: 90 additions & 0 deletions

File tree

addons/medical_gui/XEH_PREP.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ PREP(onKeyDown);
1616
PREP(onMenuClose);
1717
PREP(onMenuOpen);
1818
PREP(openMenu);
19+
PREP(showMedicalHint);
1920
PREP(toggleTriageSelect);
2021
PREP(updateActions);
2122
PREP(updateBodyImage);

addons/medical_gui/XEH_postInit.sqf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ GVAR(selfInteractionActions) = [];
4242
QGVAR(RscPatientInfo) cutFadeOut 0.3;
4343
}] call CBA_fnc_addEventHandler;
4444

45+
["ace_medicalMenuOpened", LINKFUNC(showMedicalHint)] call CBA_fnc_addEventHandler;
46+
4547
[QEGVAR(medical,woundReceived), {
4648
params ["_unit", "_allDamages", ""];
4749
if !(GVAR(peekMedicalOnHit) && {_unit == ACE_player}) exitWith {};
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#include "..\script_component.hpp"
2+
/*
3+
* Authors: DartRuffian
4+
* Displays a player's medical message to the unit they are treating.
5+
*
6+
* Arguments:
7+
* 0: Medic <OBJECT>
8+
* 1: Patient <OBJECT>
9+
*
10+
* Return Value:
11+
* None
12+
*
13+
* Example:
14+
* [player, cursorObject] call ace_medical_gui_fnc_showMedicalHint
15+
*
16+
* Public: No
17+
*/
18+
19+
params ["_medic", "_patient"];
20+
TRACE_2("fnc_showMedicalHint",_medic,_patient);
21+
22+
if (!GVAR(medicalHintEnabled) || GVAR(medicalHintMessage) == "" || GVAR(pendingReopen) ||
23+
_medic == _patient || !(_patient call EFUNC(common,isPlayer))
24+
) exitWith {};
25+
26+
private _message = format [GVAR(medicalHintMessage), [_medic, false, true] call EFUNC(common,getName)];
27+
_message = format ["<t align='center'>%1</t>", _message];
28+
private _image = "";
29+
30+
if (GVAR(medicalHintMedicIcon) != "" && {_medic call EFUNC(medical_treatment,isMedic)}) then {
31+
if (fileExists GVAR(medicalHintMedicIcon)) then {
32+
_image = GVAR(medicalHintMedicIcon);
33+
} else {
34+
WARNING_1("Image '%1' does not exist.",GVAR(medicalHintMedicIcon));
35+
};
36+
};
37+
38+
[QEGVAR(common,displayTextPicture), [_message, _image, [1, 1, 1], _patient], _patient] call CBA_fnc_targetEvent;

addons/medical_gui/initSettings.inc.sqf

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,3 +180,30 @@ private _categoryColors = [ELSTRING(medical,Interface_Category), format ["| %1 |
180180
false,
181181
false
182182
] call CBA_fnc_addSetting;
183+
184+
[
185+
QGVAR(medicalHintEnabled),
186+
"CHECKBOX",
187+
[LSTRING(medicalHintEnabled_DisplayName), LSTRING(medicalHintEnabled_Description)],
188+
[ELSTRING(medical,Interface_Category), LSTRING(SubCategory)],
189+
true,
190+
1
191+
] call CBA_fnc_addSetting;
192+
193+
[
194+
QGVAR(medicalHintMessage),
195+
"EDITBOX",
196+
[LSTRING(medicalHintMessage_DisplayName), LSTRING(medicalHintMessage_Description)],
197+
[ELSTRING(medical,Interface_Category), LSTRING(SubCategory)],
198+
LLSTRING(medicalHintMessage_defaultMessage),
199+
0
200+
] call CBA_fnc_addSetting;
201+
202+
[
203+
QGVAR(medicalHintMedicIcon),
204+
"EDITBOX",
205+
[LSTRING(medicalHintMedicIcon_DisplayName), LSTRING(medicalHintMedicIcon_Description)],
206+
[ELSTRING(medical,Interface_Category), LSTRING(SubCategory)],
207+
"",
208+
0
209+
] call CBA_fnc_addSetting;

addons/medical_gui/stringtable.xml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1819,5 +1819,27 @@
18191819
<Chinesesimp>慢性创伤</Chinesesimp>
18201820
<Ukrainian>Хронічна травма</Ukrainian>
18211821
</Key>
1822+
<Key ID="STR_ACE_Medical_GUI_medicalHintEnabled_DisplayName">
1823+
<English>Medical Menu Message Enabled</English>
1824+
</Key>
1825+
<Key ID="STR_ACE_Medical_GUI_medicalHintEnabled_Description">
1826+
<English>If enabled, patients will have a customizable message displayed when a player opens their medical menu.</English>
1827+
</Key>
1828+
<Key ID="STR_ACE_Medical_GUI_medicalHintMessage_defaultMessage">
1829+
<!-- %1 = medic's name -->
1830+
<English>%1 is treating you</English>
1831+
</Key>
1832+
<Key ID="STR_ACE_Medical_GUI_medicalHintMessage_DisplayName">
1833+
<English>Medical Menu Message</English>
1834+
</Key>
1835+
<Key ID="STR_ACE_Medical_GUI_medicalHintMessage_Description">
1836+
<English>Custom message to display to patients when opening their medical menu.\n%1 will be your name.</English>
1837+
</Key>
1838+
<Key ID="STR_ACE_Medical_GUI_medicalHintMedicIcon_DisplayName">
1839+
<English>Medical Menu Medic Icon</English>
1840+
</Key>
1841+
<Key ID="STR_ACE_Medical_GUI_medicalHintMedicIcon_Description">
1842+
<English>Image path to display in the medical hint if the player is a medic.</English>
1843+
</Key>
18221844
</Package>
18231845
</Project>

0 commit comments

Comments
 (0)