Ace3: Improve medical settings UX

Created on 19 Jul 2018  路  14Comments  路  Source: acemod/ACE3

The current list of settings is bloated and confusing. As part of the rewrite I intend to:

  • [x] Convert to CBA settings
  • [x] Add settings to their respective component categories
  • [x] Remove any unnecessary settings to streamline UX
  • [x] Clarify any confusing/ambiguous settings (whether due to wording or implementation)
kinFocus Feature kintask

Most helpful comment

First to the chopping block:

Medics setting
What is the level of detail prefered for medics?

My thoughts:

  • I don't think this setting adds any value to the system. The only place it's used in code is within the fnc_isMedic function to change which units are recognised as medics by default (all, vanilla or none).

    • This is redundant because we have an editor attribute to set whether a unit should be considered a medic or not. This provides finer control and no confusion because it's explicit.

    • Having both of these at play can cause unexpected results especially because the setting is very vaguely worded.

Proposal:

  • Remove it.

All 14 comments

I've started my review process of the current settings, will be posting comments on this issue with changes I'd like to propose for others to vote or comment on 馃憤

First to the chopping block:

Medics setting
What is the level of detail prefered for medics?

My thoughts:

  • I don't think this setting adds any value to the system. The only place it's used in code is within the fnc_isMedic function to change which units are recognised as medics by default (all, vanilla or none).

    • This is redundant because we have an editor attribute to set whether a unit should be considered a medic or not. This provides finer control and no confusion because it's explicit.

    • Having both of these at play can cause unexpected results especially because the setting is very vaguely worded.

Proposal:

  • Remove it.

My thoughts on this:

Enable advanced wounds:
Should be renamed to "Enable reopening wounds" imho, both work, I just prefer this one :P

Show pain:
Could be worded better, it's fairly confusing right now.

Instant death AI:
Could be worded better

Allow Pain Visualization:
Same issue as Show pain, maybe rename both pain status "show / hide" and Pain Status visualization "enabled / disabled" ?

2 settings are missing strings (ace_medical_ai_enabledFor and ace_medical_menuTypeStyle)

Suggesting for removal:

  • GVAR(showPainInMenu)

    • Show pain: Show pain status in the medical menu

    • What it actually does: Determines if the little "In pain" message is shown in the patient preview/overview

    • Why it should be removed: We already have GVAR(medicSetting_PainVisualization) which let's you control who can see this message (nobody/medics only/everybody), so this is a duplicate setting.

Suggesting for removal:

  • GVAR(medicSetting_PainVisualization)

    • Allow Pain visualization: Who can see pain in the menu?

    • What it actually does: Let's you control who (nobody/medics only/everybody) can see the little "In pain" message is shown in the patient preview/overview

    • Why it should be removed: Personally I think we should decide on a default behaviour for this and have it be consistent for everyone (my opinion: always show the message if the patient is conscious, only for medics or never if unconscious) because hiding this information arbitrarily doesn't add any gameplay or simulation value (in real life you'd immediately know based on a conscious patient's response - I don't know what the determination process is if they're not)

Suggesting for removal:

  • GVAR(enableScreams)

    • Enable Screams: Enable screaming by injured units

    • What it actually does: Nothing, it isn't used anywhere in code.

    • Why it should be removed: I actually don't think it should be, but since it isn't used anywhere we should decide if we want this setting to exist or if behaviour should be consistent. Personally I think we could make this one client settable and actually implement it in the code (the question is then whether it should also cover moaning). That said, I can see an argument for not allowing screams to be disabled because they are a player feedback mechanism that let the player and nearby medics know they are in pain.

@SilentSpike Somewhat related but not to the setting.

https://github.com/acemod/ACE3/blob/7cf483d598ea901c7b0c0a9d4a86491422ef173a/addons/medical_feedback/XEH_preInit.sqf#L389-L416

The sounds for Soundinjured_Max_X have quite a low volume (0.1 compared to 1.7 other max idents are using) setting compared to the rest of the configs.

Suggesting for removal:

  • GVAR(advancedDiagnose)

    • Advanced Diagnose: Enable advanced diagnose

    • What it actually does: Determines if the "check pulse" and "diagnose" actions are visible.

    • Why it should be removed: Why don't we just make them always visible?

@JonBons Looks like they're shifted one decimal over (likely by accident). Thanks for pointing it out 馃憤

See no reason for hiding pulse. What does diagnose do? The "patient is responsive" thing?
Why would anyone ever disable that? Doesn't even make sense in my mind.

@dedmen Looks like it actually does show some valuable information:

if (alive _target) then {
    _genericMessages pushBack ELSTRING(medical_treatment,diagnoseAlive);
} else {
    _genericMessages pushBack ELSTRING(medical_treatment,diagnoseDead);
};

private _hemorrhage = GET_HEMORRHAGE(_target);
if (_hemorrhage > 0) then {
    if (_hemorrhage > 1) then {
        _genericMessages pushBack ELSTRING(medical_treatment,lostBloodALot);
    } else {
        _genericMessages pushBack ELSTRING(medical_treatment,lostBlood);
    };
} else {
    _genericMessages pushBack ELSTRING(medical_treatment,noBloodloss);
};

if (alive _target) then {
    if IS_IN_PAIN(_target) then {
        _genericMessages pushBack ELSTRING(medical_treatment,inPain);
    } else {
        _genericMessages pushBack ELSTRING(medical_treatment,noPain);
    };
};

To be honest, I kind of don't see the point in this action, it doesn't really add gameplay/simulation value to have to interact with the patient to determine things that should be immediately visible under most circumstances (which we show in the patient overview/preview)

I guess it let's you determine if the patient is dead or not. Though this is kinda easily visible in arma, but not so much in real life.

Suggesting for removal:

  • GVAR(allowUnconsciousAnimationOnTreatment)

    • Allow Unconscious Animation: Allow Unconscious Animation on Treatment.

    • What it actually does: As far as I can tell, toggles whether treatment animations are played on unconscious patients

private _patientAnim = getText (_config >> "animationPatient");

if (IS_UNCONSCIOUS(_target) && EGVAR(medical,allowUnconsciousAnimationOnTreatment)) then {
    if !(animationState _target in (getArray (_config >> "animationPatientUnconsciousExcludeOn"))) then {
        _patientAnim = getText (_config >> "animationPatientUnconscious");
    };
};
  • Why it should be removed: I don't see a clear need for this to be a setting, it should be consistent behaviour based on what's realistic

All done by @mharis001.

Was this page helpful?
0 / 5 - 0 ratings