Difference between revisions of "Damage Formula (NGS)"
(Add links to Enemy Stats page, enhanced enemies info, atk limit info) |
(Atk limit should actually use min function not max) |
||
Line 258: | Line 258: | ||
There is a maximum limit set to post-variance attack value used in calculating damage done to a player or an enemy at each level. Both player and enemy damage formulae can be rewritten as follows: | There is a maximum limit set to post-variance attack value used in calculating damage done to a player or an enemy at each level. Both player and enemy damage formulae can be rewritten as follows: | ||
− | <p class="lead text-center">Player Damage = ( <span class="text-primary"> | + | <p class="lead text-center">Player Damage = ( <span class="text-primary">MIN(</span>WeaponATK * Variance + PlayerATK<span class="text-primary">, AtkLimit(EnemyLevel))</span> - FLOOR(EnemyDEF) ) * Damage Multipliers * 0.2</p> |
− | <p class="lead text-center">Enemy Damage = ( <span class="text-primary"> | + | <p class="lead text-center">Enemy Damage = ( <span class="text-primary">MIN(</span>FLOOR(EnemyATK * EnemyATK Modifer) * Variance<span class="text-primary">, AtkLimit(PlayerLevel))</span> - PlayerDEF ) * Damage Multipliers * 0.2</p> |
So far the attack limit value used is the same for both players and enemies at the same level. All values up to level 200 have been found from datamining the game files. Note that these values may require in-game verification and can be changed in the future. | So far the attack limit value used is the same for both players and enemies at the same level. All values up to level 200 have been found from datamining the game files. Note that these values may require in-game verification and can be changed in the future. |
Revision as of 13:09, 25 July 2021
Player Damage
The following sections discuss player damage, i.e., damage done by the player.
Damage Formula
Player damage can be described with the following formula:
Player Damage = ( WeaponATK * Variance + PlayerATK - FLOOR(EnemyDEF) ) * Damage Multipliers * 0.2
- WeaponATK: The attack value of the weapon equipped as shown on item details.
- Variance: The range in which WeaponATK is scaled. This is shown on page 2 of item details. See Weapon Variance.
- PlayerATK: The attack value shown in stats window with no equipments. See Player Stats.
- EnemyDEF: The internal defense value of the enemy. Scales with enemy level. This value is floored when used. See Enemy Stats.
- Damage Multipliers: Final damage multipliers applied from various sources. See Player Damage Multipliers.
The resulting damage from the calculation is rounded to the nearest integer.
Weapon Variance
The variance range of a weapon is shown on page 2 of item details. A value is selected at random from this range to be used as the variance multiplier in the damage formula. For example, if a weapon has 70% - 100% variance range. A value between 0.7 and 1.0 is randomly selected and used to scale the weapon's attack value in damage calculation. The probability to get each value in the range seems to be the same, i.e., variance is uniformly distributed.
Increasing the variance floor via external sources like Abilities adds a multiplier to the variance floor in calculation. For example, if a weapon has 70% - 100% variance range, having 1% increased variance floor gives us a range of 70 * 1.01 = 70.7% - 100%. Variance floor increase stacks multiplicatively.
With knowledge on variance, we can derive the minimum/maximum player damage from the initial damage formula:
Minimum Player Damage = ( WeaponATK * Minimum Variance + PlayerATK - FLOOR(EnemyDEF) ) * Damage Multipliers * 0.2
Maximum Player Damage = ( WeaponATK + PlayerATK - FLOOR(EnemyDEF) ) * Damage Multipliers * 0.2
Player Damage Multipliers
There are many damage multipliers modifying the resulting damage done. These multipliers stack multiplicatively. Some common sources of damage multipliers are:
- PA/Tech Notation: The damage modifier of the attack used. This is usually shown in-game as a percentage value for Photon Arts and Techniques, but actual testing is required to determine the distribution of damage notation for each hit of those attacks. Other attacks in-game can also be tested in a similar fashion. For example, Barta has 250 power shown in its in-game description, but testing revealed that it does 150% damage uncharged, and 250% damage when charged (used as 1.5 and 2.5 multiplier in calculation respectively).
- Part Boost: Damage multiplier depending on the part of the target enemy where the attack lands. Common values known are:
- Elemental Weakness: 1.2 (Note: this only affects elemental attacks, e.g., Techniques.)
- Weak Point: 1.5
- Enhancer Core: 1.2
- Enhanced Enemy after Enhancer core breaks: 1.5 on weak element
- Weak Bullet: 1.2
- Reinforced Weak Bullet: 1.25
- Class Skills
- Weapon Potentials
- Preset Abilities
- Special Abilities
- Unit stats
- Food buffs
- Region Mag buffs
- Enemy buffs: See Enemy Buffs.
- Level Difference Modifier: Damage reduction from level difference below enemy. See Level Difference Modifiers.
- Optimal Range Multiplier: Damage multipliers depending on the distance between the player and where the attack lands. Only affects certain weapons. See Optimal Range.
Critical Damage
Critical damage is shown with a larger font in-game (not to be confused with weak point damage which is shown in blue, see Weak Point Damage (Blue Damage)). Critical damage is 120% of maximum player damage, as shown with the following formula:
Critical Damage = Maximum Player Damage * 1.2
or in expanded form:
Critical Damage = ( WeaponATK + PlayerATK - FLOOR(EnemyDEF) ) * Damage Multipliers * 0.2 * 1.2
Where 1.2 is the critical multiplier.
The default critical rate is approximated to be 5%. This can be increased (likely additively) via other sources like Potentials and Abilities.
Optimal Range
Optimal Range (適正距離) is a term used to describe the mechanics of certain weapon types having increased damage depending on the distance from the player to where the attack lands. Each range gives a specific damage multiplier to most attacks. The range giving the highest damage multiplier (AKA the Optimal Range) is indicated by the target marker turning orange in-game.
Weapon | Close Range | Mid Range | Far Range |
---|---|---|---|
Wired Lance | 1.0 | 1.2 | 1.0 |
Rifle | 1.1 | 1.2 | 1.0 |
Twin Machinegun | 1.2 | 1.1 | 1.0 |
Note: Actual distance for each range differs for each weapon type.
Enemy Damage
The following sections discuss enemy damage, i.e., damage done to the player.
Damage Formula
Enemy damage formula is quite similar to player damage:
Enemy Damage = ( FLOOR(EnemyATK * EnemyATK Modifer) * Variance - PlayerDEF ) * Damage Multipliers * 0.2
- EnemyATK: The internal attack value of the enemy. Scales with enemy level. See Enemy Stats.
- EnemyATK Modifier: Each enemy has a set modifier used to multiply the base attack value. The resulting attack value is then floored. Modifier values found so far range around 0.99 - 1.03.
- Variance: The range in which attack is scaled. Enemy damage has a set variance range of 96% - 100%.
- PlayerDEF: The defense value shown in stats window. See Player Stats.
- Damage Multipliers: Final damage multipliers applied from various sources. See Enemy Damage Multipliers.
The resulting damage from the calculation is rounded to the nearest integer.
Enemy Damage Multipliers
There are many damage multipliers modifying enemy damage. These multipliers stack multiplicatively. Some common sources of damage multipliers are:
- Attack Notation: The damage modifier of the attack used. All values found so far seem to be multiples of 50 (e.g., 100%, 150%, 200%, 250%).
- Player Damage Reduction: Damage reduction (or negative reduction which increases damage instead) the player has. Common sources known are:
- Class Skills
- Weapon Potentials
- Preset Abilities
- Special Abilities
- Unit stats
- Food buffs
- Enhancer: An enhanced enemy has 1.5 damage multiplier until Enhancer is destroyed. (Unconfirmed on how it stacks with other enemy buffs).
- Enemy buffs: See Enemy Buffs.
- Level Difference Modifier: Damage increase from level difference above player. See Level Difference Modifiers.
Appendix
Enemy Buffs
There are several sources of buffs modifying an enemy's damage done and received. These modifiers stack additively.
Title Buffs
Enemies with title included in their names receive the following damage modifiers:
Title | Damage done | Damage received |
---|---|---|
Silver 白銀の |
- | - |
Golden 金色の |
- | - |
Battle-Hardened 老練の |
+30% | - |
Despair 絶望の |
+150% | -50% |
Weather Buffs
Weather buff is indicated in-game by a small icon next to enemy name when targeted. This buff gives certain enemies +20% damage done during specific weather conditions.
Daynight Shift
Alters enemies change their appearances significantly during night time. This is called "Daynight Shift" which also gives them +30% damage done in their night forms.
Shifta/Deband
Some enemies can cast Shifta/Deband, affecting themselves and/or other nearby enemies. The buff has been found to stack additively up to a set number of times. The following table lists all enemies capable of casting Shifta/Deband known so far and their buff properties.
Enemy | Duration (max) | Damage done | Damage received | Stacks |
---|---|---|---|---|
Gulf Roar | 30s (30s) | +5% | -5% | 5 times |
Fangulf Roar | 30s (30s) | +5% | -5% | 5 times |
El Discythe | 30s (30s) | +25% | -5% | 2 times |
Ciacurio | 30s (30s) | +25% | -10% | 2 times |
Enhanced Enemies
Enhanced Enemies have an Enhanced core attached to them and glow red. They receive the following damage modifiers:
Core state | Damage done | Damage received |
---|---|---|
Intact | +50% | Core: +20% Body: -90% (untested if additive with other buffs) |
Destroyed | - | Weak element: +50% (untested if additive with other buffs) |
Level Difference Modifiers
Both player damage and enemy damage are modified when the player's level is lower than the enemy's.
Player Damage Modifier based on Level Difference
When the enemy level is higher than the player's Main Class level by 5 levels or more, player damage done to the enemy is reduced. The damage reduction can be calculated with the following formula:
Damage Reduction = (Level Difference - 1) * 10%
For example, against an enemy at level 15, level 10 players' damage will be reduced by 40%, level 7 players' damage reduced by 70%, while level 11 and above players do not get their damage reduced. This modifier seems to have a maximum value of 90% damage reduction.
Enemy Damage Modifier based on Level Difference
When the enemy level is higher than the player's Main Class level, enemy damage done to the player is increased. The damage increase can be calculated with the following formula:
Damage Increase = (Level Difference) * 20%
For example, against an enemy at level 15, level 10 player will receive 100% increased damage, level 12 player will receive 60% increased damage, while level 15 player will receive the normal amount of damage. This modifier has a maximum value of 100% damage increase.
Attack Limit
There is a maximum limit set to post-variance attack value used in calculating damage done to a player or an enemy at each level. Both player and enemy damage formulae can be rewritten as follows:
Player Damage = ( MIN(WeaponATK * Variance + PlayerATK, AtkLimit(EnemyLevel)) - FLOOR(EnemyDEF) ) * Damage Multipliers * 0.2
Enemy Damage = ( MIN(FLOOR(EnemyATK * EnemyATK Modifer) * Variance, AtkLimit(PlayerLevel)) - PlayerDEF ) * Damage Multipliers * 0.2
So far the attack limit value used is the same for both players and enemies at the same level. All values up to level 200 have been found from datamining the game files. Note that these values may require in-game verification and can be changed in the future.
Level | Attack Limit |
---|---|
1 | 900 |
2 | 918 |
3 | 935 |
4 | 953 |
5 | 972 |
6 | 990 |
7 | 1009 |
8 | 1028 |
9 | 1049 |
10 | 1068 |
11 | 1090 |
12 | 1110 |
13 | 1132 |
14 | 1153 |
15 | 1176 |
16 | 1199 |
17 | 1220 |
18 | 1244 |
19 | 1268 |
20 | 1292 |
21 | 1318 |
22 | 1343 |
23 | 1369 |
24 | 1396 |
25 | 1422 |
26 | 1450 |
27 | 1477 |
28 | 1506 |
29 | 1535 |
30 | 1565 |
31 | 1595 |
32 | 1625 |
33 | 1656 |
34 | 1687 |
35 | 1721 |
36 | 1753 |
37 | 1788 |
38 | 1823 |
39 | 1858 |
40 | 1892 |
41 | 1930 |
42 | 1967 |
43 | 2004 |
44 | 2042 |
45 | 2082 |
46 | 2123 |
47 | 2162 |
48 | 2204 |
49 | 2248 |
50 | 2291 |
51 | 2334 |
52 | 2380 |
53 | 2425 |
54 | 2472 |
55 | 2520 |
56 | 2568 |
57 | 2617 |
58 | 2668 |
59 | 2719 |
60 | 2772 |
61 | 2825 |
62 | 2879 |
63 | 2934 |
64 | 2990 |
65 | 3048 |
66 | 3107 |
67 | 3167 |
68 | 3228 |
69 | 3289 |
70 | 3353 |
71 | 3418 |
72 | 3484 |
73 | 3551 |
74 | 3619 |
75 | 3689 |
76 | 3760 |
77 | 3833 |
78 | 3906 |
79 | 3980 |
80 | 4057 |
81 | 4135 |
82 | 4216 |
83 | 4296 |
84 | 4379 |
85 | 4463 |
86 | 4549 |
87 | 4637 |
88 | 4727 |
89 | 4817 |
90 | 4909 |
91 | 5004 |
92 | 5100 |
93 | 5198 |
94 | 5298 |
95 | 5400 |
96 | 5504 |
97 | 5610 |
98 | 5718 |
99 | 5828 |
100 | 5940 |
101 | 6054 |
102 | 6172 |
103 | 6289 |
104 | 6412 |
105 | 6534 |
106 | 6660 |
107 | 6788 |
108 | 6919 |
109 | 7051 |
110 | 7188 |
111 | 7326 |
112 | 7468 |
113 | 7610 |
114 | 7758 |
115 | 7907 |
116 | 8059 |
117 | 8214 |
118 | 8371 |
119 | 8533 |
120 | 8698 |
121 | 8864 |
122 | 9036 |
123 | 9209 |
124 | 9386 |
125 | 9568 |
126 | 9751 |
127 | 9938 |
128 | 10129 |
129 | 10325 |
130 | 10524 |
131 | 10727 |
132 | 10933 |
133 | 11143 |
134 | 11358 |
135 | 11575 |
136 | 11798 |
137 | 12025 |
138 | 12258 |
139 | 12493 |
140 | 12733 |
141 | 12979 |
142 | 13229 |
143 | 13483 |
144 | 13742 |
145 | 14008 |
146 | 14276 |
147 | 14551 |
148 | 14832 |
149 | 15118 |
150 | 15408 |
151 | 15704 |
152 | 16007 |
153 | 16314 |
154 | 16628 |
155 | 16949 |
156 | 17275 |
157 | 17608 |
158 | 17946 |
159 | 18292 |
160 | 18643 |
161 | 19002 |
162 | 19368 |
163 | 19741 |
164 | 20120 |
165 | 20508 |
166 | 20903 |
167 | 21305 |
168 | 21715 |
169 | 22133 |
170 | 22559 |
171 | 22993 |
172 | 23436 |
173 | 23886 |
174 | 24347 |
175 | 24815 |
176 | 25291 |
177 | 25778 |
178 | 26275 |
179 | 26780 |
180 | 27295 |
181 | 27822 |
182 | 28357 |
183 | 28902 |
184 | 29459 |
185 | 30025 |
186 | 30604 |
187 | 31193 |
188 | 31793 |
189 | 32405 |
190 | 33029 |
191 | 33665 |
192 | 34313 |
193 | 34973 |
194 | 35645 |
195 | 36331 |
196 | 37031 |
197 | 37742 |
198 | 38470 |
199 | 39210 |
200 | 39965 |
Weak Point Damage (Blue Damage)
When an attack lands on a weak point, the damage number is shown in blue in-game. The following are known sources of blue damage numbers:
- Natural weak points on enemies
- Enhancer
- Weak Bullet
- Reinforced Weak Bullet
See Also
- NGS検証データ置場: Google Sheets collecting various information on damage-related mechanics. Published by Twitter user @flowerint1034.
- NGS Verification Data Storage: Translation of the above sheet with some additional information. Published by Twitter user @TheuberClips.
- NGS 敵攻撃力調査: Google Sheets collecting information related to enemy damage. Published by Twitter user @dilute_rin.