#Def/Res stat decay and Defend power effectiveness

14 messages · Page 1 of 1 (latest)

dense geyser
#

I did some calculations to Defend Power (in pvp) and stat decay with turns (also pvp)
I will provide my results here and encourage you to add information if you know something more about it.

Defend Power Effectiveness

For this test i used my Alt account and setup a pvp match (non BoF)
I used Nekrosis because it has no damage fluctuation.

PvP defend power Test
Res: 425, Mag: 2621
Ability: Nekrosis [M1=1, M2=3]
6588 - no defend
5313 - defend [2x res]
5313 - defend, 50% coiled [2x res]
5313 - defend, 75% amity [2x res]
5313 - defend, 50% amity [2x res]
5313 - defend, 50% helm [2x res]
4038 - defend, 50% helm, 10% amity [3x res]
4038 - defend, 50% coiled, 10% amity [3x res]
2763 - defend, 50% helm, 50% amity [4x res]
2763 - defend, 50% helm, 75% amity [4x res]
2763 - defend, 50% coiled, 75% amity [4x res]
2763 - defend, 50% coiled, 50% amity [4x res]
2763 - defend, 50% coiled, 50% helm [4x res]
1488 - defend, 50% coiled, 50% helm, 75% amity [5x res]
1488 - defend, 50% coiled, 50% helm, 50% amity [5x res]
1488 - defend, 50% coiled, 50% helm, 10% amity [5x res]

Calculations:
Total dmg if 0 res:
2621 * 3 = 7863

Total dmg with 425 res:
(2621 - 425) * 3 = 6588 
CORRECT 

Total dmg with defend (assuming 25% res increase):
(2621 - (425 * 1.25)) * 3 = 6269
WRONG

Backtracking res based on 5313 dmg:
res = 2621 - (5313 / 3) = 850 res = 2 x 425! = 2x increase in pvp

Backtracking res based on 4038 dmg:
res = 2621 - (4038 / 3) = 1275 res = 3x res increase!

Backtracking res based on 2763 dmg:
res = 2621 - (2763 / 3) = 1700 res = 4x res increase!

Backtracking res based on 1488 dmg:
res = 2621 - (1488 / 3) = 2125 res = 5x res increase!
#

Def/Res PvP decrease:

Here is my Python code and my data i used to calculate it:

res = 425
mag = 2621
M1 = 1
M2 = 3
data = [6588,7014,7014,7227,7227,7353,7353,7440,7440,7500,7500,7545,7545,7581,7581,7608,7608,7632] # Dmg numbers
# Replace these ^ to adapt to your test if needed
total_res = []
total_multiplier = []
data_prediction = []
data_prediction_2 = []
res_multiplier_prediction = []
Odie_prediction = []
for index, value in enumerate(data):
    CurrentRound = index # if starting from turn 0. If starting from turn 1 replace with CurrentRound = index
    calculated_resistance = mag*M1-(value/M2) # resistance if we backtrack the dmg and assume nekrosis has M1=1 and M2=3
    total_res.append((value, int(calculated_resistance)))
    total_multiplier.append(1.0/(res/calculated_resistance))
    data_prediction.append((mag*M1 - res/(int(CurrentRound/2+2.5)*0.5))*M2)
    data_prediction_2.append((mag * M1 - res / ((2+int(CurrentRound/2+0.5))/2)) * M2)
    Odie_prediction.append((mag*M1 - (res/(1.0 + (0.5*CurrentRound))))*M2) # Formula mentioned by Big Yoshi
    res_multiplier_prediction.append(2/(2+int(CurrentRound/2+0.5))) # value, which is multiplied with resistance on Nth turn. Note the 2/x pattern.

print(f"Actual data (dmg, res): {total_res}")
print(f"Actual res multiplier: {total_multiplier}")
print(f"My prediction based on my formula: {data_prediction}")
print(f"My prediction based on my formula 2: {data_prediction_2}")
print(f"Odie_prediction: {Odie_prediction}")
print(f"Res multiplier prediction: {res_multiplier_prediction}")

Output

Actual data (dmg, res): [(6588, 425), (7014, 283), (7014, 283), (7227, 212), (7227, 212), (7353, 170), (7353, 170), (7440, 141), (7440, 141), (7500, 121), (7500, 121), (7545, 106), (7545, 106), (7581, 94), (7581, 94), (7608, 85), (7608, 85), (7632, 77)]

