WoW Lab

WoW Lab

Toolkit

Simulate

Quick SimBest in BagsDrop Optimizer

Rotations

BrowseNew Rotation

Plan

Traits
P

Developer

DocsBibleEngineHooksMCP ServerMetricsUI Showcase

Misc

AboutBlog

© 2025 WoW Lab

  1. Home
  2. Bible
  3. Spec Handlers

Spec Handlers

The SpecHandler trait, polymorphic dispatch, and adding new specs

February 13, 2026
Edit

SpecHandler trait interface (spec_id, display_name, spell_definitions, aura_definitions, talent_names, init, init_player, on_gcd, on_cast_complete, on_spell_damage, on_auto_attack, on_pet_attack, on_aura_tick, on_aura_apply, on_aura_expire, cast_spell, next_action, get_spell, get_aura, calculate_damage), trait object polymorphism (Arc<dyn SpecHandler>), no match statements in hot path, spec implementation structure (handler.rs, spells.rs, auras.rs, talents.rs, procs.rs, pet.rs, rotation.rs, constants.rs, metrics.rs), pre-computed talent flags and damage mods at initialization, currently implemented: Beast Mastery Hunter (50+ spells, pet mechanics, focus resource, RPPM procs, tier set bonuses) and Marksmanship Hunter.

Next steps

Metrics and Statistics
Rotation Compiler
Metrics and Statistics

Navigation

IntroductionGlossaryReferences

Overview

Mechanics

Game Data

Simulation

Discrete Event SimulationEvent SystemDamage ResolutionRotation CompilerSpec HandlersMetrics and Statistics

Infrastructure

Portal