-
Notifications
You must be signed in to change notification settings - Fork 738
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Medical GUI - Show warning if tourniquet will interfere with medical menu action #9475
Conversation
tourniquetwarning.mp4To be clear, this does not prevent or obstruct medical actions. It only adds a tooltip to make the player aware of the situation. This overlaps with #9474, and the intent is that this tooltip will override the item count tooltip. |
@@ -50,6 +50,16 @@ private _shownIndex = 0; | |||
_ctrl ctrlSetPositionY POS_H(1.1 * _shownIndex); | |||
_ctrl ctrlCommit 0; | |||
|
|||
// Show warning if tourniquet will interfere with action | |||
if (((_category in ["examine", "medication"]) || (_items findIf {"IV" in _x}) > -1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't there an IV category? The _items findIf {"IV" in _x}) > -1
check is too specific imo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IVs are in the advanced category, shared with things like stitching and CPR. Checking the item name was the most succinct way I could figure out without having to pass extra information about the actions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Item config properties can be checked instead to determine if it's an IV, but oof...
I don't like the idea of relying on classnames.
I've elected to not add a setting for this. To me, the warning is universal and low-impact enough to just have it always on. If you all disagree, then I'm fine with adding a setting. I just didn't want to go ahead and add yet another setting if it wasn't needed. (By universal I mean that it's applicable regardless of what settings someone might use, as far as I'm aware.) |
I'm not sure on this one. It is definitely a UX improvement for casual players, but it feels like giving up one of the finer details that makes the medical system unique (even if it's still there, some of the magic is gone with this being shown). I think this isn't necessary with the addition of the outline, honestly. |
That does makes sense for the people who are interested in engaging with a detailed medical system - making them pay closer attention. But this warning would be a good way to teach new and casual players about one of the more subtle and otherwise invisible mistakes that can be made. Especially since that mistake can directly lead to player death and a generally negative experience. I'd like it as a setting that's on by default and not global. |
If you want to teach a new player something, it could be a one-time thing. But I don't think we have anything else like that in ACE3. |
I shouldn't have worded it as teaching. Thinking on it more, it's about having a user interface where, if a button is not going to do what it normally does, the user should be told that. |
Do this and the tooltip for # of items interfere/overlap or anything? |
I understand, but in this case, the user can do it, as you can do it in real life. That button will do just fine what it says it will do. The resulting effects are a different story and have nothing to do with this UX in particular. |
This warning will override the tooltip for # of items. |
This should be all set to merge now, whether or not you decide to add it. |
[LSTRING(TourniquetWarning_DisplayName), LSTRING(TourniquetWarning_Description)], | ||
[ELSTRING(medical,Category), LSTRING(SubCategory)], | ||
false, | ||
false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
false | |
true |
Global
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh really? It seems like something that would be left to the player unless admins specifically care. That's my assumption for UI stuff in general.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh really? It seems like something that would be left to the player unless admins specifically care. That's my assumption for UI stuff in general.
I agree with this. @LinkIsGrim Why would you want to enforce it globally?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given the effect, I'd rather this be really deliberate on when it's enabled.
That being said, vox populi and all that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this needs to be global. Community admins can force if they want to.
_ctrl ctrlSetTooltip _countText; | ||
|
||
// Show warning if tourniquet will interfere with action | ||
if (GVAR(tourniquetWarning) | ||
&& {(_category in ["examine", "medication"]) || (_items findIf {"IV" in _x}) > -1} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
&& {(_category in ["examine", "medication"]) || (_items findIf {"IV" in _x}) > -1} | |
&& {(_category in ["examine", "medication"]) || (_items findIf {"IV" in _x}) > -1} |
Still don't like the IV check, but anything else requires config lookups/caching items.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't really have the means to properly investigate the solution I am proposing, but maybe if
_x params ["_displayName", "_category", "_condition", "_statement", "_items"]; |
callbackSuccess = QFUNC(ivBag); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's still specific, but the medical system wasn't designed with this in mind (and I don't see a good way to implement it). It's fine. I think most 3rd party IVs will have "IV" in their classname.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If anything, enforcing the " IV" (notice the leading space) name requirement would be 1 way to ensure support with ACE outside config, assuming the 3rd-party dev gives a fuck.
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
we ball² |
When merged this pull request will:
IMPORTANT
Component - Add|Fix|Improve|Change|Make|Remove {changes}
.