JenShin-368 / GenshinImpactCalculator

Genshin Impact Damage Calculator and Optimizer
26 stars 2 forks source link

Display Transformative Reactions as (HitDmg + ReactionDmg) in tooltip #40

Open SiriusGreyhound opened 3 years ago

SiriusGreyhound commented 3 years ago

Describe the bug There's a difference in behavior between multiplicative reactions (hydro+pyro or cryo+pyro) and transformative reactions (electro+pyro or electro+cryo) in the calculator. It appears that for multiplicative reactions reaction mode does not need to be turned on before elemental mastery is taken into consideration. For transformative reactions reaction mode needs to be turned on though before their reaction is added to the damage output.

As far as I know transformative reactions do not actually increase the damage of the skill itself, but simply apply on top of it (you get 2 numbers in stead of 1). So maybe that's why. But as far as I remember you used to have to turn on reaction mode for the multiplicative reactions as well before their multiplication damage was taken into consideration.

And with reaction mode off, multiplicative reactions act on a 100% proc rate.

To Reproduce Steps to reproduce the behavior:

  1. Go to any Pyro character
  2. Turn on enemy calc
  3. Switch between the elements
  4. See error

Expected behavior It's not that a problem that reactions happen at a 100% proc rate if you leave reaction mode off, but it is a problem if it only works for certain reactions, because it is inconsistent. For electro+pyro Reaction Mode needs to be turned on, but for Hydro+Pyro it doesn't. So numbers will look way weaker for overloaded than for vaporize even when reaction mode is turned off. It could confuse users. If you know, you can figure it out, but it should work the same for all elements.

So either require reaction mode for all elements, or don't require it for all.

Screenshots genshin_bug gif, 5 seconds per frame, 4 frames

JenShin-368 commented 3 years ago

This is working as intended and is indeed, as you noted, because transformative reactions are treated as separate hits (it has been this way since reactions were implemented). Reaction mode and use enemy calc are more or less for different purposes. It's not really possible to make the multiplicative and transformative reactions "consistent" because they are fundamentally different reactions. This would essentially mean removing reactions altogether from "Use Enemy Calc" or obfuscating the hit information by adding it up. Notably, there is no proc rate being considered in "use enemy calc". When use enemy calc is on, the enemy is affected by a certain element of choice and the calculator displays the damage you would see for each hit.

The only way to see Hit damage and compare it with the numbers that pop up in game is to display these numbers as is. When reactions like electrocharged are proc'd, they will still see the separate numbers and know that everything is calculated correctly. Attempting to conform the two reactions would ultimately confuse people that are trying to match up the in-game numbers to what's seen in the calculator.

Reaction mode is an advanced mode that displays average damage only and uses a proc rate. None of the numbers in reaction mode will align with the numbers you see in-game. This mode is purely for theory crafting and is hence an "advanced" feature.

However, I do see how the inherent inconsistency in these reaction types might confuse someone if they are only trying to theorycraft without an understanding of how the reactions work. I will look to see if I can add more tooltips to help clarify what's going on (part of the reason I was looking for tutorial/guides on using the calculator was to clear up confusion of this sort). I have also considered making the display show the damage as (HitDmg + ReactionDmg) as a tooltip when users hover over the stat. However, this is will require a GUI rework so it's been put off.

SiriusGreyhound commented 3 years ago

Or maybe just add a line underneath with 'Superconduct Damage'?