promotional bannermobile promotional banner

PallyPower Smart

Spec and role-aware blessing smart-assignment companion for PallyPower. Detects talent specs via inspect, heuristics, and player broadcast so a feral druid gets might while the boomkin gets wisdom, and tanks never get salv.

File Details

PallyPowerSmart-0.8.0.zip

  • R
  • Jun 21, 2026
  • 93.14 KB
  • 1.7K
  • 2.5.5+13
  • Classic + 1

File Name

PallyPowerSmart-0.8.0.zip

Supported Versions

  • 2.5.5
  • 2.5.4
  • 2.5.3
  • 2.5.2
  • 2.5.1
  • 1.15.8
  • 1.15.7
  • 1.15.6
  • 1.15.5
  • 1.15.4
  • 1.15.3
  • 1.15.2
  • 1.15.1
  • 1.15.0

Changelog

0.8.0

Fixed

  • Spec-pref feasibility guard: the spec-preferred assignment step (RET->Might, HOLY->Wisdom, PROT->Kings) now checks whether consuming a paladin would leave a higher-priority blessing with no castable paladin remaining. Previously, two spec-pref claims could starve the column's #1 priority (e.g. Kings on the Druid column) when only those two paladins could cast it.
  • Greedy fill tiebreaker: when two paladins tie for a blessing's rating, the fill now prefers the paladin whose best alternative rating is lower -- preserving the stronger specialist for a later slot. Previously ties were broken alphabetically, which could waste a paladin with Improved Might on a Kings slot that any paladin casts equally well.

Removed

  • Override budget cap: the exceptionBudget setting has been removed. All computed overrides are now applied unconditionally. Tanks are still processed first.

0.7.0

Fixed

  • Locked paladin awareness (Pass 1): when a paladin has "free assignment" turned off, Smart-Assign no longer duplicates their greaters. The exclusive- first reservation now skips blessings already covered by locked paladins, so the controllable paladin fills gaps (Might, Kings, Wisdom) instead.
  • Locked paladin awareness (Pass 2): the per-member override matcher now treats locked paladins as fixed to their existing greaters. It pre-claims their coverage and matches only controllable paladins against remaining wishes, so overrides are never assigned to paladins who can't cast them.
  • Dual-spec inspect on TBC Anniversary: LibClassicInspector gated all dual-spec logic behind a Wrath client check, so inspected players on their secondary spec were misread as their primary. Patched LCI (version 18 -> 19) to detect dual-spec availability via GetActiveTalentGroup instead of client version. Also hardened tabPoints to auto-resolve the active talent group as defense-in-depth.

0.6.0

Added

  • Druid Tank priority group: feral druids with a Main Tank or Main Assist raid flag now use dedicated tank priorities (Kings > Might > Light > Sanc) instead of the generic Feral list. Mirrors how Warrior and DK tanks already have their own group.
  • Greater promotion: after computing per-member overrides, the algorithm now checks whether any paladin is overriding >50% of a class to the same blessing. If so, that blessing is promoted to the greater and overrides are recomputed. This dramatically reduces the number of 10-min normal overrides and makes the assignment output look sane to raid leaders.
  • Exception budget: the exceptionBudget setting (default 10 per paladin) is now enforced. Tank overrides are processed first so they always win the budget. Excess overrides are skipped and flagged in the summary.
  • Summary now shows promoted greaters and budget-capped overrides.

Changed

  • All members (including tanks) now vote in the Borda column ranking. Tank wishlists already strip Salvation, so their vote accurately reflects their needs. Previously tanks were excluded, which could cause the column greaters to ignore the majority when tanks outnumber DPS of that class.

Fixed

  • Tank role now takes precedence over spec when selecting a priority group. Previously a feral druid flagged as MT still matched the generic Feral group because the spec match ran first; the tankOnly fallback never fired. This also benefits edge cases like a Fury warrior assigned MT.

0.5.2

Fixed

  • InfoPanel.lua and SpecPanel.lua were missing from the release zip, causing load errors for users installing from the packaged distribution.

Changed

  • Author updated to Silkie-Nightslayer.
  • Added load message crediting Surveillant & Silkie.

0.5.1

Fixed

  • Libs (LibClassicInspector, LibDetours) were missing from the release zip. Thanks to Popsdabear for diagnosing it.
  • Preset load crash: PallyPower's LoadPreset replaces PallyPower_Assignments wholesale, but AllPallys still contained stale paladin names seeded from the previous SavedVars, causing a nil BuffInfo error at PP line 3909. The shim now prunes stale AllPallys entries after a preset load.

0.5.0

Added

  • Tabbed Info Panel: History, Blessing Report, and Spec Overview are now unified into a single tabbed panel anchored to the right of the PallyPower frame. The panel auto-matches the PP frame's height and is visible by default. Toggle via the "Info" button or right-click menu.
  • Spec Overview tab: see every group member's detected spec at a glance, color-coded by confidence (green = inspected/pinned, amber = detected, orange = unknown). Click any multi-spec member to pin or clear their spec. Replaces the old right-click submenu for spec overrides.
  • Pre-assign spec warning: Smart-Assign now prints a warning before running if any multi-spec members have undetected specs, with a pointer to /ppsmart specs.
  • /ppsmart specs command to open the Specs tab directly.

Fixed

  • Blessing Report no longer shows paladins from previous groups. AllPallys entries are now filtered to current group membership.
  • Aura auto-assignment removed from Smart-Assign -- players manage their own auras.

Changed

  • The standalone History, Blessing Report, and Spec Overview windows are replaced by tabs in the unified Info Panel. Slash commands (/ppsmart log, /ppsmart blessings, /ppsmart specs) now open the panel to the corresponding tab.
  • "Info" button replaces the old "History" button on the PP frame bottom bar.

0.4.0

Changed

  • Inspect engine rewritten to use LibClassicInspector (bundled). Eliminates our custom inspect queue in favour of LCI's shared cache, queue, and error suppression. If TacoTip or another addon also bundles LCI, LibStub shares a single instance — no duplicate inspects.
  • "Out of range" suppression is now handled by LCI's targeted hooks on UIErrorsFrame:AddMessage and PlayVocalErrorSoundID (replaces the CVar toggle).

Added

  • Periodic re-inspect: group members are re-queued for inspection every 10 minutes so mid-raid respecs by players without SmartAssign/LCI are detected.
  • Local player respec now updates the local spec registry immediately (previously only broadcast to others; own entry stayed stale).

Fixed

  • CalcSkillRanks crash on stale paladin names from PallyPower_Assignments SavedVars: wrapped in pcall, malformed entries removed from AllPallys.

0.3.0

Fixed

  • History button no longer overlaps the "Free assignment" checkbox.
  • Crash on stale paladin entries left over from previous sessions.
  • Compatibility with PallyPower beta/latest (AllPallys made file-local).

Added

  • Inspect engine suppresses "Out of range" error text.
  • Inspect engine backs off failed targets for 30 s instead of retrying immediately.
  • PallyPower's Refresh button now also re-inspects and re-broadcasts specs.
  • Dual-spec switches are detected automatically.

0.2.0

  • Initial working release.