Damage calculations

Defense, damage modifiers, critical terms and BREAK damage.

Physical and magical attacks have different defensive counterparts: P.DEF reduces physical damage taken; M.DEF reduces magical damage taken. This chapter explains the defense core, skill terms and damage modifiers, then separates BREAK damage and alternative expressions.

Start with P.DEF and M.DEF for their roles, the defense equation for the subtraction and floor, or damage modifiers for the factors applied afterward. Combat stats explains the other stat names.

P.DEF and M.DEF

P.DEF: physical damage

P.DEF is the physical defensive stat in the game's stat details. Raising it improves physical protection. A skill that uses the caster's P.DEF to calculate an attack or shield is a separate use of the same stat.

M.DEF: magical damage

M.DEF is the magical defensive stat. It has the same base-growth structure as P.DEF, but protects against a different attack category. An elemental matchup and a physical/magical damage category are separate distinctions.

What the equation can tell us

The expression below accepts one supplied defense value. Its arithmetic shows what that value does once selected. The stat descriptions establish P.DEF/M.DEF's roles; the complete selection and input-preparation path for every skill is not identified here. Pure damage, BREAK damage and special skill expressions must not automatically be assigned this same defense rule.

Understanding the inputs

ATK, BRK and defense mean the values supplied to the expression. Their names alone do not establish whether a buff, level adjustment or equipment effect has already been applied. Here, BRK is shorthand for the input named BREAK; BRK_DEF is the separate opposing BREAK-defense input, not ordinary defense.

Input kind How to read it Example
Stat A supplied numeric value ATK = 200
Additive rate Used inside a sum such as 1 + increase − reduction A supplied 0.20 adds 0.20 to that factor
Multiplier Multiplies a term directly 1.20 means ×1.20; zero would erase that term
Flat adjustment Added or subtracted at its specified position fixed_add = 10
Flag Selects a branch The reviewed PvP branch tests for the numeric value 1

Rates and multipliers are not interchangeable. In particular, the BREAK calculation contains BRK_add_ratio + BRK_reduce_ratio − 1; do not replace that with an assumed percentage-reduction formula.

Examples deliberately supply neutral multipliers of 1, additive rates/flat adjustments of 0, and nonnegative stats unless another value is stated. These are teaching inputs, not a claim about every live default. Decimal rates are used throughout: 20% is 0.20, while a direct ×1.20 multiplier is 1.20.

min takes the smaller value; max takes the larger. sqrt means the nonnegative square root and requires a nonnegative input here. Rounding is shown only where the expression explicitly includes it. A returned decimal is not proof that the game displays or applies exactly that decimal after later processing.

Defense in the damage calculation

ATK/defense damage expressionDMG-01

The calculation has an ATK/defense core, skill terms, multiplier groups and flat adjustments. The related ATK/BREAK contribution expression later in this chapter is a separate expression; it is not called automatically here.

Break the core into three steps:

effective_ATK = max(ATK, 0)
after_defense = max(effective_ATK − DEF, 0.10 × effective_ATK)
skill_term = instant_value + instant_rate × power ÷ 10
base = after_defense × skill_term + added_damage

The 10% floor belongs to the ATK-minus-defense term. It is not a promise that final damage will always be at least 10% of ATK: later multipliers and flat reductions still apply. For nonnegative ATK, increasing DEF stops reducing this term once DEF reaches 90% of effective ATK.

The remaining expression is easier to follow in named groups:

element_and_skill = element_factor × same_element × ability_advantage
                    × EP_factor × element_add × skill_factor
critical = min(3, critical_ratio)
taken_pair = max(0.20, 1 + taken_increase − taken_reduction)
all_taken = max(0.20, 1 + all_increase) × max(0.20, 1 − all_reduction)
one_taken = max(0.20, 1 + one_increase) × max(0.20, 1 − one_reduction)

shared = element_and_skill × critical × taken_pair × break_state
         × max(0.20, pvp_input) × all_taken × one_taken

final_pair = max(0.20, 1 + final_increase − final_reduction)
adjusted = base × shared × final_pair + fixed_add − fixed_reduction

pvp_branch = 0.15 when pvp_flag = 1; otherwise 1
player_taken = max(0.20, 1 + player_increase)
               × max(0.20, 1 − player_reduction)
level_factor = (1 + level_increase) × max(0.20, 1 − level_reduction)

