-
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 Damage - Add alternate armor penetration #9217
base: master
Are you sure you want to change the base?
Conversation
Co-authored-by: Jouni Järvinen <[email protected]>
Co-authored-by: Jouni Järvinen <[email protected]>
Co-authored-by: Jouni Järvinen <[email protected]>
…/ACE3 into rework-armor-penetration
I've realized a way to improve performance on this would be to move it to |
I'm happy with this for now. Ready for review. |
I'm aware of the breaking scenario and forgot to mention it. Should be fine to append ammo after each wound handler iteration if necessary if we don't want to break API to make this always work. |
* Public: No | ||
*/ | ||
// Baseline penetrability used for armor penetration calculation, see (https://community.bistudio.com/wiki/CfgAmmo_Config_Reference#caliber) | ||
#define ARMOR_PENETRABILITY 0.015 |
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.
Could be a setting? /shrug.
pushBackUnique will duplicate if someone changes the casing of the ammo string but I see no reason to do that and it shouldn't break anything |
What worries me in that scenario is if we decide to add more parameters in the future, where it could cause issues. |
Then I'd say the custom wound handler system is new enough that we can break BWC and help users in updating if that's the case. Still need a better approach though. |
If it was added in #8278, then I'd agree it's recent enough, but other opinions are welcome. |
_armorScaled = (log (_armor / (_passThrough ^ _passThroughEffect))) * 10; | ||
// Scale armor using passthrough to fix explosive-resistant & stupid armor (#9063) | ||
// Skip scaling for uniforms and items that don't cover the hitpoint to prevent infinite armor | ||
private _armorLevelStep = [4, 2] select (_itemType == TYPE_HEADGEAR); |
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.
Doesn't this change the balance compared to before?
I haven't looked at it in detail, so forgive me if I'm wrong.
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.
Yes. Changed back to vanilla levels except for stupid armor which gets capped. Works well enough IMO.
When merged this pull request will:
Requires #10573.
Armor is converted to RHAe ( pulled from
\a3\Data_F\penetration\*.bisurf
) based on its scaled value and ignored based on projectile's ability to penetrate material.Balanced around ACE ammo values. We don't have to worry about 3rd party armor values because of #9216 and an armor soft-cap (at RHAe 110m) implemented in this PR. Overpenetration and angle of incidence are taken into account naturally by using impact damage to calculate impact speed, I actually trust the engine's handling of this more than whatever math we cook up.
IMPORTANT
Component - Add|Fix|Improve|Change|Make|Remove {changes}
.