A.M.A.N. Trove • Ambuscade • Dynamis Divergence • Geas Fete • High-Tier Battlefields • Master Trials • Monthly Campaigns • Odyssey • Omen • Skirmish • Sortie • Unity • Vagary | The Voracious Resurgence |
Prime Weapons • Ultimate Weapons • Ultimate Augments • Abjurations iL119 • JSE Necks • Divergence Augments • Escutcheons | |
Reforged Armor Artifact: +1 • iL109 • iL119/+2/+3 Relic: +1/+2 • iL109 • iL119/+2/+3 Empyrean: +1/+2 • iL109 • iL119/+2/+3 |
Guides • Crafting • Trusts • Apex Monsters |
User:DoctorOkay/Projects/Battle Mechanics
This page is gonna be a working space for me to collect and centralize as many of the existing articles on FFXI Battle Mechanics and calculations in an effort to make a "simple" (lol) primer on mechanics for FFXI.
Pages With Formulas
- Cure Formula
- Final = floor(floor(floor((Base + JP + Raetic) × Cure Potency Equip) × Cure Received Equip) × Daywx)
- Community Red Mage Guide
- Duration Formula: ((Spell base × Saboteur) + (6s × RDM Group 2 Merit Point Level) + (3s × RDM Relic Head Group 2 Merit Point Level Augment) + RDM Enfeebling Job Points + RDM Stymie Job Points + Gear that list Seconds) × (Augments Composure Bonus) × (Duration listed on Gear) × (Duration Augments on Gear)
- Potency Formula: floor(floor((Base Potency × Saboteur) + {dStat Modifier}) × (Enfeebling Magic Effect+ Gear))
- Enhancing Duration Formula: (Base Duration + (6s × RDM Group 2 Merit Point Level) + (3s × RDM Relic Hands Group 2 Merit Point Level Augment) + RDM Job Points + Gear that list Seconds) × (Augments Composure Bonus) × (Duration listed on Gear + Naturalist's Roll) × (Duration Augments on Gear) × (Rune Fencer Gifts)
- Damage Taken
- Physical Damage Taken
- Formula 1: Uncorrected Damage = (Monster Base Damage + Monster fSTR)×(Monster Average pDIF)
- Formula 2: Corrected Damage = Uncorrected Damage × (100% -% Physical Damage Taken -% Damage Taken)
- Formula 3: Shield Blocked Damage = Corrected Damage × (Base + Defense/200)Question
- Formula 4: Corrected Damage = Uncorrected Damage × (100% -% Physical Damage Taken -% Damage Taken -% Burtgang || Epeolatry)
- Magical Damage Taken
- Physical Damage Taken
- Physical Damage
- Physical Damage = Base Damage * pDIF
- Formula 5: Magic Damage You Take = Floor( (Magic Damage you would have Taken)×(100% -% Magic Damage Taken -% Damage Taken) )÷( 1 + MDB÷100 )
- Formula 6: Magic Damage You Take = Floor( (Magic Damage you would have Taken)×(100% (-% Magic Damage Taken -% Damage Taken) -% Aegis Magic Damage Taken )÷( 1 + MDB÷100 ) )
- Breath Damage Taken
- Formula 7:Corrected Damage = (Breath Base Damage)×(1 -% Breath Damage Taken -% Damage Taken -%Augmented Magic Damage Taken)
- Killer Effects and Circles
- Formula 8: Final Damage = Corrected Damage × (1 - Circle Bonus) × (1 - Intimidation Rate÷2)***
- Physical Damage = Base Damage * pDIF
- Walz Efficiency
- HP/TP = HP Restored ÷ TP Spent = ( (User's CHR + Target's VIT)×M + B ) ÷ ( TP Base - TP Reduction )
- HP/Time = HP Restored ÷ Recast = ( (User's CHR + Target's VIT)×M + B ) ÷ ( Recast Base - Recast Reduction )
- HP/Time = HP Restored ÷ Recast = ( (User's CHR + Target's VIT)×M + B ) ÷ ( (Recast Base - Recast Reduction) × 0.8 )
- Monster TP Gain
Delay → Base TP Calculations | |
Modified Delay | TP gained |
<180 | 50+((Delay-180)×15)÷180 |
180~450 | 50+((Delay-180)×65)÷270 |
450~480 | 115+((Delay-450)×15)÷30 |
480~530 | 130+((Delay-480)×15)÷30 |
>530 | 145+((Delay-530)×35)÷470 |
- Monster TP gained per hit = floor( Base Monster TP × Inhibit TP' × dAGI × (1 - Subtle Blow÷100), .1) Note: There may actually be multiple flooring steps.
- dAGI = Player AGI - Monster AGI
- TP Modifier = 1-(dAGI+30)÷200
- TP Modifier = 1 - Subtle Blow÷100 - Subtle Blow II÷100
- TP Modifier = 1 - Inhibit TP÷100
- Cursna
- Doom Removal Rate = Base Rate * (1+(y/100)) Verification Needed
- Base Rate = (10+(Total Healing Magic Skill / 30))
- y = Total Cursna+ stat from gear
- Enmity
- CE gained = HP Restored × CE Modifier
- VE gained = 6 × CE gained
- Shield Skill
- PercentDamageBlocked = SizeDamageReduction + (ShieldDEF / ((max(ShieldItemLevel, 99) - 99) / 10 + 2))
- FinalDamageTaken = (IncomingBaseDamage - ShieldDefenseBonus) × (1 - PercentDamageBlocked/100) × (1 - PDT/100)
- BlockRate = SizeBaseBlockRate + ((ShieldSkill - AttackerCombatSkill) × 0.2325)
- AttackerSkill = ((-1 × (ActualBlockRate - SizeBaseBlockRate) ÷ 0.2325) + ShieldSkill
- Spell Recast
- Recast = (Initial Recast) × (1 - (Haste÷1024) + (Slow÷1024)) × Floor(Fast Cast% ÷ 2) × (Job Ability Modifier 1) × (Job Ability Modifier 2) × ...
- Tactical Points
Delay → TP calculation | |
Modified Delay | TP gained |
≤180 | 61+[(Delay-180)×63÷360] |
181~540 | 61+[(Delay-180)×88÷360] |
541~630 | 149+[(Delay-540)×20÷360] |
631~720 | 154+[(Delay-630)×28÷360] |
721~900 | 161+[(Delay-720)×24÷360] |
>901 | 173+[(Delay-900)×28÷360] |
- Weapon Skill Damage
- Damage = Base Damage × pDIF
- Melee WS Base Damage = floor(( Weapon Base Damage + fSTR + WSC ) × fTP)
- Ranged WS Base Damage = floor(( Weapon Base Damage + (Ammo Damage) + fSTR(2) + WSC ) × fTP)
- WS Damage = WS Base Damage × pDIF
- Base Magical WS Damage = floor(((152 + floor((WeaponLevel - 99) × 2.45) + WSC) × fTP) + dSTAT + MDMG Stat)
- Base Magical WS Damage × (MAB / MDB) × WSD × WSD Boost JT × Weather+Day Bonus × Affinity × Weapon Skill Potency Bonus × Augmented Weapon Skill Potency Bonus × Staff × Potency Multipliers × Resist × Resistance Rank Reduction × TMDA
- Damage = (Base Damage × pDIF) + (Base Damage × pDIF × modifiers of magic damage)
- Hit Rate
- Hit Rate (%) = 75 + floor( (Accuracy - Evasion)÷2 ) - 2×(dLVL)
- dLVL = Attacked Monster's Level - Attacking Player's Level
- Hit Rate (%) = 75 + floor( (Accuracy - Evasion)÷2 ) - 2×(dLVL)
- Magic Damage (golden example)
- Damage Dealt = D × MTDR × Staff × Affinity × Resist × Resistance Rank Reduction × MB × MBB × Day & Weather × MAB/MDB × TMDA × Potency Multipliers
- D = mDMG + V + (dINT × M)
- dINT = 134: D = mDMG + V100 + (34 × M100-199)
- MTDR = 0.9 - 0.05T
- MB = 1.25 + (0.1 × X)
- MBB = 1.0 + Gear + Atma/Atmacite + AMII Merits + Trait
- cMAB = 1 + (caster Magic Attack Bonus ÷ 100)
- tMDB = 1 + (target Magic Defense Bonus ÷ 100)
- MAB/MDB = cMAB ÷ tMDB
- FSTR
fSTR | |||
---|---|---|---|
ΔSTR range | fSTR approximation | ||
12 or greater | (ΔSTR + 4) / 4 | ||
6 to 11 | (ΔSTR + 6) / 4 | ||
1 to 5 | (ΔSTR + 7) / 4 | ||
-2 to 0 | (ΔSTR + 8) / 4 | ||
-7 to -3 | (ΔSTR + 9) / 4 | ||
-15 to -8 | (ΔSTR + 10) / 4 | ||
-21 to -16 | (ΔSTR + 12) / 4 | ||
-22 or less | (ΔSTR + 13) / 4 |
- Lower cap value at ΔSTR = -(7 + Weapon Rank x2) x2
- *Upper cap value at ΔSTR = (14 + Weapon Rank x2) x2.
fSTR2 | |||
ΔSTR range | fSTR2 approximation | ||
12 or greater | (ΔSTR + 4) / 2 | ||
6 to 11 | (ΔSTR + 6) / 2 | ||
1 to 5 | (ΔSTR + 7) / 2 | ||
-2 to 0 | (ΔSTR + 8) / 2 | ||
-7 to -3 | (ΔSTR + 9) / 2 | ||
-15 to -8 | (ΔSTR + 10) / 2 | ||
-21 to -16 | (ΔSTR + 12) / 2 | ||
-22 or less | (ΔSTR + 13) / 2 |
- Lower cap value at ΔSTR = -(7 + Weapon Rank x2) x2
- Upper cap value at ΔSTR = (14 + Weapon Rank x2) x2
- Physical Damage
- Physical Damage = Base Damage * pDIF
- Base Damage
- For normal attack: Base Damage = D + (aD) + fSTR
- For weapon skill: Base Damage = floor((D + (aD) + fSTR + WSC)* fTP)
- pDIF
- Ratio = Attacker's Attack/ Target's Defense
- melee: cRatio = Ratio - (target's level - attacker's level) × 0.05
- ranged: cRatio = Ratio - (target's level - attacker's level) × 0.025
- If you critical hit: wRatio = (cRatio + 1)
- If you do not critical hit: wRatio = (cRatio + 0)
wRatio | UL Equation | Min | Max |
---|---|---|---|
0 ≤ wRatio < 0.5 | wRatio + 0.5 | 0.5 | < 1 |
0.5 ≤ wRatio < 0.7 | 1 | 1 | 1 |
0.7 ≤ wRatio < 1.2 | wRatio + .3 | 1 | < 1.5 |
1.2 ≤ wRatio < 1.5 | (wRatio × 0.25) + wRatio | 1.5 | < 1.875 |
1.5 ≤ wRatio | wRatio + 0.375 | 1.875 | (varies) |
wRatio | LL Equation | Min | Max |
---|---|---|---|
0 ≤ wRatio < 0.38 | 0 | 0.5 | < 1 |
0.38 ≤ wRatio < 1.25 | (wRatio) × (1176/1024) - (448/1024) | 0 | < 4083/4096 |
1.25 ≤ wRatio < 1.51 | 1 | 1 | 1 |
1.51 ≤ wRatio < 2.44 | (wRatio) × (1176/1024) - (755/1024) | 0.9968359375 | 2.064882813 |
2.44 ≤ wRatio | wRatio - 0.375 | 2.065 | (varies) |
- Critical Hit Rate
- Crit Rate = +floor( dAGI÷10 )%
- dDex (Player DEX - Target AGI)
The Basics (Melee)The result of an attack is basically the answer to two questions
Naturally, the way that is figured out is very complex. Let's first set our sights on whether we even hit an enemy or not
This gives us an integer value that will be interpreted as a % chance to hit. Meaning that every time you swing you sword/axe/club/dagger/what-have-you, you'll hit hitRate% of the time. The actual mechanic of how this works is kind of irrelevant, but I believe that each individual attack is evaluated using something like the formula above and it just flips a bit on whether the character hits or not. hitRate is more of an abstraction than reflective of source code. Okay, so you've hit. Well done, I'm proud of you. How much damage did you do? Now... that's where things get a little bit messy. Starting simply, here is the formula for physical damage: I wish I could say that baseDamage was the easy one to figure out, but sadly, no. It is calculated via a formula: Let's go term by term here. D is the listed damage for the weapon you're currently swinging. Easy-peasy. aD is the "ammo damage" if you are using a ranged weapon. Since we are meleeing here, we can ignore it. Now on to fSTR... fSTR is well.... complicated? The first step in calculating fSTR is easy enough. That is simply:
There are also upper and lower bounds to dSTR to consider. |