output = max(adjusted, 0) × pvp_branch × player_taken
         × level_factor × mode_factor

The 0.20 floors apply to individual factors at the places shown. They do not produce a universal 20% final-damage floor. The critical term has an upper limit of 3 in this expression, with no lower clamp shown. Flat adjustments occur after the base × shared × final_pair product but before the outer PvP, player, level and mode factors.

Inputs used by the damage expressions

The equations use the readable names below. Where an input's exact gameplay scope is unresolved, the name does not imply a particular skill, target or mode.

Name in the expression Meaning here
ATK, DEF, BRK Supplied attack, defense and BREAK values
instant_value, instant_rate, power Inputs forming the skill term shown above
added_damage Damage added to the post-defense skill term
element_factor, same_element, ability_advantage Supplied elemental, same-element and ability-advantage multipliers
EP_factor, element_add, skill_factor Additional supplied EP-related, elemental and skill multipliers
critical_ratio, break_state, pvp_input Supplied critical, BREAK-state and PvP-related multipliers
taken_increase, taken_reduction Increase/reduction pair combined inside one factor
final_increase, final_reduction Final increase/reduction inputs, combined differently by the two variants
all_increase, all_reduction Another supplied increase/reduction pair; exact affected scope is not confirmed
one_increase, one_reduction A separate supplied increase/reduction pair; exact affected scope is not confirmed
fixed_add, fixed_reduction Flat adjustments after the main multiplier product
player_increase, player_reduction Supplied player-related increase/reduction inputs
level_increase, level_reduction Supplied level-related adjustment inputs
pvp_flag, mode_factor PvP branch selector and separate mode-related multiplier
egg_factor Additional multiplier used by the BRK-based ATK-floor variant; exact live scope unresolved

These labels do not establish the full input-preparation path. In particular, the supplied pvp_input multiplier and the flag-selected pvp_branch are two separate terms.

Worked example: the defense floor

Use 200 ATK, instant_value = 1, instant_rate = 1, power = 10 and added_damage = 5. Then skill_term = 1 + 1 × 10 ÷ 10 = 2. Keep every remaining multiplier at 1, all additive rates/flat adjustments at 0, and the PvP flag at 0.

DEF ATK − DEF 10% ATK floor after_defense Output
50 150 20 150 305
180 20 20 20 45
250 −50 20 20 45

At 50 DEF, base = 150 × 2 + 5 = 305. At 250 DEF, the floor gives base = 20 × 2 + 5 = 45.

Worked example: multiplier and flat-adjustment order

Starting with base = 305, supply element_factor = 1.6, critical_ratio = 4, taken_increase = 0.20, taken_reduction = 0.10, fixed_add = 10 and fixed_reduction = 4. All other multiplier groups remain neutral.

critical = min(3, 4) = 3
taken_pair = max(0.20, 1 + 0.20 − 0.10) = 1.10
shared = 1.6 × 3 × 1.10 = 5.28
adjusted = 305 × 5.28 + 10 − 4 = 1,616.4

With the flag at 0, output is 1,616.4. With the flag at 1 and the same other inputs, output is 1,616.4 × 0.15 = 242.46. This example shows the PvP adjustment within this calculation. Its use in every PvP situation has not been confirmed.

Alternative damage expressionDMG-02

This variant shares most of the groups above but changes five important positions. Keep the same definitions for skill_term, base, shared, player_taken and level_factor, with these replacements:

effective_ATK = max(ATK, 0.90 × BRK)
after_defense = max(effective_ATK − DEF, 0.10 × effective_ATK)
base = after_defense × skill_term + added_damage

final_pair_variant = (1 + final_increase) × (1 − final_reduction)
adjusted = base × shared × final_pair_variant × egg_factor
           + fixed_add − fixed_reduction
pvp_branch = 0.30 when pvp_flag = 1; otherwise 1

output = max(adjusted, 0.05) × pvp_branch × player_taken × level_factor

Unlike DMG-01, this version does not clamp effective ATK directly against zero. For the nonnegative stats used here, max(ATK, 0.90 × BRK) remains nonnegative. Its two final increase/reduction factors are separate and unclamped, egg_factor is inside the flat-adjustment boundary, and there is no trailing mode_factor input. Its 0.05 floor occurs before the outer factors, so it is not a universal final minimum.

