Spell Calculations
Spell Casting Profiles
I've outlined our casting profiles on Character Stats under Spell Power, defining coefficients for Direct Hit, Damage/Healing Over Time (DoT/HoT), and Area of Effect (AoE). Here's a quick summary of formulas we'll use in the final calculation when adding Spell Power Bonus:
For our alpha milestone of this doc, I'm only outlining Direct Hit and Over Time spells as our key profiles needed for basic boss fights. I will expand out this section with AoE in the future (e.g. add Healing Wave/Fire Wave).
Spell Book
Here are the quintessential damage and healing spells we need for the simulation.
| Spell | Profile | Cast Time | Duration | Base (Vstart) | Scaling Rate (r) | Variance | Mana Cost (% of Pool) |
|---|---|---|---|---|---|---|---|
| Flash Missile | Direct Hit DPS | 1.5s | Instant | 7.5 | 0.04 | 5.0% | 9.0% |
| Greater Fireball | Direct Hit DPS | 3.0s | Instant | 15.0 | 0.04 | 5.0% | 7.0% |
| Gradual Burn | Damage Over Time | 1.5s (GCD) | 18.0s | 18.0 | 0.04 | 5.0% | 10.0% |
| Flash Mend | Direct Hit Heal | 1.5s | Instant | 55.0 | 0.04 | 5.0% | 12.0% |
| Lesser Heal | Direct Hit Heal | 2.25s | Instant | 55.0 | 0.04 | 5.0% | 4.0% |
| Greater Heal | Direct Hit Heal | 3.0s | Instant | 90.0 | 0.04 | 5.0% | 9.0% |
| Gradual Heal | Healing Over Time | 1.5s (GCD) | 12.0s | 60.0 | 0.04 | 5.0% | 11.0% |
Cast Time Limits
- 1.5s Floor: Any spell with a cast time of 1.5 seconds or faster (including instant casts) is treated as 1.5 seconds, giving it a minimum coefficient of roughly 42.8% (1.5 ÷ 3.5).
- 3.5s Cap: Spells are capped at 100% scaling, even if the cast time is 4 or 5 seconds.
Low-Level Coefficient Penalty
A spell's coefficient is reduced by 3.75% for each level the player is below level 20 to balance out a player's increasing Spell Power at higher levels.
Coefficients and Tempo
The coefficient is calculated using the base cast time of the spell. If you use Tempo to reduce a 3 second cast to 2.7 seconds, it still gets the same bonus damage, SP × (3 ÷ 3.5). This gives Tempo buffs the advantage of delivering the same bonus damage more often.
Base Spell Output and Level Scaling
Spells start with a base value for damage or healing output that is scaled by player level at a rate of 4% per level. Base values are given for each spell in the table above.
A level 60 Ranged DPS Mage casting Greater Fireball:
Variance
Variance introduces an RNG element into each spell's final output. We'll use a fixed 5% adjustment in the positive and negative from the level scaled damage or healing output which establishes a min and max damage.
Our fireball with a fixed variance of 5% would have the following min/max:
Over Time Tick Rates
Over Time spells have an additional attribute of tick rate, releasing a portion of the total spell output every tick over the duration of the effect. We'll use a flat 3 second tick rate for all OT spells. For an 18 second spell, we know there will be 6 ticks (18 ÷ 3). The total spell output is then divided by the number of ticks to determine tick output.
For new spells, OT spell durations should be defined as a multiple of the 3 second tick rate. If adjusting tick rate in the future, this relationship with duration should be considered.
Spell Output Calculation in Combat
Spell Outcome Roll Table
Spells have very limited outcomes. For damage spells, you need to roll for spell resistance based on level friction with the target. Otherwise, all spells will succeed with either standard output or a critical hit dependent on players crit stats. Note that the crit modifier is only 150% for casters.
| Outcome | Bracket Width | Roll Threshold | Threshold Value Key |
|---|---|---|---|
| Spell Resist | Resist%ΔL | R < T₁ | T₁ = Resist%ΔL e.g. 17% for Boss (ΔL +3) |
| Critical | Crit%player | T₁ ≤ R < T₂ | T₂ = T₁ + Crit%player |
| Standard | Remaining Balance | T₂ ≤ R ≤ 100 | — |
Spell Outcome Sample Reference
Level 60 Dungeon Ready (1.2×) DPS Caster fighting a Level +3 Boss
| Outcome | Bracket Width | Roll Threshold |
|---|---|---|
| Spell Resist | 17.0% | R < 17.0 |
| Critical | 13.0% | 17.0 ≤ R < 30.0 |
| Standard | 70% Remaining | 30.0 ≤ R ≤ 100 |
Spell Output Calculation Sequence
If the roll succeeds we move forward with the final spell output calculation sequence.
| Step | Calculation | Calculation Logic |
|---|---|---|
| 1 | Spell Output RNG | Random number between the spell's min and max output |
| 2 | SP Bonus | Determine SP Bonus by applying the profile specific coefficient to SP |
| 3 | Total Spell Output | Spell Output RNG + SP Bonus |
| 4 | Critical Hit | If Critical Hit, apply 1.5× crit bonus modifier |
| 5 | Tick Count (if DoT/HoT) | Spell Duration ÷ 3s Tick Duration |
| 6 | Tick Output (if DoT/HoT) | Total Spell Output ÷ Tick Count |
Spell Output Example Calculations
Level 60 Dungeon Ready Ranged DPS Caster
Spell Power (SP): 300
Critical Hit Chance: 13%
Critical Hit Modifier: 1.5×
Opponent: Boss Level +3 (Imposes 17% flat Spell Resistance)
Greater Fireball Spell Profile
Level Scaling Baseline: 15.0 × (1.0460) = 15.0 × 10.520 = 157.8 Base Output Min Damage: 150 Max Damage: 166Spell Damage
SP Bonus: 300 SP × (3.0s Cast ÷ 3.5s Base) = 300 × 0.857 = 257.1 Bonus Total Spell Output: 158.00Random + 257.1SP Bonus = 415.1 DamageSpell Attack Roll Outcomes
| Outcome | Multiplier | Damage |
|---|---|---|
| Standard Hit | 1.0× | 415.1 |
| Critical Hit | 1.5× | 622.7 |
Spell DPS (tempo adjusted)
Total spell output tells us the damage of a single cast. To compare spells to physical damage on a sustained throughput basis, we convert to a DPS rate using the tempo-adjusted cast time:
Cast Time: 3.0 × 0.90 = 2.7s Yellow DPS: 415.1 ÷ 2.7 = 153.7 DPSWithout tempo this would be 415.1 ÷ 3.0 = 138.4 DPS. Tempo delivers an 11.1% DPS increase by reducing the cast interval while preserving full spell output — the same proportional gain seen in weapon white damage.
Note that the SP Bonus coefficient uses the base cast time (3.0s), not the tempo-adjusted time. Tempo speeds up delivery without reducing the bonus. This is intentional. Tempo is purely a frequency multiplier, not a scaling penalty.
Gradual Burn Spell Profile
Over Time spells deliver damage in ticks rather than a single hit, so the relevant rate is damage per tick per second rather than total output per cast:
Level Scaling Baseline: 18.0 × (1.04)60 = 18.0 × 10.52 = 189.4 Base Output Min Damage: 180 Max Damage: 199Spell Damage
SP Bonus: 300 × (18s Dur ÷ 15s Base) = 300 × 1.20 = 360.0 Bonus Tick Count: 18.0s Duration ÷ 3.0s Fixed = 6 Ticks Total Spell Output: 189Random + 360.0SP Bonus = 549.0 Damage Output per Tick: 549.0 ÷ 6 = 91.5 Damage/Tick Tick DPS: 91.5 ÷ 3.0s = 30.5 DPS (sustained)The 1.5s GCD cast triggers the effect, which then runs independently. The total 549 damage lands over 18 seconds regardless of what the caster does next — freeing them to cast other spells during the DoT's duration.
Regarding tempo reduction, tempo reduces the GCD cast time to apply the DoT (1.5s → 1.35s) but does not affect the tick interval (fixed at 3.0s). The DPS gain from tempo on Over Time spells is therefore minimal compared to Direct Hit spells.
Spell Attack Roll Outcomes
| Outcome | Multiplier | Damage | Damage/Tick | Sustained DPS |
|---|---|---|---|---|
| Standard Hit | 1.0× | 549.0 | 549.0 ÷ 6 = 91.5 | 30.5 |
| Critical Hit | 1.5× | 823.5 | 823.5 ÷ 6 = 137.25 | 45.8 |