-
Notifications
You must be signed in to change notification settings - Fork 735
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 Treatment - Add setting to rollover bandage effectiveness #8426
Medical Treatment - Add setting to rollover bandage effectiveness #8426
Conversation
addons/medical_treatment/functions/fnc_findMostEffectiveWound.sqf
Outdated
Show resolved
Hide resolved
3feef8b
to
3d5c288
Compare
Anything outstanding that needs to be addressed with this? |
I haven't seen this PR before, thanks for bringing it to attention. I am not sure I like this. If I have 2 separate wounds on my arm I wouldn't expect 1 bandage to cover both, they probably are not close enough. Maybe a setting, but then it seems to be too close to just general effectiveness factor at that point. |
By that logic, shouldn't bandage effectiveness be capped at 1x for any wound? I understand 2x Velocity Wounds as being two separate gunshot wounds, not one really large wound, and I suspect the same for most of the userbase. If the |
Hmm, I see, you are probably right. I'll bring this up internally and see if we can get a positive answer from someone more familiar with medical specifically. Your justification seems correct to me though. |
Well, you could argue that these wounds could be close together. If we go by severity, maybe a bandage capable of treating 1 large wound could then be applied over 3 small ones. Improbable, but not impossible. I believe that this could be a setting, especially useful for those seeking a more softcore experience, who still wish to use ACE's depth without the.. uhh.. involved labor, if that makes any sense. Of course, as a non-coder, I genuinely have no idea how easy or hard it would be to implement this, take it with a grain of salt. |
We need to test how this effects |
Bandage time returns same as it would without this PR. If logic is "more wounds = more time", then that logic should be changed to be |
IRL if the wounds are close enough together and the banage is large enough you could cover multiple wounds with one bandage. I wouldn't mind capping effectivemess at 1, but I think we would also have to look at capping the number of each size of wounds that each body part can receive, and combining smaller wound types into larger ones when that makes sense. |
What I'd rather do is refactor wounds entirely with HashMap, do away with the size categories and use severity based on the damage that caused the wound instead (ie, 5.56 makes a single Velocity Wound with severity 2.3, while .50 BMG makes a single Velocity Wound with severity 6), esp. since with #8278 high damage is more likely to cause multiple wounds. This'd allow for mostly keeping current |
I think we can go ahead with this change, bandaging and wounding involves some abstraction and I know for sure when we rewrote medical we intended to allow bandages to effect multiple wounds as part of that abstraction. Edit: There's almost certainly discussion of this somewhere in old PRs. There should be one for when I first introduced the bandage time function somewhere that might have relevant discussion. |
git why |
addons/medical_treatment/functions/fnc_findMostEffectiveWounds.sqf
Outdated
Show resolved
Hide resolved
….sqf Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
Co-authored-by: BrettMayson <brett@mayson.io>
* | ||
* Return Value: | ||
* [Wound, Index, Effectiveness] <ARRAY, NUMBER, NUMBER> | ||
* [Wound, [Index, Effectiveness, Impact]] <HASHMAP> of <ARRAY>:<NUMBER, NUMBER, NUMBER> |
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.
* [Wound, [Index, Effectiveness, Impact]] <HASHMAP> of <ARRAY>:<NUMBER, NUMBER, NUMBER> | |
* [Wound, [Effectiveness, Index, Impact]] <HASHMAP> of <ARRAY>:<NUMBER, NUMBER, NUMBER> |
[LSTRING(bandageRollover_DisplayName), LSTRING(bandageRollover_Description)], | ||
[ELSTRING(medical,Category), LSTRING(SubCategory_Treatment)], | ||
true, | ||
false // server can force if necessary, otherwise client decides |
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 understand why, this means everyone can decide how effective their bandages are, that doesn't make sense to me.
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 a tradeoff, bandage slower in exchange for not wasting your bandage's effectiveness (if you're even bandaging more than one kind of wound at once, which is relatively uncommon). You're not getting more effectiveness than whatever's in the config, overall.
I see it as no different as choosing to only use my Elastic Bandages on Large Avulsions or wounds with count > 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.
Aah that makes sense. So if I leave this as default it will just take longer to bandage when it will rollover, and if I disable it rollover won't happen but bandaging would be faster.
When merged this pull request will:
ace_medical_treatment_bandageRollover
setting. False maintains old behavior.Example: Applying Packing Bandage on limb with 1 Medium Velocity Wound (bandage effectiveness of 1.5) and 1 Small Velocity Wound (bandage effectiveness of 2) in the same limb.
Medium velocity will be closed but bandage still has 33% of its effectiveness (1.5 - 1 / 1.5). 0.66 (2 * .33) Small Velocity will be closed afterwards. Repeat while bandage still has left over effectiveness or there are still wounds in the same limb.