Anuken / Mindustry-Suggestions

Repository for Mindustry suggestions and feedback
125 stars 57 forks source link

Explain how 'Armor' works #5066

Open opusforlife2 opened 3 weeks ago

opusforlife2 commented 3 weeks ago

Describe what you would like changed, and why.

Units have different values for Armor, but it's not explained in the game, or the wiki, how it works.

Describe the changes you want to propose. Include possible alternatives.

Both the game and wiki should explain somewhere the role played by the Armor stat in damage calculation.

Here's an example: https://github.com/Anuken/Mindustry-Suggestions/issues/5066#issuecomment-2168645088

mahdoosh1 commented 2 weeks ago

armor is just adding health.

if a unit with base health of 300 has an armor of 100

it's like it has 400 health.

opusforlife2 commented 2 weeks ago

I'm pretty sure that's not the case. A Mega has 460 health and 3 armor. You're saying the health is now 463? No way such weird values are used.

mahdoosh1 commented 2 weeks ago

I'm pretty sure that's not the case. A Mega has 460 health and 3 armor. You're saying the health is now 463? No way such weird values are used.

ok, then it is a percentage increase or multiplication of the health no addition

opusforlife2 commented 2 weeks ago

That's the point of this request. There should be a definite answer in game and wiki instead of everyone having to speculate.

itcannotbe commented 2 weeks ago

It's basically damage reduction with a percentage cap.

In no way this information would be useful to anyone except in niche circles.

camelStyleUser commented 2 weeks ago

That's the point of this request. There should be a definite answer in game and wiki instead of everyone having to speculate.

no?you could just check where armor is used in the source code

opusforlife2 commented 2 weeks ago

Ah yes. Let's remove the core database entirely and instead tell every player to "just see the source code". 👏

itcannotbe commented 2 weeks ago

To be honest no one playing the game for fun would like to know the computation behind how armor is applied. If you're trying to be this specific, you're bound to reverse engineer the game/attempt to figure out how the computation is made by trial and error (obviously you're not gonna do it because the game is open source).

TL;DR: No one casually playing the game would like to know.

itcannotbe commented 2 weeks ago

Describe what you would like changed, and why.

Units have different values for Health, but it's not explained in the game, or the wiki, how it works.

Describe the changes you want to propose. Include possible alternatives.

Both the game and wiki should explain somewhere the role played by the Health stat in damage calculation.

opusforlife2 commented 2 weeks ago

I can't believe I have to explain this: You can see how health works. Units have a health bar. It goes down when they're damaged. Pretty straightforward.

Is there an armor bar? Do you just automatically know how it works? No, right? Even the shield bar exists for units like Quasar, and is self-explanatory because you can see it work during battles. Armor's role is completely opaque.

itcannotbe commented 2 weeks ago

If Stell shoots a bullet that causes 30 damage each which fires at a rate of 1.2 seconds and a Tungsten Wall has 720 health, therefore it should destroy it in 28.8 seconds.

But it has the Tungsten Wall has 14 armor, so it actually destroys it in 54 second give or take, therefore armor does something.

Said no casual player ever when thinking about armor.

opusforlife2 commented 2 weeks ago

You're just trolling at this point.

itcannotbe commented 2 weeks ago

You're just trolling at this point.

Giving facts = Trolling

Nice.

opusforlife2 commented 2 weeks ago

What you just did is the equivalent of saying "You must oppose and overcome the gravitational potential energy of the 3rd planet in the solar system in order to reach a point larger than its radius at an angle 45 degrees from the X-axis", instead of saying "Go up the stairs".

Haznobrain commented 2 weeks ago

armor is just adding health.

if a unit with base health of 300 has an armor of 100

it's like it has 400 health.

I do not think it works like that. From my testing, it seems like the way armor's calculated is that it takes the damage that would have been dealt normally, subtracts the armor value from it, and then adds 1. Exemple: In a mod i've made there's a unit with 100 armor, only bullets that deal over 100 dmg and are shot relatively quickly (like smite's) are able to take it down, a malign deals very little damage to it due to each bullet dealing only 70 dmg per hit. This also means that 1 armor does basically nothing due to the addition of 1, also i think it doesn't do the whole post-armor dmg calculation if the thing has 0 armor, else it'd just add 1 dmg to any bullet. Bullets with pierceArmor: true do not do the armor dmg reduction calculations when they hit, wich would make them much weaker. Another exemple is Meltdown, its lasers are very good against units with low armor, as they deal 78 dmg 12 times per second. However against units with higher armor, that damage is reduced by a lot. It's also why Sublimate has an armor piercing bullet, else it'd suck against anything past T2 and would not be viable past stronghold.

opusforlife2 commented 2 weeks ago

Thanks! A helpful comment, for a change. So a bullet with 5 damage against 3 armor would go 5 - 3 + 1 = 3 effective damage?

Also,

This also means that 1 armor does basically nothing due to the addition of 1,

Does this mean Nova with 1 armor has effectively zero armor? This part is a bit confusing.

Haznobrain commented 2 weeks ago

Thanks! A helpful comment, for a change. So a bullet with 5 damage against 3 armor would go 5 - 3 + 1 = 3 effective damage?

Also,

This also means that 1 armor does basically nothing due to the addition of 1,

Does this mean Nova with 1 armor has effectively zero armor? This part is a bit confusing.

i'm pretty sure that yes, however low armor usually has a tendency to not really make a difference in gameplay anyways. Also it's my personnal idea of how it works from my testing, it is perfectly possible that i am wrong, you can do your own testing if you want. Also because of the +1 dmg, it means that the best way to defeat reigns with duos is by spamming them with silicon and cryo to reach maximum fire rate. Wich pretty much checks out, i saw a vid of a guy beating a reign with duos and he did exactly that. It still took a while since it effectively takes 22k shots, but it worked.

opusforlife2 commented 2 weeks ago

Regardless, if the damage calculation is as simple as damage - armor = effective damage, whether that +1 is there or not, it can easily be shown in the game UI.

by spamming them with silicon

I think you meant graphite (18 damage). Silicon does 12 (or 13) damage so it wouldn't hurt the 18 armor Reign at all.

Haznobrain commented 2 weeks ago

Regardless, if the damage calculation is as simple as damage - armor = effective damage, whether that +1 is there or not, it can easily be shown in the game UI.

by spamming them with silicon

I think you meant graphite (18 damage). Silicon does 12 (or 13) damage so it wouldn't hurt the 18 armor Reign at all.

yes but that's why i think there's a +1 Because if you check, you can beat anything with any turret if you wait long enough, if the turret just dealt 0 dmg then it'd be different also there's probably some other thing for bullets that deal less than 1 dmg like tsunami's to avoid exploits

opusforlife2 commented 2 weeks ago

Lol, found it:

https://github.com/Anuken/Mindustry/blob/2d4d38990dd33a02f156056125da8c3cb74f87f1/core/src/mindustry/entities/Damage.java#L631-L634

If armor would negate damage completely, the game still applies a bare minimum damage (10% of the original value). A bullet with 10 damage still does 1 damage.

It's easy enough to explain in the wiki, but the game description will have to be something very succinct. like "Reduces damage for each bullet by this amount. Not perfect."

Haznobrain commented 2 weeks ago

Lol, found it:

https://github.com/Anuken/Mindustry/blob/2d4d38990dd33a02f156056125da8c3cb74f87f1/core/src/mindustry/entities/Damage.java#L631-L634

If armor would negate damage completely, the game still applies a bare minimum damage (10% of the original value). A bullet with 10 damage still does 1 damage.

It's easy enough to explain in the wiki, but the game description will have to be something very succinct. like "Reduces damage for each bullet by this amount. Not perfect."

okay so i was almost right on what i thought it did.

itcannotbe commented 2 weeks ago

It's basically damage reduction with a percentage cap.

That's what I said.

But in any case, there is no good place in the wiki to place info like that, unless you put in a dedicated place for information like that.

opusforlife2 commented 2 weeks ago

unless you put in a dedicated place for information like that

There should be one. Or, the details could be added as bullet points, just like with Weapons and Abilities, which are thoroughly detailed in the game and wiki.