Skip to content
SixtySim

Method

How the numbers on this site are produced, and what they are not.

engine ac5b5455,000 iterations9 Octclient 1.60.1.702911,742 items in the pool

In short

  • Simulated, not logged

    Every number is simulated on the WoWSims-based Forever engine (commit ac5b545, 9 October 2026), with spell data from the Forever client (build 1.60.1.70291).

    Engine
  • Six fights

    One boss for 3 min, 2 min and 1 min; three bosses for 3 min, 2 min and 1 min. Each fight has setups searched for it.

    Fights and environment
  • Known items only

    1,742 of the 4,878 items at item level 55 or above are in the pool; raid drops and crafts from raid materials, PvP rank gear (the Pre-raid + PvP set adds Forever's rank rewards), later-phase content and items without a published Forever source are left out.

    Item policy: known items only
  • Searched setups

    Every build's gear, talents and rotation are found by simulation, for each faction and each fight.

    Gear search
  • 5,000 iterations

    For every published number (10,000 on the one-minute fights), with full raid buffs and debuffs and each spec's consumables. No world buffs.

    Fights and environment
  • A metric per role

    Damage builds by damage per second; tanks by threat, survival or both; healers by healing per second, on one target or a party of five.

    Tanks and healers

Engine

Every number comes from a WoWSims-based simulator whose spell data is generated from the Forever client tables (client build 1.60.1.70291), at commit ac5b545045650ec4aac4fa98d9ed13b410a630bf (2026-10-09: "core: a spell's hardcast completion is made once"). That is upstream 2ce826577c, whose spell, talent and item tables are still client 1.60.1.70245's with the hotfixes of 8 October 2026 (upstream changed only the build's name to 70291), plus 42 commits of ours (among them the tests they move and the item database regenerated for them): changes of client build 70170 that upstream does not carry, a fix of 6 October, and the fixes of 7 and 9 October below.

The 70170 changes were each checked against the client tables: Tiger's Fury is gone (the patch notes say removed and the client no longer teaches it; upstream still casts it as a free 15 % damage buff), Swipe gains 3 % of attack power and Primal Bite's threat is doubled (patch notes; the client rows state neither) from plain damage threat, and Lacerate and Swipe generate plain damage threat: the higher multipliers upstream gives the three (1.5, 3.33 and 2) are Season of Discovery's, nothing in Forever's data or measurements carries them, and the engine's own rule for threat nobody has measured is none (it brought the warrior's Revenge and Thunder Clap down to plain threat once they were measured), Howling Idol and Idol of Shifting Tides are implemented and Idol of Brutality no longer discounts Primal Bite, Inner Focus' critical strike bonus follows the client's mask (off Shadow Word: Pain and Devouring Plague, on Mind Flay), and the Scroll of Cryoblast deals its rebalanced 104 to 140.

Everything else of that patch (rage from critical strikes, Shifting Power, the Fury tree, Eureka!, Champion of the Light, Hellfire) is upstream's own implementation. The fix of 6 October: Rapid Recuperation, Resourcefulness and Improved Stormstrike now return the mana their buffs promise (the engine kept its regeneration rate cached and never refreshed it when those buffs came and went, so they gave nothing).