Example: supply ATK 200, BRK 300, DEF 50, the same skill inputs as the defense example, and neutral remaining factors. Effective ATK becomes max(200, 270) = 270; the post-defense term is 220; output is 220 × 2 + 5 = 445. With the PvP flag at 1, that becomes 133.5. The ATK/defense calculation, which does not use BRK directly, gives 305 or 45.75 for those corresponding inputs.

These are alternative definitions, not demonstrated consecutive stages or confirmed assignments to particular modes. Feeding ATKBRK-01 into either of them would require evidence of that connection.

Guide reference: ATKBRK-01
Reviewed: 6 November 2026
Status: Expression reviewed; live combat selection not established

This expression starts with ATK and adds a contribution from BRK. That contribution begins above a threshold and stops increasing at a limit determined by ATK. Its placement here does not establish it as a mandatory step inside the other damage expressions.

What the result means: this subsection calls the result output. It has not been established as final damage or as the ATK value shown on the character screen. The conclusions below apply to this expression.

The expression

used_BRK = min(BRK, 2.2 × ATK)

output = ATK + max(0.42 × (used_BRK − 0.5 × ATK), 0)

In words: use no more than 2.2 times ATK worth of BRK, subtract a threshold equal to half of ATK, take 42% of the remaining positive amount, then add ATK.

Variables

Name Meaning here
ATK ATK supplied to this calculation
BRK BRK supplied to this calculation
used_BRK The smaller of BRK and 2.2 × ATK
output The result of this expression; not a confirmed final-damage value

The gameplay stage at which these inputs are taken—such as before or after particular bonuses—has not been established here. The comparisons below assume positive ATK, nonnegative BRK, and fixed ATK when comparing BRK values.

min takes the smaller value. max(value, 0) keeps a negative contribution from reducing ATK.

Worked example: 200 ATK and 300 BRK

  1. Find the BRK limit. 2.2 × 200 = 440.
  2. Choose the BRK used. min(300, 440) = 300.
  3. Find the threshold. 0.5 × 200 = 100.
  4. Subtract it. 300 − 100 = 200.
  5. Calculate the contribution. 0.42 × 200 = 84.
  6. Add ATK. 200 + 84 = 284.

Formula output: 284.

What changes as BRK increases?

At a fixed 200 ATK, the threshold is 100 BRK and the limit is 440 BRK.

BRK supplied BRK used Added contribution Output
50 50 0 200
100 100 0 200
200 200 42 242
300 300 84 284
400 400 126 326
440 440 142.8 342.8
600 440 142.8 342.8

The plateau at 440 is a limit on the BRK contribution in this expression. It is not, by itself, a maximum BRK stat or a rule covering every BRK-related effect.

Three useful regions

BRK relative to ATK What happens Equivalent output
BRK ≤ 0.5 × ATK No added contribution ATK
0.5 × ATK < BRK < 2.2 × ATK Contribution grows with BRK 0.79 × ATK + 0.42 × BRK
BRK ≥ 2.2 × ATK Contribution reaches its limit 1.714 × ATK

These are equivalent ways to read the same expression under the stated assumptions. The 1.714 value is a relationship between output and the supplied ATK, not a demonstrated overall damage multiplier.

Insights

Extra BRK has different value in different regions. Below the threshold it adds nothing here. In the middle region, one extra BRK adds 0.42 output at fixed ATK. Above the limit, more BRK does not increase this output at fixed ATK.

Raising ATK moves both boundaries. At 200 ATK, the threshold/limit are 100/440 BRK. At 220 ATK, they become 110/484 BRK. ATK also contributes directly to output, so changing it does more than move the BRK limit.

Compare the actual pair of stats. With BRK fixed at 440, increasing ATK from 200 to 220 changes output from 342.8 to 358.6. Reaching the new limit at 484 BRK gives 377.08 output. These are different comparisons.

The expression does not swap the roles of ATK and BRK. A reverse limit of 2.2 × BRK on ATK would need separate support. It is not a conclusion of the expression shown here.

What this does not establish

  • The exact live situation in which this expression is selected.
  • That output equals final damage, displayed ATK, or a universal damage multiplier.
  • That BRK beyond this limit has no other purpose.
  • That the relationship applies identically across skills, modes or stat-processing stages.
  • A general equipment recommendation without considering other calculations and effects.

