Difference between revisions of "Damage Formula (NGS)"
(Add Equalizing Enemy) |
(Add some HP-related details about Enhanced Enemies, add exceptions for Equalizing aura) |
||
Line 264: | Line 264: | ||
===Enhanced Enemies=== | ===Enhanced Enemies=== | ||
− | Enhanced Enemies have an Enhancer core attached to them and glow red. | + | Enhanced Enemies have an Enhancer core attached to them and glow red. The Enhancer core has HP equal to 30% of the max HP of the enemy it is attached to, and when destroyed, reduces that enemy's HP by 40%. Enhanced Enemies receive the following damage modifiers: |
<div class="table-responsive"> | <div class="table-responsive"> | ||
Line 282: | Line 282: | ||
</div> | </div> | ||
− | For | + | For "core-destroyed" state, weak damage up does not work with Weak Bullet applied to parts with neutral damage modifiers (hence "natural weak point"). |
As noted, Enhanced Enemies' damage received modifiers seem to be applied as multiplicative part boosts unlike damage reduction from other enemy buffs. | As noted, Enhanced Enemies' damage received modifiers seem to be applied as multiplicative part boosts unlike damage reduction from other enemy buffs. | ||
===Equalizing Enemies=== | ===Equalizing Enemies=== | ||
− | Equalizing Enemies have a distinctive red aura with a small red spike visually attached to them. They give damage modifiers similar to those of Enhanced Enemies to surrounding regular enemies (Megalotixes are known to be unaffected | + | Equalizing Enemies have a distinctive red aura with a small red spike visually attached to them. They give damage modifiers similar to those of Enhanced Enemies to surrounding regular enemies (Megalotixes, Enhanced Enemies, and other Equalizing Enemies are known to be unaffected), and also have their own set of damage modifiers. |
Killing the Equalizing Enemy will cause an explosion, reducing surrounding enemies' HP by 40% (of each enemy's HP), and giving them weak damage up debuff, similar to Enhanced Enemies. | Killing the Equalizing Enemy will cause an explosion, reducing surrounding enemies' HP by 40% (of each enemy's HP), and giving them weak damage up debuff, similar to Enhanced Enemies. | ||
Revision as of 14:46, 19 April 2022
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 (Elemental attacks only)
- Weak Point: 1.5
- 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:
Minimum Enemy Damage = ( FLOOR(EnemyMinATK * EnemyATK Modifer) - PlayerDEF ) * Damage Multipliers * 0.2
Maximum Enemy Damage = ( FLOOR(EnemyMaxATK * EnemyATK Modifer) - PlayerDEF ) * Damage Multipliers * 0.2
- EnemyMin/MaxATK: The internal attack values of the enemy. Unlike players, enemies have their internal values for minimum and maximum attack set separately. The actual values scale to enemy levels but the variance range stays mostly consistent (approximately 49/51 or 0.960784, but rounded so the ratio is not always exact). 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.
- 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. Most common values seem to be multiples of 50 (e.g., 100%, 150%, 200%, 250%), but there are also exceptions (e.g., Vyne Hog's Spike attack is 80%).
- 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
- Enemy buffs: See Enemy Buffs.
- Level Difference Modifier: Damage increase from level difference above player. See Level Difference Modifiers.
Enemy Healing
The following sections discuss enemy healing.
Healing Formula
Some enemies are capable of recovering HP of itself and other enemies nearby. The recovery value can be described by the following formula:
Enemy Healing = FLOOR( FLOOR(EnemyMinATK * EnemyATK Modifer) * Healing Notation )
- EnemyMinATK: The internal minimum 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.
- Healing Notation: The healing modifier of the healing used. This is specifically set for each enemy/healing. See Healing Notation.
The resulting healing value from the calculation is rounded down.
Healing Notation
So far each enemy only has one healing move so notations are simply listed per enemy.
Appendix
Enemy Buffs
There are several sources of buffs modifying an enemy's damage done and received. Most modifiers stack additively. (Note for clarity: +50% means additive, while 1.5 means multiplicative)
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% |
Elite 精鋭の |
+150% | - |
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/objects 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 |
Metis | 30s (30s) | +50% | - | - |
Transorve | Permanent | +50% | -10% | - |
Enhanced Enemies
Enhanced Enemies have an Enhancer core attached to them and glow red. The Enhancer core has HP equal to 30% of the max HP of the enemy it is attached to, and when destroyed, reduces that enemy's HP by 40%. Enhanced Enemies receive the following damage modifiers:
Core state | Damage done | Damage received (multiplicative) |
---|---|---|
Intact | +50% | Core: 1.2 Body: 0.1 |
Destroyed | - | Natural weak point/weak element: 1.5 (stacks with weakness multiplier) |
For "core-destroyed" state, weak damage up does not work with Weak Bullet applied to parts with neutral damage modifiers (hence "natural weak point"). As noted, Enhanced Enemies' damage received modifiers seem to be applied as multiplicative part boosts unlike damage reduction from other enemy buffs.
Equalizing Enemies
Equalizing Enemies have a distinctive red aura with a small red spike visually attached to them. They give damage modifiers similar to those of Enhanced Enemies to surrounding regular enemies (Megalotixes, Enhanced Enemies, and other Equalizing Enemies are known to be unaffected), and also have their own set of damage modifiers. Killing the Equalizing Enemy will cause an explosion, reducing surrounding enemies' HP by 40% (of each enemy's HP), and giving them weak damage up debuff, similar to Enhanced Enemies.
Target | Damage done | Damage received |
---|---|---|
Equalizing Enemy | +50% | -25% (additive) |
Surrounding enemies | +50% | 0.1 (multiplicative) |
Surrounding enemies (post-kill) | - | Natural weak point/weak element: 1.5 (stacks with weakness multiplier, multiplicative) |
An enemy can be both Enhanced and Equalizing, causing their damage modifiers to stack (damage boosts: 50+50=100%, damage received: 0.75*0.1=0.075).
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.
Changelog:
- 2021/07/14 Update: Against Gigantix, damage from underleveled players will be reduced to 1 instead.
- 2021/08/04 Update: Players can bypass this damage reduction if their Power Level is high enough. Specific values required depend enemy levels.
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 an enemy at each level. The damage formula can be rewritten as follows:
Player Damage = ( MIN(WeaponATK * Variance + PlayerATK, AtkLimit(EnemyLevel)) - FLOOR(EnemyDEF) ) * Damage Multipliers * 0.2
As of 2021/08/04, the attack limit value is only applied to player damage. 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 |
Changelog:
- 2021/08/04 Update: Fixed a bug which applies the attack limit to enemy damage.
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.
- PSO2 Attack Table: Google Sheets collecting damage notations, down accumulation, and Photon Blast generation of various player attacks. Published by Discord user Deathcream#1576.
- PSO2NGS Bestiary Google Sheets collecting stats and scaling of enemies. Published by Discord user Deathcream#1576.