-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Armour Refactor #18547
Armour Refactor #18547
Conversation
I am not sure I am a fan of this formula, that makes armor under 50 stronger and over 50 weaker. I feel like addressing the sources of stacking, sec jumpsuit, armored accessories, and bone bracers, may be better than this. This means we can keep the armor values simple to read, with reading 20 melee being a 20% reduction, vs actually being ~29% reduction. Also keeps it more consistent with how the rest of the armor works in the game. Alternatively, we make stacking armor items multiplicative, vs additive. |
…o armour-changes
…o armour-changes
…o armour-changes
…o armour-changes
I'm an idiot when it comes to this sort of thing, so feel free to disregard/correct this if I've made a mistake. If I'm reading this right, the armor value for anything above 50 is nerfed, even if it is not relying on stacking armor. Like Elite Syndicate HS being lowered from 60 soley cause it stands alone above 50, not cause of any additional armor. Wouldn't it be superior if the formula made the largest armor value flat, and instead adjusted the efficiency of the smaller stacking armor values? This way the established armor value of inquis/ERT/syndicate/etc armor is kept, as well as the armor stacking problem being solved? Apologies if I misread or misunderstand something. Edit - Concern Addressed |
…o armour-changes
The current armor system is entirely fine except for the additive stacking. If you change the formula then you're taking it on yourself to change the armor amount of every armor item in the game. That seems like a hard requirement to me. Otherwise you're blindly nerfing and buffing a lot of items without regard to the game effect those changes will have. Changing stacking to multiplicative would work just as well at fixing the stacking mining armor problem, plus it would remove the requirement to readjust every armor value in the whole game. |
…o armour-changes
…o armour-changes
…o armour-changes
…o armour-changes
code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
Outdated
Show resolved
Hide resolved
code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm
Outdated
Show resolved
Hide resolved
…o armour-changes
…o armour-changes
…o armour-changes
What Does This PR Do
Applies the idea proposed in #18521
Refactors the armour calculation & modifies some of the existing armour values to be more in line with these changes. This does make the code a bit harder to understand initially due to the higher complexity of the calculation, I do intend to do what I can to explain what's happening (updating the armour wiki, providing tools).
This means that individual armour pieces should remain effectively unchanged, within a couple percent.
Armour code is scattered in many places, so please feel free to comment or ping me on discord with anything I might have missed.
Armour penetration now comes in two forms, percentage and raw. Percentage is calculated first and removes a percentage of your total armour, and then the raw armour is taken away. For example 75 armour hit by a 30% armour penetration followed by 20 raw penetration would look like this:
75 * 0.7 = 52.5 armour
52.5 - 20 = 32.5 final armour.
Percentage is not implemented yet, but the framework is there for items and simple mobs and it'd be good to go over armour penetration values either in this PR or another one as there are some potential issues that could rise if they remain unchanged.
Shield code has also been cleaned up and now prioritises the item you're holding that gives the highest block chance, rather than just your left hand and then right hand.
What does this mean for your every day round?
Security jumpsuit + sec armour now results in 25 melee armour which is a 33% melee damage reduction, rather than the 40% it was before. The rest of the damage types remain effectively unchanged.
Tactical turtleneck + blood-red hardsuit results in 45 melee armour, which is about a 47% reduction in melee damage, whereas before it would have been 50%
Tactical turtleneck + elite syndicate hardsuit results in 80 melee armour, which is about a 62% reduction in melee damage, where it would've been 70% before.
Mining armour stacking has been nerfed quite a bit, you won't be able to reach much more than 70% reduction now.
All I have done thus far is change the values to be the same as they were before, so some common combinations of armour have most likely also been nerfed. If requested, I could buff these to be more equal to what they were before however I'd like to keep the refactor atomic to that.
Armour penetrations have been tweaked by me and @hal9000PR to be around about as effective in combat as they were before, there is no simple calculation to convert the values so we've had to consider what weapons are used in which situations against which armour and assign values accordingly.
Please leave comments relevant to the code on this PR, talk about the idea on the discussion thread.
Why It's Good For The Game
See reasoning on the project discussion.
Changelog
🆑 CornMyCob
tweak: Armour now uses a new calculation, stacking lots of armour is now less effective.
tweak: Shields now prioritise the item you're holding that has the highest block chance.
/:cl: