ihhub / fheroes2

fheroes2 is a recreation of Heroes of Might and Magic II game engine.
https://ihhub.github.io/fheroes2/
GNU General Public License v2.0
2.73k stars 376 forks source link

Combat screen, the number displayed for lightning spells damage is incorrect when the opponent has the Lightning Helm artifact #8843

Open LeHerosInconnu opened 5 months ago

LeHerosInconnu commented 5 months ago

Preliminary checks

Platform

Windows

Describe the bug

In fheroes2, in the magic book, in the right click spell info window, and in the spell damage tooltip, the number displayed for lightning spells damage is incorrect when the opponent has the Lightning Helm artifact.

In fheroes2: In the example, in the window and in the tooltip, 225 damage is indicated, whereas 112 damage is indicated in the logs.

Wrong damage info 001

Wrong damage info 002

Wrong damage info 003

This is certainly also the case for fire spells with the Fire Cloak artifact, and for cold spells with the Ice Cloak artifact. And also for Armageddon and Elemental Storm spells with the Broach of Shielding artifact. And for fire and cold spells with the Heart of Fire and the Heart of Ice artifacts.

I can also open separate issues for this if necessary.

Save file

Not needed.

Additional info

No response

oleg-derevenetz commented 5 months ago

It doesn't have to be "correct" in these cases, since you cannot perform a "sneak peek" into the enemy hero's artifact bag, so the quick info window shouldn't let you do this either.

LeHerosInconnu commented 5 months ago

Hello @oleg-derevenetz,

It doesn't have to be "correct" in these cases, since you cannot perform a "sneak peek" into the enemy hero's artifact bag, so the quick info window shouldn't let you do this either.

The information displayed should be reliable. Also, the next turn, the effect of the Lightning Helm artifact is observed, but the information is still wrong.

oleg-derevenetz commented 5 months ago

The information displayed should be reliable.

This information should be based solely on information that the player can directly obtain in other ways. The contents of the enemy hero's artifact bag cannot be obtained by any means.

Also, the next turn, the effect of the Lightning Helm artifact is observed, but the information is still wrong.

It will only be on the next turn, and the hero's mana will have already been spent. This is not a bug.

LeHerosInconnu commented 5 months ago

@oleg-derevenetz,

The information displayed should be reliable.

This information should be based solely on information that the player can directly obtain in other ways. The contents of the enemy hero's artifact bag cannot be obtained by any means.

Also, the next turn, the effect of the Lightning Helm artifact is observed, but the information is still wrong.

It will only be on the next turn, and the hero's mana will have already been spent. This is not a bug.

During turn 1, the hero casts the Lightning Bolt spell and the player notices the amount of damage. The Lightning Helm artifact reduction effect is now known. During turn 2, the damage information displayed is therefore no longer correct with what is about to happen.

For the sake of simplicity, let's display the real damage directly at the start of the combat. This will also save some players from having to load the save file and replay the combat because the damage displayed didn't correspond to what was going to happen and misled them.

oleg-derevenetz commented 5 months ago

For the sake of simplicity, let's display the real damage directly at the start of the combat.

I suggest that we do not engage in nonsense and do not let players peek at what they are not supposed to see using such indirect methods.

This will also save some players from having to load the save file and replay the combat because the damage displayed didn't correspond to what was going to happen and misled them.

In multiplayer, they will not be able to do this (the opponent(s) will most likely disagree).

P.S. It can be regarded as a kind of "request for improvement" that the game should show some "assumptions" based on the "history of using spells" (and even in this case, all this looks doubtful). But the player should never indirectly receive information that he cannot access directly at the moment.

LeHerosInconnu commented 5 months ago

Hello @oleg-derevenetz,

For the sake of simplicity, let's display the real damage directly at the start of the combat.

I suggest that we do not engage in nonsense and do not let players peek at what they are not supposed to see using such indirect methods.

This will also save some players from having to load the save file and replay the combat because the damage displayed didn't correspond to what was going to happen and misled them.

In multiplayer, they will not be able to do this (the opponent(s) will most likely disagree).

P.S. It can be regarded as a kind of "request for improvement" that the game should show some "assumptions" based on the "history of using spells" (and even in this case, all this looks doubtful). But the player should never indirectly receive information that he cannot access directly at the moment.

After the lightning bolt spell was cast a first time in the first turn, the presence of the Lightning Helm artifact becomes known. So why continue to display false information in the second turn then?

ihhub commented 5 months ago

The magic book should only display what your hero can do at max. Having this simplification is overdoing things towards casual games.

LeHerosInconnu commented 5 months ago

Hello @ihhub,

The magic book should only display what your hero can do at max. Having this simplification is overdoing things towards casual games.

In this case, damage information should be updated as soon as the Lightning Helm artifact's presence is known.

oleg-derevenetz commented 5 months ago

I also agree that this would be some kind of casual thing (some may even regard this as a "bug" and whine "why is it not shown correctly right away"). BTW, although in HoMM3/HoTA there are no artifacts that offer some kind of magical damage reduction, BUT there are artifacts that negate Morale or Luck bonuses (such as the Hourglass of the Evil Hour). Despite the fact that this artifact makes casting the Fortune spell absolutely useless, no one prevents it from casting, and the description of this spell in the book does not change - neither at the beginning of the battle, nor after the first cast:

https://github.com/ihhub/fheroes2/assets/32623900/aa955df3-c3d2-42a9-9e22-57d8f2cc198c

It always reports that it will increase the luck of the target unit by 1... except that it won't happen.

lwollnikowski commented 4 months ago

In this case, damage information should be updated as soon as the Lightning Helm artifact's presence is known.

There is a non-zero possibility player won't notice the damage reduction. Is this wrong? I don't think so, artifacts like Lightning Helm are a way to outsmart the enemy.

Dynamic change to spell description sounds weird for me, I would see here clear message in the battle log, you know something like "The %s resisted half of the spell damage", with or without graphic and sound effect. Look at dwarf / battle dwarf anti-magic for example or even better, magic resistances / vulnerabilities of elementals from HoM&M 3.