The reference contains separate damage and BRK-related expressions. Their existence is a reason to check the full calculation path before extending this page's local limit into a universal rule.

A short explanation to share

This expression limits the BRK it uses to 2.2 times ATK. BRK above half of ATK then adds a 42% contribution, up to that limit. With 200 ATK, the contribution stops growing at 440 BRK. This describes one expression, not a confirmed universal BRK cap or proof that excess BRK is useless.

Version history

No equation change is observed between Resources 3846247 and 3880756 for this expression. See the chapter's version history below for the compared builds and dates.

Damage modifiers

Elemental terms

These three definitions are alternatives with different inputs. Their presence does not establish that their outputs are added together or automatically inserted into DMG-01 or DMG-02.

Elemental ATK minus defenseELEM-01

output = max(0, (element_ATK − element_DEF) × power × 0.10)

element_ATK and element_DEF are the supplied elemental attack and defense values. This expression also uses supplied power; it does not use a source-element level input.

Example: elemental ATK 80, elemental DEF 30 and power 20 gives max(0, 50 × 20 × 0.10) = 100. Raising elemental DEF to 100 gives 0 at that positive power. There is no 10%-of-ATK defense floor here.

Twice the supplied powerELEM-02

output = 2 × power

Only power affects this definition. The declared elemental ATK, elemental DEF and source-element level do not affect its output. Power 20 gives 40. There is no clamp or rounding in this expression.

EP-cost-scaled elemental termELEM-03

used_cost = max(EP_cost, 20)
output = max(0, (element_ATK − element_DEF) × used_cost
                × supplied_value × (1 + EP_change) × 0.30)

EP_cost is the supplied EP-cost value, supplied_value is an additional numeric input, and EP_change is a supplied rate. Skill power and source-element level do not enter this expression. The minimum 20 is a floor on the cost value used in this multiplication; it does not say that the skill actually consumes at least 20 EP.

Example: elemental ATK 80, elemental DEF 30, EP cost 10, supplied value 2 and energy change 0.25 gives 50 × 20 × 2 × 1.25 × 0.30 = 750. At EP cost 40, the output becomes 1,500. An elemental defense of 100 gives 0 with these other positive factors.

The element ATK/DEF inputs in these expressions are distinct from the matchup multiplier in the Element matchups topic. A selected element's base matchup factor does not determine all these supplied values.

Stat-based multiplier families

Eighteen definitions share the same shape. Instead of eighteen repeated explanations, use the common expression and the three family columns below:

multiplier = min(cap, start + coefficient × supplied_stat)
output = multiplier × supplied_value

supplied_value is the value being scaled. The stat input is maximum HP, ATK, P.DEF, M.DEF, REGEN or BREAK, depending on the row. These stat labels also appear in the corresponding display rules.

Family Start Upper cap At a supplied stat of zero
A 0.80 1.40 Output is 80% of the supplied value
B 0.80 1.20 Output is 80% of the supplied value
C 1.00 1.20 Output equals the supplied value

For nonnegative stats these start values are the lowest multipliers. The expression itself uses an upper cap only, so negative stat inputs would require separate consideration. No rounding is included in these eighteen definitions.

Supplied stat Family A code / coefficient Family B code / coefficient Family C code / coefficient Stat reaching the calculation cap
HP A-HP / 0.0000375 B-HP / 0.000025 C-HP / 0.0000125 16,000
ATK A-ATK / 0.00075 B-ATK / 0.0005 C-ATK / 0.00025 800
P.DEF A-PDEF / 0.0015 B-PDEF / 0.001 C-PDEF / 0.0005 400
M.DEF A-MDEF / 0.0015 B-MDEF / 0.001 C-MDEF / 0.0005 400
REGEN A-REGEN / 0.0012 B-REGEN / 0.0008 C-REGEN / 0.0004 500
BREAK A-BRK / 0.001 B-BRK / ≈0.0006666667 C-BRK / ≈0.0003333333 ≈600

For A-BRK the coefficient is exactly 0.001 in the reviewed expression. The other two BREAK coefficients are stored as 0.0006666666666666668 and 0.0003333333333333334; the shorter decimals in the table are for readability. The approximate cap reflects those decimal representations. These caps apply to these multipliers, not maximum character stats.

Worked comparison: supply ATK 400 and a supplied value of 100.