Actual res multiplier: [1.0, 0.6658823529411765, 0.6658823529411765, 0.4988235294117647, 0.4988235294117647, 0.4, 0.4, 0.33176470588235296, 0.33176470588235296, 0.2847058823529412, 0.2847058823529412, 0.24941176470588236, 0.24941176470588236, 0.2211764705882353, 0.2211764705882353, 0.2, 0.2, 0.1811764705882353]

My prediction based on my formula: [6588.0, 7013.0, 7013.0, 7225.5, 7225.5, 7353.0, 7353.0, 7438.0, 7438.0, 7498.714285714285, 7498.714285714285, 7544.25, 7544.25, 7579.666666666667, 7579.666666666667, 7608.0, 7608.0, 7631.181818181818]

My prediction based on my formula 2: [6588.0, 7013.0, 7013.0, 7225.5, 7225.5, 7353.0, 7353.0, 7438.0, 7438.0, 7498.714285714285, 7498.714285714285, 7544.25, 7544.25, 7579.666666666667, 7579.666666666667, 7608.0, 7608.0, 7631.181818181818]

Odie_prediction: [6588.0, 7013.0, 7225.5, 7353.0, 7438.0, 7498.714285714285, 7544.25, 7579.666666666667, 7608.0, 7631.181818181818, 7650.5, 7666.846153846154, 7680.857142857143, 7693.0, 7703.625, 7713.0, 7721.333333333334, 7728.78947368421]

Res multiplier prediction: [1.0, 0.6666666666666666, 0.6666666666666666, 0.5, 0.5, 0.4, 0.4, 0.3333333333333333, 0.3333333333333333, 0.2857142857142857, 0.2857142857142857, 0.25, 0.25, 0.2222222222222222, 0.2222222222222222, 0.2, 0.2, 0.18181818181818182]

So, formula looks something like this: (mag*M1 - res/(int(CurrentRound/2+2.5)*0.5))*M2 with

  • mag = Magic stat of attacker
  • res = Resistance stat of damage receiver
  • CurrentRound = Round counter starting from 0, increases by 1 when both players did their turn (similar to Chess)
  • M1 = M1 multiplier of ability
  • M2 = M2 multiplier of ability
  • int() = transforming a number into an integer by cutting off decimals (int(1.825) = 1)
#

note: both "my" formulas are same thing, forgot to remove after messing around

dense geyser
#

I will later try to fit defending power effectiveness into meaningful formula and see if all data agrees

ornate chasm
#

You are a treasure to this community

tawny coral
#

This man surely is on math 😩 😩

dense geyser
#

Seems odd for multiplicative:

  • defend, 50% coiled, 50% helm, 10% amity = 5x res multiplier = 1.5 x 1.5 x 1.1 = 2.475 x (whatever defend button gives)
  • defend, 50% coiled, 75% amity = 4x res multiplier = 1.5 x 1.75 = 2.625 x (whatever defend button gives)

Higher total defend multiplier leads to lower res multiplier? This cant be it.

But if calculated additively:
0.5 + 0.5 + 0.1 + x < 0.75 + 0.5 + x
1.1+x < 1.25+x

So, it seems, defend power stacks additively. Now the fun part: who wants to figure out the rounding function? mimic

#

Although there is no real need to figure it out, as we only have a limited amount of defending power items. If we know all combinations - it should be sufficient enough.

#

It seems like i am missing the 25% defend power amity (not sure if it exists).

Could anyone confirm if +25% defend power amity exists?

#

Actually, i am forgetting celestial adornments... anguish

dense geyser
#

Doesn't seem to be directly additive either:

  • defend, 50% helm, 10% amity = x + 0.6 = 3x res multiplier
  • defend, 75% amity = x + 0.75 = 2x res multiplier
    higher value results in less total res multiplier....

There is dark magic going on.
(Either its a not simple additive/multiplicative function (which would be unusual for Orna) OR it is rounded in a certain way)

#

This probably needs more testing data with 10% amity and several 20% celestial adornments, to be certain.

drowsy fox
#

Thanks for this - if im understanding this correctly, the best outcome is that with helm+shield, a 10% amity is sufficient to max out your res/def?