Kanna and Range

Background

Ever since the original Kanna rework (and possibly before) the Damage Range value in the stat window for Kanna's has been incorrectly calculated, and overestimates the classes actual range by a significant margin. This is especially significant when judging potentials and flames, and I believe this has led to people wasting money on various enhancements that are not as strong as the game would lead you to believe. This can potentially have real world consequences if you are playing in reg server, and are spending real money on these enhancements and items.

Calculating Range

In order to calculate the range shown in the Stat window, we first have to calculate our actual range. To do this we start with the upper actual range: $$ \text{Upper Actual} = \text{Multiplier} * \text{Stat Value} * \text{Total ATT} / 100 $$ Where \(\text{Multiplier}\) is our weapon's multiplier, \(\text{Total ATT}\) is our total weapon or magic attack (job dependant), and \(\text{Stat Value}\) is calculated with the following: $$ \displaylines{ \begin{aligned} \text{Stat Value} &= (4 * \text{Main Stat}) + \text{Total Secondary Stat} \\ \text{Stat Value}_{\text{DA}} &= \lfloor \text{PureHP}/3.5 \rfloor + (0.8 * \lfloor (\text{TotalHP} - \text{PureHP}) / 3.5 \rfloor) + \text{STR} \end{aligned}} $$ Now that we have the upper bound of our actual range, we can use that to calculate the lower bound: $$ \text{Lower Actual} = \text{UpperActual} * \text{Mastery}\%/100 $$ Finally, we can then use these actual ranges to calculate the range shown on the stat window: $$ \displaylines{ \begin{aligned} \text{Upper} &= \text{Upper Actual} * (1 + \text{dmg}\%/100) * (1 + \text{final}\%/100) \\ \text{Lower} &= 1 + (\text{Lower Actual} * (1 + \text{dmg}\%/100) * (1 + \text{final}\%/100)) \end{aligned}} $$

In Practice

For this example we will be using my second Kanna, completely unbuffed. At the time of writing, the Kanna's stats are as follows:

$$ \displaylines{ \begin{aligned} \text{INT} &= 11463 \\ \text{LUK} &= 3548 \\\text{dmg}\% &= 58 \\\text{final}\% &= 60 \\\text{Magic ATT}_{\text{Stat Window}} &= 1639 \\\text{Magic ATT}_{\text{Blessing of the Five Elements}} &= 163 \\\text{Upper} &= 3,941,860 \\ \text{Lower} &= 3,744,769 \end{aligned}} $$

We can then calculate our expected range, and compared it to the values shown in the stat window:

$$ \displaylines{ \begin{aligned} \text{Upper Actual} &= \text{Multiplier} * \text{Stat Value} * \text{Total ATT} / 100 \\ \text{Upper Actual} &= \text{Multiplier} * ((4 * \text{Main Stat}) + \text{Total Secondary Stat}) * (\text{Magic ATT}_{\text{Stat Window}} + \text{Magic ATT}_{\text{Blessing of the Five Elements}}) / 100 \\ \text{Upper Actual} &= 1.35 * ((4 * 11463) + 3548) * (1639 + 163) / 100 \\ \text{Upper Actual} &= 1,201,753.8 \\ \\ \text{Lower Actual} &= \text{Upper Actual} * \text{Mastery}\% / 100 \\ \text{Lower Actual} &= 1,201,753.8 * 95/100 \\ \text{Lower Actual} &= 1,141,666.11 \\ \\ \text{Upper} &= \text{Upper Actual} * (1 + \text{dmg}\%/100) * (1 + \text{final}\%/100) \\ \text{Upper} &= 1,201,753.8 * (1 + 58/100) * (1 + 60/100) \\ \text{Upper} &= 3,038,033.61 \\ \\ \text{Lower} &= 1 + (\text{Lower Actual} * (1 + \text{dmg}\%/100) * (1 + \text{final}\%/100)) \\ \text{Lower} &= 1 + (1,141,666.11 * (1 + 58/100) * (1 + 60/100) \\ \text{Lower} &= 2,886,132.93 \end{aligned}} $$

As we can see, the calculated values of \(2,886,133 {\sim} 3,038,034\) do not match our observed values of \(3,744,769 {\sim} 3,941,860\).

However, if we double the damage percentage kaisen provides (increasing our damage percentage by 30), and double value of Blessing of the Five Elements we get the following:

$$ \displaylines{ \begin{aligned} \text{Upper Actual} &= \text{Multiplier} * \text{Stat Value} * \text{Total ATT} / 100 \\ \text{Upper Actual} &= \text{Multiplier} * ((4 * \text{Main Stat}) + \text{Total Secondary Stat}) * (\text{Magic ATT}_{\text{Stat Window}} + 2 * \text{Magic ATT}_{\text{Blessing of the Five Elements}}) / 100 \\ \text{Upper Actual} &= 1.35 * ((4 * 11463) + 3548) * (1639 + 2 * 163) / 100 \\ \text{Upper Actual} &= 1,310,458.5 \\ \\ \text{Lower Actual} &= \text{Upper Actual} * \text{Mastery}\% / 100 \\ \text{Lower Actual} &= 1,310,458.5 * 95/100 \\ \text{Lower Actual} &= 1,244,935.58 \\ \\ \text{Upper} &= \text{Upper Actual} * (1 + (\text{dmg}\% + 30)/100) * (1 + \text{final}\%/100) \\ \text{Upper} &= 1,310,458.5 * (1 + 88/100) * (1 + 60/100) \\ \text{Upper} &= 3,941,859 \\ \\ \text{Lower} &= 1 + (\text{Lower Actual} * (1 + (\text{dmg}\% + 30)/100) * (1 + \text{final}\%/100)) \\ \text{Lower} &= 1 + (1,244,935.58 * (1 + 88/100) * (1 + 60/100) \\ \text{Lower} &= 3,744,767 \end{aligned} } $$

With this updated calculation, you can see that our calculated range of \(3,744,767 {\sim} 3,941,859\) matches our observed range of \(3,744,769 {\sim} 3,941,860\) perfectly, with the exception of minor differences in rounding.

Conclusion

Hopefully this demonstrates that relying on the range indicator in the stat window, and the +- range values shown in item tooltips/cube/flame screens are completely incorrect for Kanna. This discrepancy has the potential significant hurt players, as they create/use gear that makes them weaker. This also has the potential to the results of optimization calculators that rely on range, unless the maintainers of those calculators specifically carve out an exception to correctly calculate Kanna range values (Maple Meta Calc DOES account for this).

Links