Difference between revisions of "Formulas"
(→Updated Formula?) |
(→Updated Formula?) |
||
Line 185: | Line 185: | ||
It would not be crazy for the upper bounds to be modified too since the japanese block did not test cases where the Attacker had much higher Luck. But we have not much evidence. | It would not be crazy for the upper bounds to be modified too since the japanese block did not test cases where the Attacker had much higher Luck. But we have not much evidence. | ||
+ | |||
+ | ==Other possible changes== | ||
+ | The crit formula could also have been modified. Either way if you ever do some experiments to test the different hypothesis, please feel free to post them on this wiki, on the sub-reddit or on the Dx2 Discord. |
Revision as of 08:51, 17 May 2020
Contents
Datamined Formulas
All results are floored (rounded down to nearest INT). Many formulas have been Datamined long time ago and as such should be taken with a grain of salt (the game is currently much harder to datamine)
HP = VIT * 4.7 + LVL * 7.4 PATK = STR * 2.1 + LVL * 5.6 + 50 MATK = MAG * 2.1 + LVL * 5.6 + 50 PDEF = VIT * 1.1 + STR * 0.5 + LVL * 5.6 + 50 MDEF = VIT * 1.1 + MAG * 0.5 + LVL * 5.6 + 50
DAMAGE FORMULA = (ATK * 1 - DEF * 0.5) * 0.4 * (SKILL POWER * (1 + % SKILL DAMAGE MODIFIERS FROM SKILL LEVELS) / 100) * (1 + % DAMAGE MODIFIERS) * (1 + TARUNDA/TARUKAJA - RAKUNDA/RAKUKAJA) * (CHARGE / CONCENTRATE: 2.25 or 2.75 w/ Templar Dragon) * (CRIT/WEAKNESS/RESIST) 10% variance in final damage. Critical hit multiplier is 1.5x Weakness hit multiplier is 1.5x Resistance hit multiplier is 0.7x
HEALING FORMULA = (MATK * (HEAL POWER * (1 + % HEALING MODIFIERS FROM SKILL LEVELS) / 100) * HEALING_CONST + MIN_HEAL_VAL) * RANDOM_HEA_VAR * (1 + % HEAL MODIFIERS)
-kaja/-kunda effects (applied at end of formula) Rakukaja: -0.17 = 0.83x damage taken Tarunda: -0.2 = 0.8x damage taken Rakukaja + Tarunda: -0.37 = 0.64x damage taken Tarukaja: +1.2 = 1.2x damage dealt Rakunda: +1.25 = 1.25x damage dealt Tarukaja + Rakunda: 1.45 = 1.45x damage dealt
STATUS CHANCE = BASE STATUS CHANCE + BRAND STATUS CHANCE + STATUS CHANCE PASSIVES - ENEMY STATUS RESIST + (USER LUCK - ENEMY LUCK) * 0.5 MINIMUM STATUS CHANCE = SKILL_ADD_RATE * UNKNOWN CONSTANT It will take the higher result of the two formulas above.
TEMP ACCURACY = BASE SKILL ACCURACY * (FUNCTION1(USER AGI - ENEMY AGI) + FUNCTION2(USER LUCK - ENEMY LUCK)) * (1 * SUKUNDA/SUKUKAJA) FINAL ACCURACY = TEMP ACCURACY + ACC BRANDS + ACC SKILLS - EVASION BRANDS - EVASION SKILLS There is a minimum hit chance, and it will take either that or the accuracy depending on what's higher. MIN ACCURACY = 100 * BASE SKILL ACCURACY * CONSTANT CONSTANT has been datamined as being probably 0.2
LUCK DIFF = USER LUCK - ENEMY LUCK CRIT LUK VALUE = 20 if LUCK DIFF >= 30, 15 if LUCK DIFF >= 20, 10 if LUCK DIFF >= 10, 0 if LUCK DIFF >= 0, -10 if LUCK DIFF >= -256 CRIT CHANCE = CRIT LUK VALUE + BASE SKILL CRIT CHANCE + PASSIVE SKILLS/PANEL CRIT CHANCE + CRIT BRANDS - ENEMY CRIT REDUC SKILLS/PANEL + Dx2 CRIT SKILL Crit chance is clamped to lie between 0 and 100 inclusive. BASE SKILL CRIT chance seems to be 0 or 10 on phys skills which don’t list their crit rate in their description
Counter Chance is rolled sequentially and separately, starting from the highest tier Counter first (Death Counter>Retaliate>Counter) regardless of slot order.
Party speed is calculated first at an individual demon level then at a party level. INDIVIDUAL DEMON SPEED = (DEMON AGILITY + SKILL AGILITY + MITAMA AGILITY) * ((SKILL SPEED PERCENT + BRAND SPEED PERCENT + PANEL PERCENT) / 100) PARTY SPEED TOTAL = INDIVIDUAL DEMON SPEED TOTAL / PARTY COUNT (It's an average)
More On Accuracy
Functions
As written above Accuracy uses some FUNCTION 1 and 2 which respectively takes the difference between the AGI and the difference between LUK. (Notation: DIFF_AGI and DIFF_LUK)
FUNCTION1(DIFF_AGI) is:
- 102 if DIFF_AGI >= 256
- 100 if DIFF_AGI >= 40
- 98 if DIFF_AGI >= 30
- 96 if DIFF_AGI >= 20
- 94 if DIFF_AGI >= 10
- 92 if DIFF_AGI >= 0
- 88 if DIFF_AGI >= -20
- 84 if DIFF_AGI >= -40
- 80 if DIFF_AGI >= -60
- 76 if DIFF_AGI >= -256
FUNCTION2(DIFF_LUK) is:
- 13 if DIFF_LUK >= 256
- 11 if DIFF_LUK >= 30
- 9 if DIFF_LUK >= 20
- 7 if DIFF_LUK >= 10
- 5 if DIFF_LUK >= 0
- 0 if DIFF_LUK >= -30
- -5 if DIFF_LUK >= -256
In a nutshell, every 10 AGI or LUCK points are worth 2% Accuracy/Evasion on average (i.e. 1 point = 0.2%). But we have some cap on AGI and LUCK impact on Accuracy. Beyond a difference of 30 LUCK points or 60 AGI points between the attacker and defender, you will not be getting better return.
And the base Accuracy when DIFF_LUCK and DIFF_AGI are near 0 is 88 to 97, depending if DIFF_LUCK/AGI >=0.
Base Skill Accuracy
As shown in the Formula, skills have base accuracy. Normal Attack is 1.0 base accuracy (i.e 100%).
NON-PHYS SKILLS WITH IRREGULAR ACC (non 0):
- Amakusa Uprising: 1
- Barbed Spear: 1.1
- Slaughter All: 1
- Third Eye: 1
- Vengeful Frost Fist: 1
PHYS SKILLS WITH IRREGULAR ACC (non 1):
- Lunge: 0.95
- Oni-Kagura: 0.95
- Mortal Jihad: 0.95
- Mow Down: 0.9
- Herculean Strike L: 0.9
- Herculean Strike: 0.9
- Hades Blast: 0.9
- Vorpal Blade: 0.9
- Gigantomachia: 0.9
- Earthquake: 0.9
- Heat Wave: 0.85
- Megaton Press: 0.85
- Titanomachia: 0.85
- Blight: 0.9
- Rampage: 0.9
- Deathbound: 0.9
- Madness Nails: 0.9
- Myriad Arrows: 0.9
- Nihil Claw: 0.9
- Tempest Slash: 0.9
- Violent Slash: 0.95
- Beloved Slash: 0.9
- Million Stab: 0.9
- Gungnir: 1.3
- Gomorrah (J): 0.9
- Hell Claw: 0.9
Chain Effect/Passives:
- Enemy Annihilation: 0.9
- Heavenly Valor: 0.85
- Dragon Blade's chain effect: 1.0
- Terror of London: 0.9
- Yaksha Claw: 0.9
- Bloodshed: 0.9
Enemy Exclusive Skills (non 1 for phys or non 0 for elemental):
- Dragon Flare: 1
- End Realm: 1.5
- Mad Ice Sword: 1.1
- Maragidyne (Physical): 1
- Dragon Tooth: 0.8
- Megaton Press+: 1.1
- Mutilation: 1.2
Basically, phys skills get -10% accuracy for being AOE or Random Target and -5% for having increased crit rate (-15% if both). Unique skills do not necessarily follow this pattern (Ouas is 1 despite high crit, Gungnir is 1.3 etc.)
Updated Formulas?
Experimental Data
Someone tried to experimentally determine the formula in March 2019 https://game-burio.hatenablog.com/entry/2019/03/01/014016
The formula he got are not very good, but he did publish the experiments: 6 of them
Each experiment is just 1 Brandless Demon using Normal Attack on another Brandless Demon 200 times, then calculating the Hit Rate in %. We can use the results and compare them with our own Formulas.
He does this for 6 different pairs of Demons.
USER AGI | ENEMY AGI | USER LUK | ENEMY LUK | DIFF AGI | DIFF LUK | FUNCTION1 | FUNCTION2 | EXPERIM(%) | THEORY(%) | |
---|---|---|---|---|---|---|---|---|---|---|
EXP1 | 153 | 208 | 169 | 188 | -55 | -19 | 80 | 0 | 81 | 80 |
EXP2 | 152 | 208 | 132 | 188 | -56 | -56 | 80 | -5 | 71 | 75 |
EXP3 | 61 | 208 | 166 | 188 | -147 | -22 | 76 | 0 | 75 | 76 |
EXP4 | 94 | 208 | 64 | 188 | -114 | -124 | 76 | -5 | 65 | 71 |
EXP5 | 94 | 112 | 64 | 138 | -18 | -74 | 88 | -5 | 80 | 83 |
EXP6 | 153 | 112 | 132 | 138 | 41 | -6 | 100 | 0 | 100 | 100 |
Updated Formula?
There are quite a few problems already with the Formulas:
The highest and lowest bounds used are 256 and -256 which used to be the highest AGI in the game (Garuda). This is not true anymore especially with crazy bosses like Celestial Long. Moreover the Formula seem to predict a bug would occur if DIFF < -256, and we definitely do not see such bugs right now.
So the 256 is probably wrong.
Now we have a second problem. Related to the experiments. (Take into account that the Standard Deviation should be about 2% to 3%.) We can see whenever DIFF LUK is very low our prediction is too high by quite a large margin EXP2, EXP4 and EXP5. The fact it is systematically overpredicting may mean there are more Low Bounds in FUNCTION2 than in the old Datamined Formulas.
A narural way to extend the Function in the lower bounds could be:
- 13 if DIFF_LUK >= SOME MAX VAL
- 11 if DIFF_LUK >= 30
- 9 if DIFF_LUK >= 20
- 7 if DIFF_LUK >= 10
- 5 if DIFF_LUK >= 0
- 0 if DIFF_LUK >= -30
- -5 if DIFF_LUK >= -60
- -10 if DIF_LUK >= SOME MIN VAL
It would not be crazy for the upper bounds to be modified too since the japanese block did not test cases where the Attacker had much higher Luck. But we have not much evidence.
Other possible changes
The crit formula could also have been modified. Either way if you ever do some experiments to test the different hypothesis, please feel free to post them on this wiki, on the sub-reddit or on the Dx2 Discord.