Definition Calculation Output
A-ATK min(1.40, 0.80 + 0.00075 × 400) × 100 110
B-ATK min(1.20, 0.80 + 0.0005 × 400) × 100 100
C-ATK min(1.20, 1.00 + 0.00025 × 400) × 100 110

At ATK 800 the outputs are 140, 120 and 120 respectively. The families can agree at one input and differ at another. Matching one example is not enough to identify which family a skill uses.

BREAK display coefficients differ from these expressions

The paired display definitions use different BREAK coefficients:

Definition pair Calculation coefficient Display-definition coefficient Calculation cap stat Display-rule cap stat
A-BRK 0.001 0.00075 600 800
B-BRK ≈0.0006666667 0.0005 ≈600 800
C-BRK ≈0.0003333333 0.00025 ≈600 800

For example, at BREAK 600, the calculation multiplier for A-BRK is 1.40, whereas its paired display rule gives 1.25 using the listed start and coefficient. This is a discrepancy between two client definitions. It does not establish which number is displayed or applied by every live skill, or prove a specific live tooltip bug. The other fifteen stat rows have matching start, coefficient and cap values in the paired display definitions.

Separate P.DEF multiplier with roundingDEF-01

multiplier = min(1.20, 0.002 × P_DEF)
output = floor(multiplier × supplied_value)

P_DEF is supplied physical defense, and supplied_value is the value being scaled. This version starts at zero for zero P.DEF, reaches its cap at P.DEF 600 and rounds the product down. It has no explicit lower clamp.

Example: P.DEF 250 and a supplied value of 99 gives floor(0.50 × 99) = 49. At P.DEF 600 or 800, the same value gives floor(1.20 × 99) = 118. It is not interchangeable with the P.DEF rows above.

The stat-based definitions are grouped here because they scale calculated values. Their presence in this chapter does not mean they affect damage exclusively. Selected multipliers have configuration links, but a full skill-by-skill ownership list is outside this chapter.

BREAK damage

BREAK-damage expressionBRK-01

This definition starts with BRK minus BREAK defense, rather than ordinary ATK minus DEF. It does not contain the 2.2 × ATK contribution limit from ATKBRK-01 or the 10%-of-ATK defense floor from DMG-01.

skill_term = instant_value + instant_rate × power ÷ 10
BRK_pair = max(0.20, BRK_add_ratio + BRK_reduce_ratio − 1)
used_element = max(1, element_factor)
critical = min(3, critical_ratio)

core = (BRK − BRK_DEF) × skill_term × BRK_rate × BRK_fixed_ratio
       × BRK_ATK_ratio × BRK_pair × used_element × ability_advantage
       × critical × element_add × EP_factor × (1 + player_BRK)

level_factor = (1 + level_increase) × max(0.20, 1 − level_reduction)
output = max(core, 0) × sqrt(mode_factor) × sqrt(level_factor)

The shared names skill_term, element_factor, ability_advantage, critical_ratio, element_add, EP_factor, level inputs and mode_factor use the aliases already defined above. The additional inputs are:

Name in the expression Meaning here
BRK, BRK_DEF Supplied BREAK and opposing BREAK-defense values
BRK_rate, BRK_fixed_ratio, BRK_ATK_ratio Separate supplied BREAK-related multipliers
BRK_add_ratio, BRK_reduce_ratio Supplied ratios combined into BRK_pair
player_BRK Supplied player-related BREAK bonus

With BRK_add_ratio = 1 and BRK_reduce_ratio = 1, the combined BRK_pair is 1. With those supplied inputs it is neutral; this does not establish that both are always initialized to 1 in live combat.

Worked example: BRK 300, BREAK defense 100, instant_value = 1, instant_rate = 1, power 10, element factor 0.625, both BRK pair inputs at 1 and all other factors neutral gives:

skill_term = 2
BRK_pair = 1
used_element = max(1, 0.625) = 1
core = (300 − 100) × 2 = 400
output = 400 × sqrt(1) × sqrt(1) = 400

Changing only the element factor to 1.6 gives 640. Keeping 1.6 and setting mode_factor = 0.25 gives 320, because sqrt(0.25) = 0.5. With an additional level_factor = 0.81, that becomes 288.