On 7 October the engine was compared with MythicSim's fork of the same simulator, and the fixes of theirs that hold against the client data or a beta measurement were taken, each with its test: a rotation line that names Heroic Strike, Cleave, Maul or Raptor Strike without its queue tag queues the ability on the next swing (the engine fired it at once, off the global cooldown and on top of the white swing, so a Heroic Strike-only rotation read 139 DPS against 84 queued); Iceblade Hacker and Warblade of Caer Darrow proc only from their own hand, and they and Ta'Kierthan Songblade lose Classic's second damage roll (Forever gives Iceblade Hacker an equip effect instead, so the roll counted twice); an empty weapon slot never swings; Holy Nova's heal can critically strike without stopping the simulation (upstream has since made the same fix); a druid's flat weapon damage (the +9 weapon damage enchant, a main-hand sharpening stone or weightstone) lands in full on every paw hit; Wolfshead Helm gives its Energy on Shifting Power and its Rage on Enrage, as the client states, not on every shift; demons inherit their warlock's spell hit and critical strike in full, 10 % of its spell power as spell power and 17 % as attack power (beta readings: the client's scaling passive leaves the amounts to the server); Demonic Brand's charges belong to the target Searing Pain branded; a spell of two schools takes its school hit bonus once and meets the lower resistance (Frostfire Bolt now gets Elemental Precision); hunters have Aspect of the Beast, Forever's melee aspect, and Lacerating Strikes' bleed no longer ticks for nothing after the first; the human, orc and dwarf weapon specializations leave Auto Shot alone (a beta test of over 500 Auto Shots); Totem of Thunder adds its 1 % critical strike to Lightning Bolt and its overload; Dark Sacrifice is the Undead priest's alone; and Enhancement shamans cannot dual wield.

Two additions change no result: a switch that turns a character's racials off, for what each race's racials are worth, and the spread of every ability's hits and crits.

On 9 October upstream's newer data came in, and with it fixes of ours to the item data and to weapon swaps. Forever marks its caster weapons in a flag word of the client's item table that the other clients do not have, and the game gives them two thirds (one-handers) to three quarters (two-handers) of a melee weapon's damage and a spell damage and healing bonus no stat of the row states; the item database had given them full melee damage and no bonus (Sageblade 58 to 109 and nothing, where the game has 39 to 73 and +94), and the client's 165 caster weapons now take the damage and spell power Wowhead's Forever planner gives them (the few it does not list stay as they were).

The items the client does not ship, which the database took from Classic's, take the planner's weapon damage, speed and school spell power where Forever changed them (Mograine's Might 105 to 159 at 3.4 seconds, Bad Mojo Mask's +20 Shadow spell power). Negative stat allocations count, as the tooltips show them (Lapidis Tankard of Tidesipper's -15 Agility, Half-Eaten Boots' -100 armor). Taking an item off ends what its use gave (the engine kept Manual Crowd Pummeler's haste through a swap), and a warrior's Whirlwind strikes with whatever off hand a weapon swap leaves it holding.

Two more commits make a simulation allocate less memory and change no result. The harness that runs the benchmark carries one engine commit more, 1ef9a8f996, on a branch of its own until the optimisation under way since 9 October is over: every simulation kept a pool of its pending actions that held the finished simulation in memory for two more garbage collections, which thousands of short raced simulations (below) piled up into gigabytes per process; it changes no result, to the last bit.

The engine is linked as a library by a small Go harness that builds the requests, runs the searches and writes the matrix; apart from the changes named above and the healers' heals (below), the harness never changes engine mechanics.

Fights and environment

  • One level-63 dragonkin boss with 3,731 armor for three minutes, execute range for the last 20 % (35 % for spells that care), the player starts at its build's distance (5 yards melee, 20-30 casters and hunters). The same boss for two minutes and for one minute are the other single-target fights: the shorter they are, the more cooldowns, opening resources and the mana pool decide over sustained play.
  • Cleave: three copies of that boss side by side for three minutes, two minutes or one minute, all present for the whole fight, every raid debuff on each. Positions are not modelled, so an area spell reaches all three bosses; since the engine models spell ranges, casters and healers stand 8 yards from the bosses there, within reach of the point-blank ones (Arcane Explosion, Blast Wave, Hellfire, Holy Nova), and melee abilities (Consecration, Swipe, Thunder Clap, Whirlwind) reach them from melee range.
  • Every fight has its own optimisation (see below), and a fight shows only once it has had one on the current engine: since 9 October 2026 the fights are optimised one length at a time, the one-minute fights first, and the fight picker marks the others soon until their run. Each has its own talent sets, tuned rotations and gear search for every build, each starting from a five-minute fight the harness keeps for it (one boss for the single-target fights, three bosses for the cleave fights; the site does not show them). Fewer seconds simulate in less time, so the one-minute fights run twice the iterations at every step. The base fight, whose setups a fight of your own starts from, is one boss for three minutes, or while that fight waits for its run the first fight that has had one: now one boss over three minutes.
  • Gear sets: every fight is searched in the pre-raid pool (below), and again with the "Pre-raid + PvP" gear set, the same pool with Forever's own PvP rank rewards. A fight's PvP twin plays its pre-raid fight's talents and rotations, starts its gear search from that fight's set once that fight is done, and is guarded against that set: it may wear everything the pre-raid set wears, so it never ends below it. A tank on three bosses keeps the one-boss PvP set of the same length.
  • Full raid buffs (Arcane Brilliance, Fortitude, Spirit, Shadow Protection, Gift of the Wild, Thorns), party buffs (Battle Shout, Blood Pact, Devotion, Retribution, Leader of the Pack, Moonkin Aura, Trueshot, Strength of Earth, improved Mana Spring, and Windfury Totem for melee or Grace of Air for everyone else since a party holds one air totem), Greater Blessings of Kings, Might and Wisdom, and the standard raid debuffs (Sunder and Expose Armor, Faerie Fire, Curse of Recklessness and Elements, the three Judgements, Demoralizing Roar/Shout, Thunder Clap, Insect Swarm, Scorpid Sting).
  • Consumables are each spec's default set (flask, elixirs, Blasted Lands buff, food, potion, conjured item, weapon oils, poisons or sharpening stones); every build page lists them. Hunters shoot Thorium arrows or shells to match the weapon.
  • 5,000 iterations for every published number, 10,000 on the one-minute fights (above); the standard error of a cell is typically around 1 DPS.

Item policy: known items only

The pool is built from the engine's item database, filtered by Wowhead's Forever gear-planner snapshot that ships with the engine. An item is admitted when Wowhead lists it for Forever and records a source that is obtainable before the first raid tier opens. Nothing is invented: no placeholder items, no "modelled" stat budgets, no Classic items whose Forever stats have not been published. Of the 4878 database items at item level 55 or above, 1742 are in the pool, the "Pre-raid" gear set.

The "Pre-raid + PvP" set adds 286: Forever's own PvP rank rewards, each for its own faction (the Premier elite armor of ranks 8 to 13, the rank-14 Grand Marshal's and High Warlord's weapons and the rank-4 insignia), and nothing else: not the legacy Classic rank items, which Forever's rank vendor replaces with the Premier ones, and no raid, later-phase or unsourced item.

SourceIn the poolWhat it meansItems
DungeonIn the pooldrops inside five-man instances102
QuestIn the poolquest rewards; quests that need a raid boss or raid-zone quest categories are excluded211
CraftedIn the poolprofession recipes (the character is assumed to have access to the crafter), except those made from materials only raids drop (Molten Core's Fiery and Lava Cores and Core Leather, Scale of Onyxia, Zul'Gurub's Bloodvine, Souldarite and primal leathers, the Ahn'Qiraj ruins' obsidian shards, Naxxramas's Frozen Rune) or from a recipe only a raid drops: those are raid403
VendorIn the poolvendors and reputation quartermasters, including the new Forever factions; Brood of Nozdormu, Zandalar Tribe and Hydraxian Waterlords rewards are raid-gated and excluded97
PvPIn the poolhonor purchases with no rank requirement (the Forever "Premier" blue sets bought with Marks of Honor and Honor Points, Sergeant's cloaks) and battleground reputation rewards, each for its own faction (Warsong Gulch's quartermasters included, whose Horde wares carry rank titles but need no rank)368
World dropIn the poolworld drops with published Forever stats561
PvP rankLeft outhonor gear that needs a PvP rank and the legacy rank vendors; Forever's own rank rewards among it are what the "Pre-raid + PvP" gear set adds694
RaidLeft outMolten Core, Onyxia's Lair, Blackwing Lair, Zul'Gurub, Ahn'Qiraj, Naxxramas and world-boss drops and their quest rewards, including the Ahn'Qiraj ruins' quests that Wowhead files under Silithus (Armaments of War, The Perfect Poison), the drops Wowhead records by the raid's zone alone (Ring of Spell Power, Talisman of Ephemeral Power and Heavy Dark Iron Ring among them, world drops until 9 October 2026), and the crafts from raid materials or raid recipes519
Later phaseLeft outcontent of Ahn'Qiraj's time, a much later phase than launch: the war effort's rewards (Cenarion Circle Field Duty battlegear, among them Earthstrike) and the Silithus that Classic shipped with Ahn'Qiraj (Cenarion Hold's quests, the Abyssal Council's lords, among them Wavefront Necklace, the Twilight's Hammer cultists' sets, and the Cenarion Circle's Sandstalker and Spitfire leatherworking from Silithus materials)35
Above pre-raidLeft outitem level above 66 outside a dungeon: later-tier vendor and quest gear that happens to be in the data19
No source yetLeft outlisted for Forever but Wowhead records no source yet163
Not in the plannerLeft outnot in the Forever planner at all; only Classic-era data exists for them, so their Forever stats are unverified. Since Wowhead's refresh of 8 October 2026 this includes the Season of Discovery rows the planner dropped (Season of Discovery's copies of the dungeon set 0.5 pieces, its Timbermaw, Argent Dawn and Argent Elite reputation gear, its PvP sets)1,706

Enchants: those Wowhead's Forever planner lists. Forever ships every enchant as a scroll item without source data, so the planner's list stands for what Forever has; since its refresh of 8 October 2026 it no longer lists the 24 Season of Discovery enchants the engine's database carries (Enchant Cloak - Agility, Bracer - Greater Spellpower, 2H Weapon - Spellblasting, the off-hand and shield enchants, the four "Grand" proc enchants and the tinkers), and neither does the pool.

Of the rest, the raid-derived recipes are left out (Zul'Gurub and Naxxramas inscriptions, the Zul'Gurub glove enchants, the Molten Core Spellpower and Healing Power formulas, Mighty Intellect and Mighty Spirit, the Ahn'Qiraj cloak formulas, the Biznicks scope); Forever's necklace enchants are in.

The engine's item database took many rows from an older snapshot written with a different stat numbering, so in those rows every stat from armor up sat one place too high (armor read as bonus armor, health as mana, mana as mana per 5 seconds, each resistance as the next), and the armor of many items was lost altogether.

The database is corrected here (the engine's tools/database/migrate_legacy_stat_indices.py, after every engine update, which also applies the caster weapons, the planner's corrections and the negative stats of 9 October above), so items, enchants and random suffixes count with their real stats; the four Lesser Arcanums the old rows misstated (Rumination, Constitution, Tenacity, Resilience) are back in the pool.

The item classification lives in tools/availability.py, whose report lists every rule's items.

My setup's item picker phases every item by the same classification, as Forever's content tiers: Launch is everything above outside the raids and the war effort; Tier 1 is Forever's first raids, Molten Core and Onyxia's Lair, with the world bosses; Forever has not said what Tiers 2 and 3 hold, so the later classic raids keep their classic order there (Blackwing Lair, Zul'Gurub, the ruins of Ahn'Qiraj and the war effort in Tier 2; Ahn'Qiraj and Naxxramas in Tier 3), and gear above the pre-raid item level with no raid source goes by its item level. Picking a tier shows it and every tier before it.

Builds, talents and rotations

The roster has 45 builds: 25 damage builds, 10 tank builds and 10 healer builds. Each damage spec has one build, its best setup (since 8 October 2026: the two-hand and no-Recklessness warriors, the dagger rogue, the Classic-gear paladin and the ranged survival hunter were dropped, each a variant its spec's best build made redundant), and the hybrids are builds of their own: Shockadin, Stormcaller, DS/Ruin, Smite, the Fury/Prot warrior and, since 9 October 2026, Frostfire, a Fire and Frost mage around Frostfire Bolt (Forever's trained spell, which no other build's rotation casts, so no talent climb could reach it).

A tank has a build per focus (threat, mitigation, the balance of the two) and a healer a build per target (one, or a party of five). The rankings show one row per spec, named for it ("Fury Warrior"), and a tank row by its talents ("Ret/Prot Paladin" when Retribution holds more points than Protection). Each build lists several candidate talent sets: the engine's community presets and the best variants an automated talent search reported.

The candidates are screened by simulation, first on the set the gear search starts from and again on the set it found, together with every applicable rotation preset (APL), and the best combination is used; since 9 October the screen races its combinations as the gear search races items (below). Talents are therefore "tested profiles", not a proof of the optimal tree.

After every engine change (client 70170 on 2 October 2026, upstream's data and fixes on 4, 6 and 9 October) every build's talent sets are also hill-climbed by simulation on its searched gear, on every fight separately: each round measures what every spent point and every point that could still be spent is worth, simulates the swaps those rank best and takes the best of them, all on one random seed.

Since 9 October a round measures those points at a quarter of the iterations first and again at full iterations only for the 24 most promising swaps, and the climb still stops on full-iteration figures (on six builds of the one-minute boss the climbs ended on the same talents but for one point worth 0.02 %, for 60 % of the work).

The best set joins that fight's candidates as "Tuned a/b/c · 2 min" and so on; every damage and tank rotation's numeric thresholds (energy, rage and mana thresholds, time windows) are tuned the same way on every fight from the engine's current rotation, and the tuned rotation joins that fight's screen beside the original. A fight screens its own sets and rotations and the ones of the fight it starts from, so each fight's result is its own, and My setup on each build's page offers every fight's gear, talents and rotation to switch between (Load a setup, and the talent and rotation lists name the fight each was found on).

The gear searches then run again from each build's own last set, and a guard re-simulates every build's previous setup on the new engine beside its new result and searches again from the previous setup wherever that simulates better, so no build comes out of an update below the setup it had (less any item the pool has dropped since, which the guard takes out of the previous setup too).

No rotation casts a rank below spell level 20: 70170 states that ranks far below the caster's level lose most of their spell power and their chance to proc talents, which the engine does not model, so the rank-2 Smite, Fireball and Lightning Bolt rotations that used to win those screens are left out (they remain selectable in My setup).

Since 9 October 2026 a result is run and shown with a cleaned copy of the rotation it was found with. A rotation is written for many setups (the engine's, then tuned for the build), so it holds lines for talents, trinkets, races and fights the setup does not have, lines a raid buff makes pointless (Battle Shout under the party's, Sunder Armor under the raid's) and lines the build never reaches. bench aplclean simulates each result the way the benchmark does (every race of the faction, the matrix's seed and iterations), takes out the hidden lines and the lines no race of the faction casts, and keeps a cut only where every race's result stays identical, metric for metric; a line whose removal changes anything stays, and a line only some of the races cast (an Orc's Blood Fury) stays with a note.

The benchmark's runs, their reports and a build page's Rotation tab play the cleaned copy while the result is still the one it was made for; the screens, climbs and tunes work on the full rotation.

For every build and faction the search starts from the set it found last time on the fight; a first search starts from the other faction's result, else the result of the fight it inherits from, else the engine's launch preset. Anything outside the pool is taken out and an emptied slot filled.

The search walks the slots (weapons first), races every admissible item of each slot against the set as it stands (below), confirms the race's survivors against it at 3,000 iterations with a shared random seed, and keeps a swap only when it gains at least 0.1 %. It repeats over the slots until nothing improves, at most four passes (later passes re-check the 24 best candidates per slot), then does the same for enchants, and finally re-simulates the set at 5,000 iterations.

Rings, trinkets and unique-equipped categories respect the game's limits; two-handers empty the off hand; hunters and feral druids may use either a two-hander or a one-hander with an off-hand. The result is a strong local optimum, not an exhaustive combination search. Each slot's three best other items from its last race are then simulated in the final set at 1,000 iterations on one random seed, and every build page shows them as the next-best items, with the difference each makes in the build's own metric.

Racing (since 9 October 2026). Every candidate and the set as it stands run 100 iterations on the same random numbers, iteration by iteration, and the survivors run twice as many again (200, 400, up to 2,000). A candidate drops out when it is behind the set as it stands by more than three standard errors of their paired difference, so that it cannot beat it, or behind the round's leader by more than four (the leader, the best of many noisy means, is flattered by its noise).

Where nothing but the set as it stands survives, the slot needs no confirmation; otherwise the race ends when four or fewer candidates are left after 500 iterations, or at 2,000, and the best four go to the confirmation above, on other random numbers than the race's, which alone decides a swap. The enchants and the talent and rotation screens race too.

Before the race, a slot's pool loses every item whose worth is all in its stats (no effect, no set, no profession) when another candidate of the slot is at least as good in every stat the build can use; in the ring and trinket slots and a dual wielder's hands two such items are needed, since the other slot may hold one, and weapons are compared only within their type and hand, at the same speed with at least the damage. The pools keep about 41 % of their items.

A simulation the search would run twice (the set as it stands, in every confirmation) is run once, since a simulation is fixed by its set, seed and iterations. Checked against the earlier screens, which simulated every candidate at 500 iterations and confirmed the best four, on ten builds and both factions on the one-minute fights, one boss and three: 26 of 34 searches ended on the same set, talents and rotation and seven more within 0.15 %; one Protection warrior took a path to another local optimum 0.5 % lower, which the guard put right.

The searches took a sixth of the computing time.

Weapon swaps (since 9 October 2026). Manual Crowd Pummeler (Forever: 50 % attack speed for 30 seconds on a three-minute cooldown, no charges) is the pool's one weapon whose use gives a buff long enough to swap for.

After every pass the search of every melee build and of the bears tries the set without a swap and with each such weapon worn at the pull, used at once and kept on until its buff ends, then the set's own weapons; main-hand candidates are measured with the swap as it stands.

The engine's item swap does the swapping: the swing timer starts again from the new weapon, a 1.5-second global cooldown runs, enchants, procs and talents follow the hands, and the buff ends when the weapon comes off.

On the saved sets it gave Retribution and Shockadin 2 to 2.6 % over three minutes and 0.7 to 1.8 % over one, the bear about 1.2 % threat, and Fury, Arms and Enhancement a loss, their weapon strikes losing more on the Pummeler's 29 damage per second than the haste gives. The benchmark's runs and My setup play the swap a result found.

My setup's gear picker sorts by the build's own stat weights, measured by bench weights on its searched setup for each fight in the build's own metric, the way the engine measures them: each stat added above and below the set on paired random numbers, about an item's worth at a time (20 points of most stats), with four seeds a side for the error. Forever pays gear hit and critical strike rating into the melee and the spell pool alike, so a point of either counts for both.

The weights are linear in the stats and cannot see procs, on-use effects or set bonuses, so where the search measured an item in a slot the picker counts the difference it measured; a two-hander counts less the off-hand it displaces, and a weapon of the race's weapon racial counts its critical strike.

Tanks and healers

A build's role sets what it is searched and ranked by: damage builds by DPS, tank builds by their focus and healer builds by healing per second. Each of the three tanks (Protection warrior, Protection paladin, feral bear) is three builds, each with its own talents, rotation and gear: Threat, Mitigation and Balanced (below); the Fury/Prot warrior is a fourth threat tank.

Each of the five healer specs (Holy paladin, Holy priest, Discipline priest, Restoration druid, Restoration shaman) is two builds, one for a single target and one for a party. The rankings carry a Tanking tab (threat, survival, damage taken and deaths) and a Healing tab for them, and every number for a tank or healer build states which metric it is.

Tanks

The harness lists the player as the raid's tank, so the benchmark boss (a 2-second swing, 3,000 base damage, and crushing blows, as a level-63 boss lands on a level-60 tank) attacks it, and gives the tank the engine's incoming-healing model at 2,000 healing per second, every second. The engine's own presim heal (150 % of damage taken) still lost 4-16 % of iterations to burst, so the explicit model is used instead.

A death only marks the iteration (the engine keeps the fight running), so threat is threat over the whole fight, and the Tanking tab's deaths view shows how often each searched set would have died. A tank that dies is not a tank, so on one boss the search and the talent screen weight the focus's measure by the chance of surviving the fight cubed (a point of death chance costs about three points of the measure), and any set that dies more than 5 % of the time ranks below every set that survives; without that rule the paladin ended up in cloth spell-power gear that died in 95 % of pulls.

The two plate tanks use a one-hander and a shield.

Survival (since 9 October 2026). At that healing a searched set hardly ever dies, so the death chance could not tell a tank set from a damage set: the threat paladin of 8 October still wore Bloodvine and took three of the boss's normal hits from full health. Every tank run is now measured for survival (the Tanking tab's survival view), from what the run itself returns, so the benchmark, a run in your browser and a community parse get the same numbers. Hits is the boss's normal hits (not critical, not crushing, not blocked) the tank takes from full health: its maximum health over the mean normal hit it took, which counts armor (the engine's constant against a level-63 attacker, 400 + 85 × 63, at most 75 %), stance, form, Righteous Fury and talents, and damage-reduction cooldowns and procs such as Vindication for the share of the fight they ran; EHP is the same in raw boss damage.

The boss's swings are counted over every iteration: avoided (miss, dodge, parry), blocked, critical and crushing. A level-63 boss crits 5.6 % of the time, less 0.04 % a point of defense above 300 (440 defense makes a tank crit-immune), and lands crushing blows (150 % damage) on 15 % of its swings unless miss, dodge, parry and block together reach 100 %, the 102.4 % a level-60 character sheet shows; Shield Block and Holy Shield get there while they run, a bear can neither block nor parry. Survival is hits over the square root of the mean swing (as a share of the mean normal hit: an avoided swing counts nothing, a crit two, a crush one and a half, a block a hit less the block value), in normal hits, so health and damage reduction count in full and the attack table at half: avoidance and blocks thin out the runs of landed swings that kill a tank, but do nothing against the run that comes anyway.

For the benchmark's sets the view also shows what only the harness can read, from the engine 1.5 seconds into a pull: the swing table before any cooldown, the EHP at the pull and the EHP with the build's defensive cooldowns running (Shield Wall and Last Stand, Templar's Bulwark, Barkskin), and the worst six seconds of boss damage as a share of health (the engine's Theck-Meloree index, before healing).

Since the optimisation that began on 9 October every tank build is searched on threat per second and Survival, weighed by its focus: Threat maximises threat × Survival0.1 (a percent of Survival is worth a tenth of a percent of threat: it breaks ties), Mitigation Survival × threat0.25 (a percent of threat is worth a quarter of a percent of Survival: a tank that cannot hold the boss has failed too, so among sets that live alike the one with damage on its stamina pieces wins), and Balanced threat × Survival, reported as threat per health bar (the threat it generates while the bosses land its Survival's normal hits): a percent of either is worth the same, close to halfway between the other two.

Every focus must take at least four normal hits from full health, below which the objective falls with the cube of the shortfall (on the one-minute boss the threat sets take four to five, the mitigation sets six or more), and the threat sets of the plate tanks wear plate, the threat bear leather. The death rule above stays. The 8 October sets, searched for threat, the least damage taken and threat per damage taken under the death rule alone, remain on a fight only until its optimisation.

Defensive cooldowns

Each warrior and bear rotation has a twin with them, which the screen weighs against it. The warrior's casts Shield Block whenever it is down (Forever's: 75 % more block chance for 7 seconds or two blocks, for 10 rage): on the 8 October sets it took the crushing blows from 15 % of the boss's swings to under 2 %, the damage taken down by 17 % and Survival up by 10 %, and gave the threat sets 1-7 % more threat (more blocks, more Revenge; the mitigation and balanced sets, short of rage, lost up to 3 %).

The bear's casts Barkskin whenever it is ready (20 % less physical damage for 15 seconds a minute: 5 % less damage taken for up to 4 % less threat). Shield Wall and Frenzied Regeneration below 40 % health and Last Stand below 30 % come along, though the healing model hardly lets health fall that low. The paladin's rotations already cast Holy Shield where the talents have it.

Improved Righteous Fury is no threat talent in Forever: while Righteous Fury is up it reduces all damage taken by 2, 4 or 6 % (the client's tooltip and talent curve, as the engine models it), which is why the threat paladins took only the points they needed to reach deeper talents; versions of their sets with all three points are among the candidates.

Healers

Five specs: Holy paladin, Holy priest, Discipline priest, Restoration druid and Restoration shaman, the two priests with their own talents, rotations and gear. Each has two builds, picked with the rankings' healer switch: Single target heals one target (itself) for the whole fight, so the score is raw single-target throughput under the fight's mana budget (pool, regeneration, mana potions, Demonic Runes and the class's mana cooldowns) and a group heal counts one target; Party heals a party of five (see below).

Both play every fight, whatever its number of bosses, with talents, rotations and gear searched for their focus. The targets are at full health and overhealing is not modelled.

Where the heals come from

The engine implements the paladin's heals only and ships the other healer specs as gear planners that cast nothing. Their heals here are an overlay of ours on the unmodified engine: every rank of Lesser Heal, Heal, Greater Heal, Flash Heal, Renew, Prayer of Healing, Power Word: Shield, Penance, Healing Touch, Regrowth, Rejuvenation, Swiftmend, Tranquility, Wild Growth, Healing Wave, Lesser Healing Wave, Chain Heal and Riptide is built from the client spell data the engine ships (base amount, coefficient, cost, cast time, duration), and every talent a character has taken is applied from the same data wherever its class mask names a heal.

Written by hand: Classic's coefficient penalty on ranks taught before level 20, Swiftmend's windows, and the hooks for Inner Focus, Clearcasting, Nature's Grace and Nature's Swiftness. The site's simulator is built with the same overlay, so the pages and the benchmark agree.

Shields count as healing

Nobody takes damage on the healer fights, so a shield's absorb counts in full when it lands, the way raw healing counts every heal in full. Power Word: Shield absorbs 928 plus 10 % of healing power at rank 10, raised by Improved Power Word: Shield, cannot critically strike and leaves Weakened Soul for 15 seconds, which no shield lands through (Soul Warding removes the shield's 4-second cooldown and some of its cost). Penance cast on an ally heals with three bolts, as the channel starts and once a second for two seconds, each its own critical strike, on the cooldown the damage Penance shares.

Renewed Hope gives Flash Heal, Lesser Heal, Heal, Greater Heal and Penance its extra critical strike chance on a target under Weakened Soul and takes its seconds off that Weakened Soul, so heals bring the next shield closer. Divine Aegis adds its share of every critical heal as a shield. Alone, the priest shields itself; with a party, each shield goes to the first member without Weakened Soul.

Not modelled for healers

Inspiration, Litany of Light, Prayer of Mending and Binding Heal; Water Shield, Ancestral Healing and Healing Stream Totem; healer set bonuses. Prayer of Healing, Chain Heal's jumps, Tranquility and Wild Growth are modelled and reach the whole party of a party build.

Healer rotations

Every rotation uses what is off cooldown, keeps its chosen heals over time running (Penance, and Power Word: Shield where it is an upkeep, whenever they are ready), casts its burst heal while mana is ahead of a straight line from full at the pull to empty at the end of the fight, and casts its filler heal otherwise, so the mix settles wherever the mana runs out as the fight ends. The screen simulates every combination of upkeep, burst heal and filler heal, ranks included, and keeps the best, so downranking, and whether a shield is worth its mana on a fight, is decided by simulation.

The cleave fights

Damage

Every build is screened on its single-target rotations and on cleave variants of them, and its gear is searched again on three bosses starting from its single-target set (each cleave fight from the five-minute cleave the harness keeps for them). The variants are the engine's rotations with explicit changes (written by tools/gen_cleave_apls.py): damage over time spread over the three bosses with the engine's multidot action (warlocks, shadow and smite priests, balance druids, hunters' Serpent Sting, the elemental shaman's Flame Shock; a warlock keeps Bane of Doom on its target and puts Bane of Agony on the other two bosses, since the two share a target's bane slot), Blizzard, Arcane Explosion, Flamestrike and Blast Wave for mages, Hurricane for balance, Magma Totem and Chain Lightning for enhancement, earlier Consecration for retribution, and Sweeping Strikes through a stance dance for Arms.

Rotations the engine itself writes for several targets need no variant: the warriors' Whirlwind and Cleave, the elemental shaman's Magma Totem and Chain Lightning, and since upstream's update of 9 October many more that turn to their area spells by the number of targets (Sweeping Strikes, Hurricane, Volley and Explosive Trap, Fire Nova, Cone of Cold and Blizzard, Hammer of the Righteous and Consecration); nor do automatic cooldowns (Blade Flurry). The screen keeps whichever wins, so a variant that loses to single-target play or to the engine's own rotation simply is not used.

Tanks

All three bosses attack the tank, each as hard as the single benchmark boss. No pre-raid tank survives three bosses landing their swings together, and no healing cadence prevents it (with 20,000 health every 0.1 s and crushing blows the warrior still dies in one pull in ten, the bear in one in five and the paladin in one in four), so the healing model keeps the tank topped up and the death chance shows how often the bosses' swings added up to more than the tank's health.

Survival cannot decide a tank's set there: the tanks keep the gear of the single-boss fight of the same length, which the survival rule chose, and their talents and rotation are screened for their focus's measure on three bosses (Cleave for the warrior, Consecration for the paladin). The rankings report threat and damage taken per boss, and the least-held boss.

Party healers

A party healer heals a party of five on every fight, one boss or three: itself and four party members (the engine's target dummies). It is screened only on its party rotations, which roll heals over time across the five and use the group heals: Prayer of Healing heals the whole party with a roll and a critical strike per member, Chain Heal jumps to two more members at half the heal each jump, Tranquility heals the party every two seconds of its channel, Wild Growth lands on five members.

Single-target heals the rotation casts on the healer rotate through the party. Healing is raw, on full-health targets, so the numbers are party throughput under the fight's mana budget; the paladin has no group heal.

Buff values

What a buff is worth. Every build is benchmarked in the full raid above; bench raidvalues simulates each build's searched setup (its faction's best race on the fight) in that raid and then without each raid buff, party buff, blessing and boss debuff in turn (without both of a pair that do not stack), the air totems by arrangement (none, Windfury, Grace of Air, both, twisted), and with each buff the benchmark raid does not carry added, at 4,000 iterations on shared random numbers, and the difference is what that buff is worth to it.

The rankings' Buff values tab shows it by buff or by build; a difference below 0.15 % (at least 0.5 DPS) is within the noise and shown as nothing. Healers are left out (the values are damage). The numbers say what a buff gives one build, not how to build a raid: a raid wants its buffs once each, from whoever brings them. The tab took the place of the Auras tab and of the raid compositions page on 9 October 2026.

Races

Racials as implemented by the engine: Human sword specialization (+2 % crit with swords) and +5 % Spirit; Dwarf mace specialization (+1 % crit), 5 % more damage to beasts; Gnome Expansive Mind and Eureka (on direct damage and channels only since client 70170); Night Elf Elune's Light (+10 % crit for 15 s, 3 min cooldown); High Order Skyborne +1 % attack and cast speed, 5 % more damage to elementals, Energized (mana regeneration); Orc axe specialization (+1 % crit), Blood Fury (+10 % attack and spell power for 15 s, 2 min); Tauren +1 % hit; Troll Berserking (+10 % haste for 10 s, 3 min), 5 % more damage to beasts; Undead Touch of the Grave; Windshaper Skyborne the shared Skyborne passives.

The target is a dragonkin, so the beast and elemental slaying passives do nothing here. Where the race matrix measured it, the rankings' Races tab also shows what each race's racials add: the same setup simulated again with the racials turned off.

Where the numbers are

Every page reads the same results: the benchmark's runs of every build on every fight, the runs you make in this browser and, where you include them, the community's verified parses. The fight is chosen once, with the fight picker in the bar under the header, and every page and link keeps it; a page that cannot show a fight says so and shows the nearest one it can. Beside it the gear set picks the pool the benchmark's sets come from: Pre-raid, or Pre-raid + PvP (the same pool with Forever's PvP rank rewards); a fight's PvP set shows once the optimisation has searched it, and is marked soon until then.

Rankings

The rankings open on an overview by role: the damage builds by damage per second, the tanks by the focus picked above their section (threat, Survival or threat per health bar) and the healers by healing per second, each build with its number, its standard error and its share of the best of its role on the fight, coloured as Warcraft Logs colours its percentiles; a strip above names each role's leader.

The detail tabs show the fight in the shape of a combat-log report: Damage (by build, by boss on the cleave fights, each build's abilities under its row), Healing, Tanking (threat, survival, damage taken and deaths), Casts & timeline (every build's casts, and when it used its cooldowns and consumables in its first iteration), Buff values (what each raid buff and debuff is worth to each build, above), Resources, Statistics (each build's spread over the iterations as a box plot, from the worst through the middle half to the best, and its item level against its result), Gear (the items and enchants the searched sets wear per slot), Talents (a heat map per class) and Races (every race the matrix simulated, with its interval).

The bar under the header picks the role where a tab lists several, the faction on Buff values and Races, and whether your own runs take a build's row where they score better. All fights ranks every build over the fights optimised on the current engine at once by Warcraft Logs' All-Star points.

Build pages

Each build has one page, opened from its name anywhere on the site. Benchmark, the default, is the setup the search found for the fight, read-only: Overview (what the build does by ability and over the fight with its cooldowns, its attack table, its character sheet and caps, the history of its benchmark score and a comparison with another build), Report (the combat-log views of the benchmark's saved run that can have data for the build's role: damage done, targets, healing, damage taken, threat, a tank's deaths with its health and death recap, casts with a timeline, buffs, debuffs, resources and the first iteration's events), Gear (the set, its weapon swap if it has one, the next best items per slot and where every item comes from), Talents, Rotation (the cleaned priority list the benchmark plays, in words, to copy or download), Buffs & consumables, and Races.

My setup is an editable copy of that setup in the simulator itself, which runs in your browser on the same engine: the gear picker, the talent trees, the rotation editor, the buffs and consumables and the settings, with what you changed from the benchmark marked and Reset to benchmark to load it back. On a fight with no searched setup of its own (one you made), My setup starts from the benchmark's setup for one boss over three minutes and is compared with it, and says so.

The Simulate rail beside it (a bar at the bottom of a phone's screen) holds the benchmark's number, your run's with its standard error, the difference between them (within two standard errors of the difference the two cannot be told apart) and the iterations; after a run, Overview and Report hold your run against the benchmark's, ability by ability. Submit to community sends a run's setup to the community service, which simulates it again under the benchmark's own rules (its fight, buffs, consumables and iterations) and publishes the number it measures.

Fights

The fights page, opened from the fight picker's "Manage fights", lists the six built-in fights with their boss and timing (one not yet optimised on the current engine is marked soon, as in the fight picker), and the fights you make yourself (a copy of a built-in one to change, or a new one); it simulates every build on one of them, and the rankings then show your runs.

Community parses

The community parses are setups other players submitted, simulated again by the community service under the benchmark's rules: the best on each fight by their gain over their own build's benchmark row, the latest, and your own, filtered by fight, role, class, item pool or content phase and time. The service takes a setup's gear, talents, rotation, race and a few class choices and nothing else; a weapon swap is not part of a parse, so a parse plays its set's own weapons all fight.

Each has a page with its verified result on every fight it asked for, its report, and Open in sim. A parse takes a build's row in the rankings only with Include community parses on, only inside the known-item pool, and only where it beats the same simulator's benchmark row by more than two standard errors.

Questions and caveats

What the numbers leave out, and what people ask about them.

Can I trust a small difference between two builds?

Beta data. Forever is in a level-capped beta; level-60 abilities, set bonuses and item procs are simulated from client data and Classic behaviour, and the engine is updated daily. Re-run after pulling the engine before trusting a small difference.

Why is an item I know missing?

Only items with published Forever stats are used. Many Classic dungeon items are not in Wowhead's Forever data yet (they have not been seen in the beta client), so the pool is thinner than a level-60 launch pool will really be; rankings can shift as the data fills in.

Do item procs and set bonuses count?

Item and set effects only count when the engine implements them; an unimplemented proc leaves the item with its plain stats.

Is movement or switching targets modelled?

Single target, patchwerk-style. No movement, no target switching: the cleave fights' three bosses stand side by side and stay up together. Damage builds ignore threat and survival; tanks are measured on threat, survival against the boss's melee or both, with the healing model keeping them alive, and healers heal full-health targets.

Are these the best talents and rotations?

Talents and rotations are the sim's presets and search results, not necessarily the community's final theorycraft.

How precise is a number?

Every published number is the average of 5,000 simulated fights of the same setup (10,000 on the one-minute fights). The standard error of a result is typically around 1 DPS, so builds a point or two apart are level. The rankings' Statistics tab shows each build's spread over the iterations.

Why does a build wear different gear on different fights?

Each fight is optimised on its own: talents, rotations and gear are searched again for every fight, starting from the fight closest to it, so a build's setup for one minute of burst can differ from its three-minute one. Fights and environment says how.

Which builds use an item?

The rankings' Gear tab lists the items and enchants the searched sets wear on the chosen fight, slot by slot, and each build page's Gear tab its set, the next-best items for each slot and where every item comes from.

Can I simulate my own character?

Yes. Every build's page has My setup: the benchmark setup to change (gear, talents, rotation, buffs and consumables) and simulate in your browser on the same engine. Your runs stay in this browser; with Include my runs on, they replace a build's row in the rankings where they score better.

Who runs this

SixtySim is a hobby project by one Forever player. All of it is free and stays free: no ads, no accounts, nothing behind a paywall, and your own sims run in your browser.

Hosting costs about $20 a month. If the site saves you some time, a tip on Ko-fi helps cover it; nothing is unlocked by it.

Skip to content
SixtySim

Method

How the numbers on this site are produced, and what they are not.

engine ac5b5455,000 iterations9 Octclient 1.60.1.702911,742 items in the pool

In short

  • Simulated, not logged

    Every number is simulated on the WoWSims-based Forever engine (commit ac5b545, 9 October 2026), with spell data from the Forever client (build 1.60.1.70291).

    Engine
  • Six fights

    One boss for 3 min, 2 min and 1 min; three bosses for 3 min, 2 min and 1 min. Each fight has setups searched for it.

    Fights and environment
  • Known items only

    1,742 of the 4,878 items at item level 55 or above are in the pool; raid drops and crafts from raid materials, PvP rank gear (the Pre-raid + PvP set adds Forever's rank rewards), later-phase content and items without a published Forever source are left out.

    Item policy: known items only
  • Searched setups

    Every build's gear, talents and rotation are found by simulation, for each faction and each fight.

    Gear search
  • 5,000 iterations

    For every published number (10,000 on the one-minute fights), with full raid buffs and debuffs and each spec's consumables. No world buffs.

    Fights and environment
  • A metric per role

    Damage builds by damage per second; tanks by threat, survival or both; healers by healing per second, on one target or a party of five.

    Tanks and healers

Engine

Every number comes from a WoWSims-based simulator whose spell data is generated from the Forever client tables (client build 1.60.1.70291), at commit ac5b545045650ec4aac4fa98d9ed13b410a630bf (2026-10-09: "core: a spell's hardcast completion is made once"). That is upstream 2ce826577c, whose spell, talent and item tables are still client 1.60.1.70245's with the hotfixes of 8 October 2026 (upstream changed only the build's name to 70291), plus 42 commits of ours (among them the tests they move and the item database regenerated for them): changes of client build 70170 that upstream does not carry, a fix of 6 October, and the fixes of 7 and 9 October below.

The 70170 changes were each checked against the client tables: Tiger's Fury is gone (the patch notes say removed and the client no longer teaches it; upstream still casts it as a free 15 % damage buff), Swipe gains 3 % of attack power and Primal Bite's threat is doubled (patch notes; the client rows state neither) from plain damage threat, and Lacerate and Swipe generate plain damage threat: the higher multipliers upstream gives the three (1.5, 3.33 and 2) are Season of Discovery's, nothing in Forever's data or measurements carries them, and the engine's own rule for threat nobody has measured is none (it brought the warrior's Revenge and Thunder Clap down to plain threat once they were measured), Howling Idol and Idol of Shifting Tides are implemented and Idol of Brutality no longer discounts Primal Bite, Inner Focus' critical strike bonus follows the client's mask (off Shadow Word: Pain and Devouring Plague, on Mind Flay), and the Scroll of Cryoblast deals its rebalanced 104 to 140.

Everything else of that patch (rage from critical strikes, Shifting Power, the Fury tree, Eureka!, Champion of the Light, Hellfire) is upstream's own implementation. The fix of 6 October: Rapid Recuperation, Resourcefulness and Improved Stormstrike now return the mana their buffs promise (the engine kept its regeneration rate cached and never refreshed it when those buffs came and went, so they gave nothing).

On 7 October the engine was compared with MythicSim's fork of the same simulator, and the fixes of theirs that hold against the client data or a beta measurement were taken, each with its test: a rotation line that names Heroic Strike, Cleave, Maul or Raptor Strike without its queue tag queues the ability on the next swing (the engine fired it at once, off the global cooldown and on top of the white swing, so a Heroic Strike-only rotation read 139 DPS against 84 queued); Iceblade Hacker and Warblade of Caer Darrow proc only from their own hand, and they and Ta'Kierthan Songblade lose Classic's second damage roll (Forever gives Iceblade Hacker an equip effect instead, so the roll counted twice); an empty weapon slot never swings; Holy Nova's heal can critically strike without stopping the simulation (upstream has since made the same fix); a druid's flat weapon damage (the +9 weapon damage enchant, a main-hand sharpening stone or weightstone) lands in full on every paw hit; Wolfshead Helm gives its Energy on Shifting Power and its Rage on Enrage, as the client states, not on every shift; demons inherit their warlock's spell hit and critical strike in full, 10 % of its spell power as spell power and 17 % as attack power (beta readings: the client's scaling passive leaves the amounts to the server); Demonic Brand's charges belong to the target Searing Pain branded; a spell of two schools takes its school hit bonus once and meets the lower resistance (Frostfire Bolt now gets Elemental Precision); hunters have Aspect of the Beast, Forever's melee aspect, and Lacerating Strikes' bleed no longer ticks for nothing after the first; the human, orc and dwarf weapon specializations leave Auto Shot alone (a beta test of over 500 Auto Shots); Totem of Thunder adds its 1 % critical strike to Lightning Bolt and its overload; Dark Sacrifice is the Undead priest's alone; and Enhancement shamans cannot dual wield.

Two additions change no result: a switch that turns a character's racials off, for what each race's racials are worth, and the spread of every ability's hits and crits.

On 9 October upstream's newer data came in, and with it fixes of ours to the item data and to weapon swaps. Forever marks its caster weapons in a flag word of the client's item table that the other clients do not have, and the game gives them two thirds (one-handers) to three quarters (two-handers) of a melee weapon's damage and a spell damage and healing bonus no stat of the row states; the item database had given them full melee damage and no bonus (Sageblade 58 to 109 and nothing, where the game has 39 to 73 and +94), and the client's 165 caster weapons now take the damage and spell power Wowhead's Forever planner gives them (the few it does not list stay as they were).

The items the client does not ship, which the database took from Classic's, take the planner's weapon damage, speed and school spell power where Forever changed them (Mograine's Might 105 to 159 at 3.4 seconds, Bad Mojo Mask's +20 Shadow spell power). Negative stat allocations count, as the tooltips show them (Lapidis Tankard of Tidesipper's -15 Agility, Half-Eaten Boots' -100 armor). Taking an item off ends what its use gave (the engine kept Manual Crowd Pummeler's haste through a swap), and a warrior's Whirlwind strikes with whatever off hand a weapon swap leaves it holding.

Two more commits make a simulation allocate less memory and change no result. The harness that runs the benchmark carries one engine commit more, 1ef9a8f996, on a branch of its own until the optimisation under way since 9 October is over: every simulation kept a pool of its pending actions that held the finished simulation in memory for two more garbage collections, which thousands of short raced simulations (below) piled up into gigabytes per process; it changes no result, to the last bit.

The engine is linked as a library by a small Go harness that builds the requests, runs the searches and writes the matrix; apart from the changes named above and the healers' heals (below), the harness never changes engine mechanics.

Fights and environment

  • One level-63 dragonkin boss with 3,731 armor for three minutes, execute range for the last 20 % (35 % for spells that care), the player starts at its build's distance (5 yards melee, 20-30 casters and hunters). The same boss for two minutes and for one minute are the other single-target fights: the shorter they are, the more cooldowns, opening resources and the mana pool decide over sustained play.
  • Cleave: three copies of that boss side by side for three minutes, two minutes or one minute, all present for the whole fight, every raid debuff on each. Positions are not modelled, so an area spell reaches all three bosses; since the engine models spell ranges, casters and healers stand 8 yards from the bosses there, within reach of the point-blank ones (Arcane Explosion, Blast Wave, Hellfire, Holy Nova), and melee abilities (Consecration, Swipe, Thunder Clap, Whirlwind) reach them from melee range.
  • Every fight has its own optimisation (see below), and a fight shows only once it has had one on the current engine: since 9 October 2026 the fights are optimised one length at a time, the one-minute fights first, and the fight picker marks the others soon until their run. Each has its own talent sets, tuned rotations and gear search for every build, each starting from a five-minute fight the harness keeps for it (one boss for the single-target fights, three bosses for the cleave fights; the site does not show them). Fewer seconds simulate in less time, so the one-minute fights run twice the iterations at every step. The base fight, whose setups a fight of your own starts from, is one boss for three minutes, or while that fight waits for its run the first fight that has had one: now one boss over three minutes.
  • Gear sets: every fight is searched in the pre-raid pool (below), and again with the "Pre-raid + PvP" gear set, the same pool with Forever's own PvP rank rewards. A fight's PvP twin plays its pre-raid fight's talents and rotations, starts its gear search from that fight's set once that fight is done, and is guarded against that set: it may wear everything the pre-raid set wears, so it never ends below it. A tank on three bosses keeps the one-boss PvP set of the same length.
  • Full raid buffs (Arcane Brilliance, Fortitude, Spirit, Shadow Protection, Gift of the Wild, Thorns), party buffs (Battle Shout, Blood Pact, Devotion, Retribution, Leader of the Pack, Moonkin Aura, Trueshot, Strength of Earth, improved Mana Spring, and Windfury Totem for melee or Grace of Air for everyone else since a party holds one air totem), Greater Blessings of Kings, Might and Wisdom, and the standard raid debuffs (Sunder and Expose Armor, Faerie Fire, Curse of Recklessness and Elements, the three Judgements, Demoralizing Roar/Shout, Thunder Clap, Insect Swarm, Scorpid Sting).
  • Consumables are each spec's default set (flask, elixirs, Blasted Lands buff, food, potion, conjured item, weapon oils, poisons or sharpening stones); every build page lists them. Hunters shoot Thorium arrows or shells to match the weapon.
  • 5,000 iterations for every published number, 10,000 on the one-minute fights (above); the standard error of a cell is typically around 1 DPS.

Item policy: known items only

The pool is built from the engine's item database, filtered by Wowhead's Forever gear-planner snapshot that ships with the engine. An item is admitted when Wowhead lists it for Forever and records a source that is obtainable before the first raid tier opens. Nothing is invented: no placeholder items, no "modelled" stat budgets, no Classic items whose Forever stats have not been published. Of the 4878 database items at item level 55 or above, 1742 are in the pool, the "Pre-raid" gear set.

The "Pre-raid + PvP" set adds 286: Forever's own PvP rank rewards, each for its own faction (the Premier elite armor of ranks 8 to 13, the rank-14 Grand Marshal's and High Warlord's weapons and the rank-4 insignia), and nothing else: not the legacy Classic rank items, which Forever's rank vendor replaces with the Premier ones, and no raid, later-phase or unsourced item.

  • Dungeon
    In the pool
    In the pool
    What it means
    drops inside five-man instances
    Items
    102
  • Quest
    In the pool
    In the pool
    What it means
    quest rewards; quests that need a raid boss or raid-zone quest categories are excluded
    Items
    211
  • Crafted
    In the pool
    In the pool
    What it means
    profession recipes (the character is assumed to have access to the crafter), except those made from materials only raids drop (Molten Core's Fiery and Lava Cores and Core Leather, Scale of Onyxia, Zul'Gurub's Bloodvine, Souldarite and primal leathers, the Ahn'Qiraj ruins' obsidian shards, Naxxramas's Frozen Rune) or from a recipe only a raid drops: those are raid
    Items
    403
  • Vendor
    In the pool
    In the pool
    What it means
    vendors and reputation quartermasters, including the new Forever factions; Brood of Nozdormu, Zandalar Tribe and Hydraxian Waterlords rewards are raid-gated and excluded
    Items
    97
  • PvP
    In the pool
    In the pool
    What it means
    honor purchases with no rank requirement (the Forever "Premier" blue sets bought with Marks of Honor and Honor Points, Sergeant's cloaks) and battleground reputation rewards, each for its own faction (Warsong Gulch's quartermasters included, whose Horde wares carry rank titles but need no rank)
    Items
    368
  • World drop
    In the pool
    In the pool
    What it means
    world drops with published Forever stats
    Items
    561
  • PvP rank
    In the pool
    Left out
    What it means
    honor gear that needs a PvP rank and the legacy rank vendors; Forever's own rank rewards among it are what the "Pre-raid + PvP" gear set adds
    Items
    694
  • Raid
    In the pool
    Left out
    What it means
    Molten Core, Onyxia's Lair, Blackwing Lair, Zul'Gurub, Ahn'Qiraj, Naxxramas and world-boss drops and their quest rewards, including the Ahn'Qiraj ruins' quests that Wowhead files under Silithus (Armaments of War, The Perfect Poison), the drops Wowhead records by the raid's zone alone (Ring of Spell Power, Talisman of Ephemeral Power and Heavy Dark Iron Ring among them, world drops until 9 October 2026), and the crafts from raid materials or raid recipes
    Items
    519
  • Later phase
    In the pool
    Left out
    What it means
    content of Ahn'Qiraj's time, a much later phase than launch: the war effort's rewards (Cenarion Circle Field Duty battlegear, among them Earthstrike) and the Silithus that Classic shipped with Ahn'Qiraj (Cenarion Hold's quests, the Abyssal Council's lords, among them Wavefront Necklace, the Twilight's Hammer cultists' sets, and the Cenarion Circle's Sandstalker and Spitfire leatherworking from Silithus materials)
    Items
    35
  • Above pre-raid
    In the pool
    Left out
    What it means
    item level above 66 outside a dungeon: later-tier vendor and quest gear that happens to be in the data
    Items
    19
  • No source yet
    In the pool
    Left out
    What it means
    listed for Forever but Wowhead records no source yet
    Items
    163
  • Not in the planner
    In the pool
    Left out
    What it means
    not in the Forever planner at all; only Classic-era data exists for them, so their Forever stats are unverified. Since Wowhead's refresh of 8 October 2026 this includes the Season of Discovery rows the planner dropped (Season of Discovery's copies of the dungeon set 0.5 pieces, its Timbermaw, Argent Dawn and Argent Elite reputation gear, its PvP sets)
    Items
    1,706

Enchants: those Wowhead's Forever planner lists. Forever ships every enchant as a scroll item without source data, so the planner's list stands for what Forever has; since its refresh of 8 October 2026 it no longer lists the 24 Season of Discovery enchants the engine's database carries (Enchant Cloak - Agility, Bracer - Greater Spellpower, 2H Weapon - Spellblasting, the off-hand and shield enchants, the four "Grand" proc enchants and the tinkers), and neither does the pool.

Of the rest, the raid-derived recipes are left out (Zul'Gurub and Naxxramas inscriptions, the Zul'Gurub glove enchants, the Molten Core Spellpower and Healing Power formulas, Mighty Intellect and Mighty Spirit, the Ahn'Qiraj cloak formulas, the Biznicks scope); Forever's necklace enchants are in.

The engine's item database took many rows from an older snapshot written with a different stat numbering, so in those rows every stat from armor up sat one place too high (armor read as bonus armor, health as mana, mana as mana per 5 seconds, each resistance as the next), and the armor of many items was lost altogether.

The database is corrected here (the engine's tools/database/migrate_legacy_stat_indices.py, after every engine update, which also applies the caster weapons, the planner's corrections and the negative stats of 9 October above), so items, enchants and random suffixes count with their real stats; the four Lesser Arcanums the old rows misstated (Rumination, Constitution, Tenacity, Resilience) are back in the pool.

The item classification lives in tools/availability.py, whose report lists every rule's items.

My setup's item picker phases every item by the same classification, as Forever's content tiers: Launch is everything above outside the raids and the war effort; Tier 1 is Forever's first raids, Molten Core and Onyxia's Lair, with the world bosses; Forever has not said what Tiers 2 and 3 hold, so the later classic raids keep their classic order there (Blackwing Lair, Zul'Gurub, the ruins of Ahn'Qiraj and the war effort in Tier 2; Ahn'Qiraj and Naxxramas in Tier 3), and gear above the pre-raid item level with no raid source goes by its item level. Picking a tier shows it and every tier before it.

Builds, talents and rotations

The roster has 45 builds: 25 damage builds, 10 tank builds and 10 healer builds. Each damage spec has one build, its best setup (since 8 October 2026: the two-hand and no-Recklessness warriors, the dagger rogue, the Classic-gear paladin and the ranged survival hunter were dropped, each a variant its spec's best build made redundant), and the hybrids are builds of their own: Shockadin, Stormcaller, DS/Ruin, Smite, the Fury/Prot warrior and, since 9 October 2026, Frostfire, a Fire and Frost mage around Frostfire Bolt (Forever's trained spell, which no other build's rotation casts, so no talent climb could reach it).

A tank has a build per focus (threat, mitigation, the balance of the two) and a healer a build per target (one, or a party of five). The rankings show one row per spec, named for it ("Fury Warrior"), and a tank row by its talents ("Ret/Prot Paladin" when Retribution holds more points than Protection). Each build lists several candidate talent sets: the engine's community presets and the best variants an automated talent search reported.

The candidates are screened by simulation, first on the set the gear search starts from and again on the set it found, together with every applicable rotation preset (APL), and the best combination is used; since 9 October the screen races its combinations as the gear search races items (below). Talents are therefore "tested profiles", not a proof of the optimal tree.

After every engine change (client 70170 on 2 October 2026, upstream's data and fixes on 4, 6 and 9 October) every build's talent sets are also hill-climbed by simulation on its searched gear, on every fight separately: each round measures what every spent point and every point that could still be spent is worth, simulates the swaps those rank best and takes the best of them, all on one random seed.

Since 9 October a round measures those points at a quarter of the iterations first and again at full iterations only for the 24 most promising swaps, and the climb still stops on full-iteration figures (on six builds of the one-minute boss the climbs ended on the same talents but for one point worth 0.02 %, for 60 % of the work).

The best set joins that fight's candidates as "Tuned a/b/c · 2 min" and so on; every damage and tank rotation's numeric thresholds (energy, rage and mana thresholds, time windows) are tuned the same way on every fight from the engine's current rotation, and the tuned rotation joins that fight's screen beside the original. A fight screens its own sets and rotations and the ones of the fight it starts from, so each fight's result is its own, and My setup on each build's page offers every fight's gear, talents and rotation to switch between (Load a setup, and the talent and rotation lists name the fight each was found on).

The gear searches then run again from each build's own last set, and a guard re-simulates every build's previous setup on the new engine beside its new result and searches again from the previous setup wherever that simulates better, so no build comes out of an update below the setup it had (less any item the pool has dropped since, which the guard takes out of the previous setup too).

No rotation casts a rank below spell level 20: 70170 states that ranks far below the caster's level lose most of their spell power and their chance to proc talents, which the engine does not model, so the rank-2 Smite, Fireball and Lightning Bolt rotations that used to win those screens are left out (they remain selectable in My setup).

Since 9 October 2026 a result is run and shown with a cleaned copy of the rotation it was found with. A rotation is written for many setups (the engine's, then tuned for the build), so it holds lines for talents, trinkets, races and fights the setup does not have, lines a raid buff makes pointless (Battle Shout under the party's, Sunder Armor under the raid's) and lines the build never reaches. bench aplclean simulates each result the way the benchmark does (every race of the faction, the matrix's seed and iterations), takes out the hidden lines and the lines no race of the faction casts, and keeps a cut only where every race's result stays identical, metric for metric; a line whose removal changes anything stays, and a line only some of the races cast (an Orc's Blood Fury) stays with a note.

The benchmark's runs, their reports and a build page's Rotation tab play the cleaned copy while the result is still the one it was made for; the screens, climbs and tunes work on the full rotation.

For every build and faction the search starts from the set it found last time on the fight; a first search starts from the other faction's result, else the result of the fight it inherits from, else the engine's launch preset. Anything outside the pool is taken out and an emptied slot filled.

The search walks the slots (weapons first), races every admissible item of each slot against the set as it stands (below), confirms the race's survivors against it at 3,000 iterations with a shared random seed, and keeps a swap only when it gains at least 0.1 %. It repeats over the slots until nothing improves, at most four passes (later passes re-check the 24 best candidates per slot), then does the same for enchants, and finally re-simulates the set at 5,000 iterations.

Rings, trinkets and unique-equipped categories respect the game's limits; two-handers empty the off hand; hunters and feral druids may use either a two-hander or a one-hander with an off-hand. The result is a strong local optimum, not an exhaustive combination search. Each slot's three best other items from its last race are then simulated in the final set at 1,000 iterations on one random seed, and every build page shows them as the next-best items, with the difference each makes in the build's own metric.

Racing (since 9 October 2026). Every candidate and the set as it stands run 100 iterations on the same random numbers, iteration by iteration, and the survivors run twice as many again (200, 400, up to 2,000). A candidate drops out when it is behind the set as it stands by more than three standard errors of their paired difference, so that it cannot beat it, or behind the round's leader by more than four (the leader, the best of many noisy means, is flattered by its noise).

Where nothing but the set as it stands survives, the slot needs no confirmation; otherwise the race ends when four or fewer candidates are left after 500 iterations, or at 2,000, and the best four go to the confirmation above, on other random numbers than the race's, which alone decides a swap. The enchants and the talent and rotation screens race too.

Before the race, a slot's pool loses every item whose worth is all in its stats (no effect, no set, no profession) when another candidate of the slot is at least as good in every stat the build can use; in the ring and trinket slots and a dual wielder's hands two such items are needed, since the other slot may hold one, and weapons are compared only within their type and hand, at the same speed with at least the damage. The pools keep about 41 % of their items.

A simulation the search would run twice (the set as it stands, in every confirmation) is run once, since a simulation is fixed by its set, seed and iterations. Checked against the earlier screens, which simulated every candidate at 500 iterations and confirmed the best four, on ten builds and both factions on the one-minute fights, one boss and three: 26 of 34 searches ended on the same set, talents and rotation and seven more within 0.15 %; one Protection warrior took a path to another local optimum 0.5 % lower, which the guard put right.

The searches took a sixth of the computing time.

Weapon swaps (since 9 October 2026). Manual Crowd Pummeler (Forever: 50 % attack speed for 30 seconds on a three-minute cooldown, no charges) is the pool's one weapon whose use gives a buff long enough to swap for.

After every pass the search of every melee build and of the bears tries the set without a swap and with each such weapon worn at the pull, used at once and kept on until its buff ends, then the set's own weapons; main-hand candidates are measured with the swap as it stands.

The engine's item swap does the swapping: the swing timer starts again from the new weapon, a 1.5-second global cooldown runs, enchants, procs and talents follow the hands, and the buff ends when the weapon comes off.

On the saved sets it gave Retribution and Shockadin 2 to 2.6 % over three minutes and 0.7 to 1.8 % over one, the bear about 1.2 % threat, and Fury, Arms and Enhancement a loss, their weapon strikes losing more on the Pummeler's 29 damage per second than the haste gives. The benchmark's runs and My setup play the swap a result found.

My setup's gear picker sorts by the build's own stat weights, measured by bench weights on its searched setup for each fight in the build's own metric, the way the engine measures them: each stat added above and below the set on paired random numbers, about an item's worth at a time (20 points of most stats), with four seeds a side for the error. Forever pays gear hit and critical strike rating into the melee and the spell pool alike, so a point of either counts for both.

The weights are linear in the stats and cannot see procs, on-use effects or set bonuses, so where the search measured an item in a slot the picker counts the difference it measured; a two-hander counts less the off-hand it displaces, and a weapon of the race's weapon racial counts its critical strike.

Tanks and healers

A build's role sets what it is searched and ranked by: damage builds by DPS, tank builds by their focus and healer builds by healing per second. Each of the three tanks (Protection warrior, Protection paladin, feral bear) is three builds, each with its own talents, rotation and gear: Threat, Mitigation and Balanced (below); the Fury/Prot warrior is a fourth threat tank.

Each of the five healer specs (Holy paladin, Holy priest, Discipline priest, Restoration druid, Restoration shaman) is two builds, one for a single target and one for a party. The rankings carry a Tanking tab (threat, survival, damage taken and deaths) and a Healing tab for them, and every number for a tank or healer build states which metric it is.

Tanks

The harness lists the player as the raid's tank, so the benchmark boss (a 2-second swing, 3,000 base damage, and crushing blows, as a level-63 boss lands on a level-60 tank) attacks it, and gives the tank the engine's incoming-healing model at 2,000 healing per second, every second. The engine's own presim heal (150 % of damage taken) still lost 4-16 % of iterations to burst, so the explicit model is used instead.

A death only marks the iteration (the engine keeps the fight running), so threat is threat over the whole fight, and the Tanking tab's deaths view shows how often each searched set would have died. A tank that dies is not a tank, so on one boss the search and the talent screen weight the focus's measure by the chance of surviving the fight cubed (a point of death chance costs about three points of the measure), and any set that dies more than 5 % of the time ranks below every set that survives; without that rule the paladin ended up in cloth spell-power gear that died in 95 % of pulls.

The two plate tanks use a one-hander and a shield.

Survival (since 9 October 2026). At that healing a searched set hardly ever dies, so the death chance could not tell a tank set from a damage set: the threat paladin of 8 October still wore Bloodvine and took three of the boss's normal hits from full health. Every tank run is now measured for survival (the Tanking tab's survival view), from what the run itself returns, so the benchmark, a run in your browser and a community parse get the same numbers. Hits is the boss's normal hits (not critical, not crushing, not blocked) the tank takes from full health: its maximum health over the mean normal hit it took, which counts armor (the engine's constant against a level-63 attacker, 400 + 85 × 63, at most 75 %), stance, form, Righteous Fury and talents, and damage-reduction cooldowns and procs such as Vindication for the share of the fight they ran; EHP is the same in raw boss damage.

The boss's swings are counted over every iteration: avoided (miss, dodge, parry), blocked, critical and crushing. A level-63 boss crits 5.6 % of the time, less 0.04 % a point of defense above 300 (440 defense makes a tank crit-immune), and lands crushing blows (150 % damage) on 15 % of its swings unless miss, dodge, parry and block together reach 100 %, the 102.4 % a level-60 character sheet shows; Shield Block and Holy Shield get there while they run, a bear can neither block nor parry. Survival is hits over the square root of the mean swing (as a share of the mean normal hit: an avoided swing counts nothing, a crit two, a crush one and a half, a block a hit less the block value), in normal hits, so health and damage reduction count in full and the attack table at half: avoidance and blocks thin out the runs of landed swings that kill a tank, but do nothing against the run that comes anyway.

For the benchmark's sets the view also shows what only the harness can read, from the engine 1.5 seconds into a pull: the swing table before any cooldown, the EHP at the pull and the EHP with the build's defensive cooldowns running (Shield Wall and Last Stand, Templar's Bulwark, Barkskin), and the worst six seconds of boss damage as a share of health (the engine's Theck-Meloree index, before healing).

Since the optimisation that began on 9 October every tank build is searched on threat per second and Survival, weighed by its focus: Threat maximises threat × Survival0.1 (a percent of Survival is worth a tenth of a percent of threat: it breaks ties), Mitigation Survival × threat0.25 (a percent of threat is worth a quarter of a percent of Survival: a tank that cannot hold the boss has failed too, so among sets that live alike the one with damage on its stamina pieces wins), and Balanced threat × Survival, reported as threat per health bar (the threat it generates while the bosses land its Survival's normal hits): a percent of either is worth the same, close to halfway between the other two.

Every focus must take at least four normal hits from full health, below which the objective falls with the cube of the shortfall (on the one-minute boss the threat sets take four to five, the mitigation sets six or more), and the threat sets of the plate tanks wear plate, the threat bear leather. The death rule above stays. The 8 October sets, searched for threat, the least damage taken and threat per damage taken under the death rule alone, remain on a fight only until its optimisation.

Defensive cooldowns

Each warrior and bear rotation has a twin with them, which the screen weighs against it. The warrior's casts Shield Block whenever it is down (Forever's: 75 % more block chance for 7 seconds or two blocks, for 10 rage): on the 8 October sets it took the crushing blows from 15 % of the boss's swings to under 2 %, the damage taken down by 17 % and Survival up by 10 %, and gave the threat sets 1-7 % more threat (more blocks, more Revenge; the mitigation and balanced sets, short of rage, lost up to 3 %).

The bear's casts Barkskin whenever it is ready (20 % less physical damage for 15 seconds a minute: 5 % less damage taken for up to 4 % less threat). Shield Wall and Frenzied Regeneration below 40 % health and Last Stand below 30 % come along, though the healing model hardly lets health fall that low. The paladin's rotations already cast Holy Shield where the talents have it.

Improved Righteous Fury is no threat talent in Forever: while Righteous Fury is up it reduces all damage taken by 2, 4 or 6 % (the client's tooltip and talent curve, as the engine models it), which is why the threat paladins took only the points they needed to reach deeper talents; versions of their sets with all three points are among the candidates.

Healers

Five specs: Holy paladin, Holy priest, Discipline priest, Restoration druid and Restoration shaman, the two priests with their own talents, rotations and gear. Each has two builds, picked with the rankings' healer switch: Single target heals one target (itself) for the whole fight, so the score is raw single-target throughput under the fight's mana budget (pool, regeneration, mana potions, Demonic Runes and the class's mana cooldowns) and a group heal counts one target; Party heals a party of five (see below).

Both play every fight, whatever its number of bosses, with talents, rotations and gear searched for their focus. The targets are at full health and overhealing is not modelled.

Where the heals come from

The engine implements the paladin's heals only and ships the other healer specs as gear planners that cast nothing. Their heals here are an overlay of ours on the unmodified engine: every rank of Lesser Heal, Heal, Greater Heal, Flash Heal, Renew, Prayer of Healing, Power Word: Shield, Penance, Healing Touch, Regrowth, Rejuvenation, Swiftmend, Tranquility, Wild Growth, Healing Wave, Lesser Healing Wave, Chain Heal and Riptide is built from the client spell data the engine ships (base amount, coefficient, cost, cast time, duration), and every talent a character has taken is applied from the same data wherever its class mask names a heal.

Written by hand: Classic's coefficient penalty on ranks taught before level 20, Swiftmend's windows, and the hooks for Inner Focus, Clearcasting, Nature's Grace and Nature's Swiftness. The site's simulator is built with the same overlay, so the pages and the benchmark agree.

Shields count as healing

Nobody takes damage on the healer fights, so a shield's absorb counts in full when it lands, the way raw healing counts every heal in full. Power Word: Shield absorbs 928 plus 10 % of healing power at rank 10, raised by Improved Power Word: Shield, cannot critically strike and leaves Weakened Soul for 15 seconds, which no shield lands through (Soul Warding removes the shield's 4-second cooldown and some of its cost). Penance cast on an ally heals with three bolts, as the channel starts and once a second for two seconds, each its own critical strike, on the cooldown the damage Penance shares.

Renewed Hope gives Flash Heal, Lesser Heal, Heal, Greater Heal and Penance its extra critical strike chance on a target under Weakened Soul and takes its seconds off that Weakened Soul, so heals bring the next shield closer. Divine Aegis adds its share of every critical heal as a shield. Alone, the priest shields itself; with a party, each shield goes to the first member without Weakened Soul.

Not modelled for healers

Inspiration, Litany of Light, Prayer of Mending and Binding Heal; Water Shield, Ancestral Healing and Healing Stream Totem; healer set bonuses. Prayer of Healing, Chain Heal's jumps, Tranquility and Wild Growth are modelled and reach the whole party of a party build.

Healer rotations

Every rotation uses what is off cooldown, keeps its chosen heals over time running (Penance, and Power Word: Shield where it is an upkeep, whenever they are ready), casts its burst heal while mana is ahead of a straight line from full at the pull to empty at the end of the fight, and casts its filler heal otherwise, so the mix settles wherever the mana runs out as the fight ends. The screen simulates every combination of upkeep, burst heal and filler heal, ranks included, and keeps the best, so downranking, and whether a shield is worth its mana on a fight, is decided by simulation.

The cleave fights

Damage

Every build is screened on its single-target rotations and on cleave variants of them, and its gear is searched again on three bosses starting from its single-target set (each cleave fight from the five-minute cleave the harness keeps for them). The variants are the engine's rotations with explicit changes (written by tools/gen_cleave_apls.py): damage over time spread over the three bosses with the engine's multidot action (warlocks, shadow and smite priests, balance druids, hunters' Serpent Sting, the elemental shaman's Flame Shock; a warlock keeps Bane of Doom on its target and puts Bane of Agony on the other two bosses, since the two share a target's bane slot), Blizzard, Arcane Explosion, Flamestrike and Blast Wave for mages, Hurricane for balance, Magma Totem and Chain Lightning for enhancement, earlier Consecration for retribution, and Sweeping Strikes through a stance dance for Arms.

Rotations the engine itself writes for several targets need no variant: the warriors' Whirlwind and Cleave, the elemental shaman's Magma Totem and Chain Lightning, and since upstream's update of 9 October many more that turn to their area spells by the number of targets (Sweeping Strikes, Hurricane, Volley and Explosive Trap, Fire Nova, Cone of Cold and Blizzard, Hammer of the Righteous and Consecration); nor do automatic cooldowns (Blade Flurry). The screen keeps whichever wins, so a variant that loses to single-target play or to the engine's own rotation simply is not used.

Tanks

All three bosses attack the tank, each as hard as the single benchmark boss. No pre-raid tank survives three bosses landing their swings together, and no healing cadence prevents it (with 20,000 health every 0.1 s and crushing blows the warrior still dies in one pull in ten, the bear in one in five and the paladin in one in four), so the healing model keeps the tank topped up and the death chance shows how often the bosses' swings added up to more than the tank's health.

Survival cannot decide a tank's set there: the tanks keep the gear of the single-boss fight of the same length, which the survival rule chose, and their talents and rotation are screened for their focus's measure on three bosses (Cleave for the warrior, Consecration for the paladin). The rankings report threat and damage taken per boss, and the least-held boss.

Party healers

A party healer heals a party of five on every fight, one boss or three: itself and four party members (the engine's target dummies). It is screened only on its party rotations, which roll heals over time across the five and use the group heals: Prayer of Healing heals the whole party with a roll and a critical strike per member, Chain Heal jumps to two more members at half the heal each jump, Tranquility heals the party every two seconds of its channel, Wild Growth lands on five members.

Single-target heals the rotation casts on the healer rotate through the party. Healing is raw, on full-health targets, so the numbers are party throughput under the fight's mana budget; the paladin has no group heal.

Buff values

What a buff is worth. Every build is benchmarked in the full raid above; bench raidvalues simulates each build's searched setup (its faction's best race on the fight) in that raid and then without each raid buff, party buff, blessing and boss debuff in turn (without both of a pair that do not stack), the air totems by arrangement (none, Windfury, Grace of Air, both, twisted), and with each buff the benchmark raid does not carry added, at 4,000 iterations on shared random numbers, and the difference is what that buff is worth to it.

The rankings' Buff values tab shows it by buff or by build; a difference below 0.15 % (at least 0.5 DPS) is within the noise and shown as nothing. Healers are left out (the values are damage). The numbers say what a buff gives one build, not how to build a raid: a raid wants its buffs once each, from whoever brings them. The tab took the place of the Auras tab and of the raid compositions page on 9 October 2026.

Races

Racials as implemented by the engine: Human sword specialization (+2 % crit with swords) and +5 % Spirit; Dwarf mace specialization (+1 % crit), 5 % more damage to beasts; Gnome Expansive Mind and Eureka (on direct damage and channels only since client 70170); Night Elf Elune's Light (+10 % crit for 15 s, 3 min cooldown); High Order Skyborne +1 % attack and cast speed, 5 % more damage to elementals, Energized (mana regeneration); Orc axe specialization (+1 % crit), Blood Fury (+10 % attack and spell power for 15 s, 2 min); Tauren +1 % hit; Troll Berserking (+10 % haste for 10 s, 3 min), 5 % more damage to beasts; Undead Touch of the Grave; Windshaper Skyborne the shared Skyborne passives.

The target is a dragonkin, so the beast and elemental slaying passives do nothing here. Where the race matrix measured it, the rankings' Races tab also shows what each race's racials add: the same setup simulated again with the racials turned off.

Where the numbers are

Every page reads the same results: the benchmark's runs of every build on every fight, the runs you make in this browser and, where you include them, the community's verified parses. The fight is chosen once, with the fight picker in the bar under the header, and every page and link keeps it; a page that cannot show a fight says so and shows the nearest one it can. Beside it the gear set picks the pool the benchmark's sets come from: Pre-raid, or Pre-raid + PvP (the same pool with Forever's PvP rank rewards); a fight's PvP set shows once the optimisation has searched it, and is marked soon until then.

Rankings

The rankings open on an overview by role: the damage builds by damage per second, the tanks by the focus picked above their section (threat, Survival or threat per health bar) and the healers by healing per second, each build with its number, its standard error and its share of the best of its role on the fight, coloured as Warcraft Logs colours its percentiles; a strip above names each role's leader.

The detail tabs show the fight in the shape of a combat-log report: Damage (by build, by boss on the cleave fights, each build's abilities under its row), Healing, Tanking (threat, survival, damage taken and deaths), Casts & timeline (every build's casts, and when it used its cooldowns and consumables in its first iteration), Buff values (what each raid buff and debuff is worth to each build, above), Resources, Statistics (each build's spread over the iterations as a box plot, from the worst through the middle half to the best, and its item level against its result), Gear (the items and enchants the searched sets wear per slot), Talents (a heat map per class) and Races (every race the matrix simulated, with its interval).

The bar under the header picks the role where a tab lists several, the faction on Buff values and Races, and whether your own runs take a build's row where they score better. All fights ranks every build over the fights optimised on the current engine at once by Warcraft Logs' All-Star points.

Build pages

Each build has one page, opened from its name anywhere on the site. Benchmark, the default, is the setup the search found for the fight, read-only: Overview (what the build does by ability and over the fight with its cooldowns, its attack table, its character sheet and caps, the history of its benchmark score and a comparison with another build), Report (the combat-log views of the benchmark's saved run that can have data for the build's role: damage done, targets, healing, damage taken, threat, a tank's deaths with its health and death recap, casts with a timeline, buffs, debuffs, resources and the first iteration's events), Gear (the set, its weapon swap if it has one, the next best items per slot and where every item comes from), Talents, Rotation (the cleaned priority list the benchmark plays, in words, to copy or download), Buffs & consumables, and Races.

My setup is an editable copy of that setup in the simulator itself, which runs in your browser on the same engine: the gear picker, the talent trees, the rotation editor, the buffs and consumables and the settings, with what you changed from the benchmark marked and Reset to benchmark to load it back. On a fight with no searched setup of its own (one you made), My setup starts from the benchmark's setup for one boss over three minutes and is compared with it, and says so.

The Simulate rail beside it (a bar at the bottom of a phone's screen) holds the benchmark's number, your run's with its standard error, the difference between them (within two standard errors of the difference the two cannot be told apart) and the iterations; after a run, Overview and Report hold your run against the benchmark's, ability by ability. Submit to community sends a run's setup to the community service, which simulates it again under the benchmark's own rules (its fight, buffs, consumables and iterations) and publishes the number it measures.

Fights

The fights page, opened from the fight picker's "Manage fights", lists the six built-in fights with their boss and timing (one not yet optimised on the current engine is marked soon, as in the fight picker), and the fights you make yourself (a copy of a built-in one to change, or a new one); it simulates every build on one of them, and the rankings then show your runs.

Community parses

The community parses are setups other players submitted, simulated again by the community service under the benchmark's rules: the best on each fight by their gain over their own build's benchmark row, the latest, and your own, filtered by fight, role, class, item pool or content phase and time. The service takes a setup's gear, talents, rotation, race and a few class choices and nothing else; a weapon swap is not part of a parse, so a parse plays its set's own weapons all fight.

Each has a page with its verified result on every fight it asked for, its report, and Open in sim. A parse takes a build's row in the rankings only with Include community parses on, only inside the known-item pool, and only where it beats the same simulator's benchmark row by more than two standard errors.

Questions and caveats

What the numbers leave out, and what people ask about them.

Can I trust a small difference between two builds?

Beta data. Forever is in a level-capped beta; level-60 abilities, set bonuses and item procs are simulated from client data and Classic behaviour, and the engine is updated daily. Re-run after pulling the engine before trusting a small difference.

Why is an item I know missing?

Only items with published Forever stats are used. Many Classic dungeon items are not in Wowhead's Forever data yet (they have not been seen in the beta client), so the pool is thinner than a level-60 launch pool will really be; rankings can shift as the data fills in.

Do item procs and set bonuses count?

Item and set effects only count when the engine implements them; an unimplemented proc leaves the item with its plain stats.

Is movement or switching targets modelled?

Single target, patchwerk-style. No movement, no target switching: the cleave fights' three bosses stand side by side and stay up together. Damage builds ignore threat and survival; tanks are measured on threat, survival against the boss's melee or both, with the healing model keeping them alive, and healers heal full-health targets.

Are these the best talents and rotations?

Talents and rotations are the sim's presets and search results, not necessarily the community's final theorycraft.

How precise is a number?

Every published number is the average of 5,000 simulated fights of the same setup (10,000 on the one-minute fights). The standard error of a result is typically around 1 DPS, so builds a point or two apart are level. The rankings' Statistics tab shows each build's spread over the iterations.

Why does a build wear different gear on different fights?

Each fight is optimised on its own: talents, rotations and gear are searched again for every fight, starting from the fight closest to it, so a build's setup for one minute of burst can differ from its three-minute one. Fights and environment says how.

Which builds use an item?

The rankings' Gear tab lists the items and enchants the searched sets wear on the chosen fight, slot by slot, and each build page's Gear tab its set, the next-best items for each slot and where every item comes from.

Can I simulate my own character?

Yes. Every build's page has My setup: the benchmark setup to change (gear, talents, rotation, buffs and consumables) and simulate in your browser on the same engine. Your runs stay in this browser; with Include my runs on, they replace a build's row in the rankings where they score better.

Who runs this

SixtySim is a hobby project by one Forever player. All of it is free and stays free: no ads, no accounts, nothing behind a paywall, and your own sims run in your browser.

Hosting costs about $20 a month. If the site saves you some time, a tip on Ko-fi helps cover it; nothing is unlocked by it.