Damage Formula (NGS)
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 ingame 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 ingame can also be tested in a similar fashion. For example, Barta has 250 power shown in its ingame 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 ingame (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 ingame.
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. Each enemy has a minimum and maximum attack value defined internally. The variance ratio (MaxATK/MinATK) can be approximated as 49/51 or 0.960784. Note that the defined values are already rounded so this ratio is not always exact. See Enemy Stats.
 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.
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 金色の 
   
BattleHardened 老練の 
+30%   
Despair 絶望の 
+150%  50% 
Weather Buffs
Weather buff is indicated ingame 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 Enhancer core attached to them and glow red. They receive the following damage modifiers:
Core state  Damage done  Damage received (multiplicative) 

Intact  +50%  Core: 1.2 Body: 0.1 
Destroyed    Weak element: 1.5 (stacks with weakness multiplier = 1.5 * 1.2) 
As noted, Enhanced Enemies' damage received modifiers seem to be applied as multiplicative part boosts unlike damage reduction from other enemy 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.
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 postvariance 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 ingame 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 ingame. 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 damagerelated 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.