The expression floors the supplied elemental factor at 1, so a supplied 0.625 does not reduce this particular term. That is a local behavior of the BREAK-damage calculation, not a claim that elemental resistance never affects BREAK through other inputs. Similarly, BREAK defense at or above BRK yields zero when the remaining core factors are nonnegative; this is not a general immunity claim.

mode_factor and level_factor must be nonnegative for these real-valued square roots. The expression itself does not clamp their complete values to a nonnegative range before taking those roots. Several adjustments used by the main damage variants do not enter this expression. In particular, there is no flag-selected 0.15 or 0.30 branch here.

Buff-supplied BREAK contributionBRK-02

output = max(buff_BRK × BRK_fixed_ratio × BRK_ATK_ratio
             × BRK_add_ratio × BRK_reduce_ratio
             × max(1, element_factor) × element_add × mode_factor, 0)

buff_BRK is the supplied buff BREAK value; the other names retain the BREAK meanings above. Notice that the two BRK ratios are multiplied separately, rather than combined as max(0.20, add + reduce − 1). The mode factor is also multiplied directly instead of through a square root.

Example: buff BRK 50, element factor 0.625, and all remaining factors 1 gives 50. At element factor 1.6 it gives 80. Setting the mode factor to 0.25 then gives 20. No ordinary ATK, defense, critical term or player BRK bonus appears in this expression.

The supplied skill-damage and PvP-related multipliers do not enter this buff BREAK calculation. Their availability elsewhere does not make them active factors here.

Variants and limitations

output = max(trap_damage × (0.50 + 0.50 × pvp_input), 0.30)

trap_damage is the supplied trap-damage value, and pvp_input is a supplied PvP-related multiplier. Level and the separate mode-related input do not enter this expression. Unlike the two main damage variants, it has no PvP flag branch.

Example: trap damage 100 and PvP input 0.20 gives max(100 × 0.60, 0.30) = 60. PvP input 1 gives 100. Trap damage 0 gives the 0.30 floor. There is no rounding in this expression, and the output's later use is not confirmed.

Comparing the main variants

Behavior ATK damage DMG-01 Alternative DMG-02 BREAK damage BRK-01
Starting stat max(ATK, 0) max(ATK, 0.90 × BRK) BRK − BRK_DEF
Defense-term floor 10% of effective ATK 10% of effective ATK No corresponding floor
Critical upper cap 3 3 3
Element-factor floor None here None here 1
Final increase/reduction pair Combined; floor 0.20 Separate; no floor on either Unused
Output clamp before outer factors 0 0.05 0
Numeric PvP flag = 1 ×0.15 ×0.30 Flag unused
Mode-related scaling Direct factor outside clamp egg_factor inside flat adjustments Square root outside clamp
Explicit integer rounding None None None

The displayed PvP branch factors are definitions, not an established assignment of one expression to all PvP matches. None of these definitions calls another damage formula internally.

Inputs that do not affect these calculations

Some calculations omit inputs that appear in related variants:

  • The first ATK/defense variant does not use BRK directly; the alternative uses it to set an ATK floor.
  • The power-only elemental term does not use elemental ATK, elemental DEF or source-element level.
  • The EP-cost elemental term does not use skill power or source-element level.
  • The trap term does not use level or the separate mode-related input.
  • The buff BREAK term does not use the separate skill-damage or PvP-related multipliers.
  • The BREAK-damage expression omits several factors used by the main damage variants, including their flag-selected PvP branch and flat damage adjustments.

Those omitted inputs may still matter elsewhere in the combat system.

Interpretation boundaries

  • A definition is not a mode map. The reviewed material does not establish every skill or live mode that selects each expression.
  • The input stage matters. No global before/after-buff order is asserted. A declared level input being unused does not rule out upstream level scaling or other level-related terms.
  • Do not concatenate the chapter. Elemental terms, stat multipliers, the ATK/BRK expression and the longer damage definitions are not proven consecutive steps.
  • Minimums and caps are local. A term floor, critical cap or stat-multiplier cap is not a universal final-damage floor or maximum character stat.
  • Display and calculation can differ. The three BREAK multiplier/display pairs have a concrete coefficient discrepancy. Live selection still needs checking before declaring an observed tooltip wrong.
  • Decimals are retained. These formulas do not establish final hit rounding, display formatting or server-side post-processing.

All topics

Search Aniible

↑ ↓ to browse · Enter to open · Esc to close