Full Armour No Damage
Scremonetu opened this issue ยท 23 comments
- Server version: 1.13.2 Paperspigot
- OldCombatMechanics version: The latest from Jenkins
- Server log file: No errors during charging
- OldCombatMechanics config file: https://pastebin.com/8sPDcr18
When a player has full body armor he does not receive any damage.
Diamond armor: Unbreaking 3 protection 4,
Diamond sword damage 5/10/50/100 The level of the spell does not affect the damage.
Armour enchantments damage calculations are a bit wonky at the moment. Do you still get issues without it?
I am having this issue too. Running on 1.12.2 Paperspigot, using latest OCM build from Jenkins.
Having this issue too. It comes from the Old Armour Strength module, which is simply broken at the moment, you have to turn it of completely (you can't fix the issue by modifying values).
Yes I realized. I remember one year ago there was a similar issue to this. It happened when someone got killed but relogged, that player would simply just have 9999 toughness and couldn't get any damage.
Having 9999 toughness shouldn't be an issue though, it's the case on every armour on my server, it just changes the damage reduction of damaged armor.
The issue was that the old armour strength module wasn't actually working as intended because armour toughness is hard-capped in the server code. Thus I had to make the plugin recalculate the damage as if it were 1.8. This is working fine even with armour, except for enchantments, which I haven't gotten round to fixing yet as they seem significantly more complex than the rest of the code.
@ibrady we are currently working on a rewrite of the damage calculations as a whole so that we can provide more compatibility with 1.9-1.13. In the end, we are planning on rewriting all damage calculations ourselves so that they apply appropriately, but that is still a W.I.P feature.
@Ferocimo Maybe I got the order of some calculations wrong, but if you enable debug mode, do the OldArmourStrength module debug messages (in the console) report a reasonable damage reduction?
@gvlfm78 @rayzr522 With latest version, things have indeed improved. However armors are very far from offering the protection they should : try hitting a full Protection 4 armored player with a Sharpness 5 diamond sword with the effect Strength 2. You almost die in one hit, while you should only lose about one or one and a half heart.
Damage is a double value, meaning it is a decimal. Those "randomized damages" are probably just decimal attack damages, and depending on the player's previous health
For example, if a hit does 1.75 damage (1 heart + additional decimal):
If the player has full 20 hearts: 20-1.75 = 19.25 = 9 1/2 hearts displayed, -1/2 display heart
If the player has 19.25 hearts: 19.25-1.75 = 17.50 = 8 1/2 hearts displayed, -1 display heart
No, it's actually randomized damage. I simplified by talking about hearts but we use tools to measure what damages are dealt exactly.
@Ferocimo The amount of protection armour enchantments provide is still meant to be randomised, within 50% and 100% of the full protection amount, as was in 1.8. I saw this being the case in the console debug messages. Is it not so?
@gvlfm78 @rayzr522 It now works fine with latest build (Version 1.7.0 Build 40), thank you very much !
A note though, for your information : without your plugin, before and after 1.9 damages are a little bit randomized when hitting someone with Protection enchantments. Sometimes you would take one heart of damage, sometimes one and half or two, some time a half heart only. It seems that your plugin makes players deal a set amount of damages that doesn't vary : this is not a big concern for us as we see the randomized damage quite annoying, but just so you know, it's different than Minecraft vanilla.
@Scremonetu @ibrady @Ferocimo Please try the latest test version of the plugin. If the issue is no longer present I will be closing this ticket.