promotional bannermobile promotional banner

AutoPI Extended

Never wonder who to Power Infuse again - automatic, data-driven PI target selection for Priests.

File Details

12.0.7.34

  • R
  • Jun 25, 2026
  • 43.87 KB
  • 7
  • 12.0.7
  • Retail

File Name

AutoPIExtended-12.0.7.34.zip

Supported Versions

  • 12.0.7

AutoPI Extended

12.0.7.34 (2026-06-25)

Full Changelog Previous Releases

  • Add CurseForge + GitHub Release packaging workflow (#30)
    • Add CurseForge + GitHub Release packaging workflow
      Adds a GitHub Action (BigWigsMods/packager) that, when a GitHub Release is
      published, packages the addon, uploads it to CurseForge, and attaches the .zip
      to the Release. Triggers on release: [published] so day-to-day merges don't
      publish.
      Also:
    • Adds a placeholder ## X-Curse-Project-ID: to the TOC (must be set to the
      real numeric CurseForge project ID before the first real upload).
    • Documents the release flow and one-time setup (CF_API_KEY secret + project
      ID) in the README.
    • Bumps Version to 12.0.7.30.
      The CurseForge upload fails safe: with no CF_API_KEY secret the packager skips
      it and still produces the GitHub Release asset.
      Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
    • Bump version to 12.0.7.32 to stay ahead of relicense PR
      PR #31 (GPLv3 relicense) will merge first at 12.0.7.31. Bump this
      release-pipeline PR above it so the shipped version stays monotonic
      when #30 merges out of order. Update the example tag in the Releasing
      section to match.
      Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
    • Set CurseForge project ID to 1586678
      Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
    • Bump version to 12.0.7.34 after rebase onto main
      Main moved to 12.0.7.33 (Shadow Priest exclusion + preferred-player
      fixes). Bump this PR above it to keep versions monotonic.
      Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

    Co-authored-by: Claude Opus 4.8 noreply@anthropic.com
  • Exclude Shadow Priests from auto PI target selection (#33)
    Other Shadow Priests in the group will PI themselves, so targeting
    them wastes PI. Skip specID 258 in _ComputeCandidateScores (both the
    weighted scoring path and the non-weighted fallback).
    Preferred-player list is unaffected — explicit manual picks still work
    regardless of spec.
    Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com
  • Fix preferred-player list not updating the macro (#32)
    • Fix preferred-player list not matching due to name formatting
      The preferred-player loop looked up name_cache[line:lower()] using the
      raw line from the text box. name_cache is keyed by the bare UnitName
      (lowercased), so any leading/trailing whitespace or a pasted '-Realm'
      suffix on a list entry never matched, and the preferred player was
      silently skipped in favour of the auto list.
      Trim each line and strip any realm suffix before the lookup, and skip
      blank lines. Bump version to 12.0.7.32.
      Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
    • Preferred-player list: no inspect required, just group presence
      Preferred players are explicitly chosen by the user — no reason to
      block on inspect just to verify their spec. Drop the name_cache /
      group_cache / isDPS checks and replace with a direct scan of current
      group units by name. If the player is in the group, they get picked.
      Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

    Co-authored-by: Claude Opus 4.8 noreply@anthropic.com
  • Relicense under GPLv3 to comply with original AutoPI (#31)
    AutoPI Extended incorporates code from 'AutoPI - Power Infusion Made
    Easy', which is distributed under GPLv3. As a derivative work this
    project must be GPLv3 as well, so the previous All-Rights-Reserved
    LICENSE is replaced with the canonical GPL v3 text.
    • LICENSE: full GNU GPL v3.0 text
    • README: license section updated; credits original AutoPI as source
    • TOC: bump Version to 12.0.7.31
      Co-authored-by: Claude Opus 4.8 noreply@anthropic.com
  • Fix PI-target auto-announce never firing in large raids (LFR) (#29)
    The announcement was gated on the inspect queue being completely empty
    (_MaybeAnnounceWinner bailed while inspectQueue had any item) and was only
    triggered from a successful INSPECT_READY. In a 25-person LFR some units are
    CanInspect=true but never return INSPECT_READY, and on timeout they were
    requeued forever (plus the 4s rescan keeps re-adding stale units) — so the
    queue effectively never drained and auto-announce never fired. Small parties
    drain in a second or two, which is why only big raids were affected.
    Two changes:
    • Debounced announce: successful inspects (re)arm a short timer
      (ANNOUNCE_DEBOUNCE=3s); it fires once spec data stops arriving, instead of
      requiring an empty queue. Timeouts don't re-arm it, so unreachable
      stragglers can't block or delay the announce. _MaybeAnnounceWinner keeps its
      "only if the target changed" dedupe; GROUP_ROSTER_UPDATE and INSPECT_READY
      now go through the debounce.
    • Inspect retry cap: each queued unit gets a tries counter; after
      INSPECT_MAX_TRIES (3) timeouts it's dropped and parked in inspectGiveUp for
      INSPECT_GIVEUP_COOLDOWN (30s) so the rescan won't immediately re-add it. A
      successful inspect or the unit leaving the group clears its give-up entry.
      This lets the queue actually drain and stops hammering unreachable players.
      Debug pipeline telemetry now also shows gaveUp=N. Bumps Version to 12.0.7.29.
      Co-authored-by: Claude Opus 4.8 noreply@anthropic.com
  • Chat announce: drop confidence word, add runner-up only on close calls (#28)
    The group announcement no longer broadcasts the HIGH/MED/LOW confidence
    rating. Next to a player's name in group chat that reads like a judgment of
    the person, when it only reflects how close the score race was.
    New behavior:
    • Normal pick: "AutoPI Extended: PI -> Alice"
    • Genuine toss-up (LOW confidence): "AutoPI Extended: PI -> Alice (Bob close
      behind)", framing the close call as useful backup info instead of doubt.
      Runner-up name is captured from the #2 candidate during scoring
      (self._piRunnerUp). Full HIGH/MED/LOW + delta detail is unchanged on the
      private HUD and debug window. Updates README and bumps Version to 12.0.7.28.
      Co-authored-by: Claude Opus 4.8 noreply@anthropic.com
  • Rename generated macro PI_WA_AUTO -> APIE (#27)
    The character macro the addon maintains is renamed to "APIE", centralized in
    a new AutoPIExtended.MACRO_NAME constant. Updates README references and bumps
    Version to 12.0.7.27.
    Note: anything that referenced the macro by its old name (e.g. a companion
    WeakAura) must be repointed at "APIE".
    Co-authored-by: Claude Opus 4.8 noreply@anthropic.com
  • Update Bloodmallet PI lists (sim'd 2026-06-24, SimC c12e9e5) (#26)
    Refresh both spec-priority rankings from Bloodmallet's latest re-sim
    (was 2026-06-17 / 9f3b11b).
    Single-target (raid) notable movers:
    • Windwalker Monk 3 -> 5, Survival Hunter 8 -> 10
    • Beast Mastery Hunter 4 -> 3, Elemental Shaman 5 -> 4
    • Devourer DH 20 -> 18, Devastation Evoker 25 -> 23
      Multitarget (M+) notable movers:
    • Arcane Mage 8 -> 6, Devastation Evoker 6 -> 8
    • Blood DK 22 -> 24
      Bumps Version to 12.0.7.26 and updates the README sim snapshot note.
      Co-authored-by: Claude Opus 4.8 noreply@anthropic.com
  • Rebrand AutoPI Remix to AutoPI Extended (#25)
    Rename the addon end to end: TOC file (AutoPIExtended.toc), Title,
    SavedVariables (AutoPIExtendedDB), global table / namespace, frame names,
    debug window title, chat announcement prefix, and EventRegistry reset
    callback. Slash commands are now /autopie and /apie (legacy /autopi,
    /apir, /autopiremix removed). README updated to match.
    Settings reset on first load (new SavedVariables key, no migration).
    Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com
  • Update README status to WoW 12.0.7, bump Version to 12.0.7.24 (#24)
    Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com
  • Bump TOC to WoW 12.0.7 (Interface 120007, Version 12.0.7.23) (#23)
    Update the Interface number for the 12.0.7 client and set the addon
    Version per the WoW-patch + PR-number scheme.
    Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com
  • HUD icon: fix click-to-target, reword tooltip + announcement (#22)
    • Reword chat announcement and icon tooltip
      Chat announcement now reads "AutoPI Remix: PI Target: <name>
      (confidence: high/medium/low)". HUD icon tooltip now reads "Click to
      target <name>" to make the click-to-target action discoverable.
      Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
    • Register icon button for up and down clicks
      The HUD PI icon's secure target action never fired because the button
      only handled the default LeftButtonUp. Players with cast-on-key-down
      trigger secure actions on the down edge, so the click did nothing.
      Register for both AnyUp and AnyDown.
      Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

    Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com
  • Update README for current addon state (#21)
    Document features merged since the last README pass: Priests-only load,
    the selection priority chain (preferred list -> manual spec order -> auto
    Bloodmallet fallback), HUD scan progress / clickable icon / A and D
    buttons, and automatic chat announcements of the PI target. Note the
    Bloodmallet snapshot date.
    Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com
  • PI selection priority: named list, manual spec order, then auto (#20)
    • Fall back to auto list when manual list matches no group DPS
      When a manual spec-order list is configured (use_bloodmallet_spec_ids
      off) but nobody in the group/raid matches any spec on it, retry target
      selection against the active Bloodmallet auto list instead of leaving PI
      unassigned. Mark these picks with "auto-fallback" confidence, and mirror
      the same fallback in the debug window's list selection.
      Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
    • Correct fallback to target the named-character mode
      The fallback applies to the manual named-character list (playerslist),
      not the manual spec-order list. When that list is configured but none of
      those characters are present in the group/raid as DPS, target selection
      now falls back to the active Bloodmallet auto list (tagged
      "auto-fallback"), regardless of the spec-order mode setting. With an
      empty named list, behavior is unchanged. Debug window mirrors this.
      Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
    • Order selection: named list, manual spec order, then auto
      Establish a clear priority chain for PI target selection:
    1. playerslist named characters present as DPS (preferred)
    2. manual spec-order list, if that mode is enabled
    3. auto Bloodmallet list as the final fallback
      The auto list is tagged "auto-fallback" only when manual spec-order mode
      was on but matched nobody. Debug window mirrors the same fallback.
      Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

    Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com
  • Announce PI target to group chat: auto on roster changes + manual HUD button (#19)
    • Announce PI winner to group chat once initial scan completes
      After all currently available group members have been inspected (queue
      drains to empty for the first time), send one message to the appropriate
      chat channel (INSTANCE_CHAT for LFG, RAID, or PARTY) with the current PI
      target and confidence level.
      The flag resets on PLAYER_ENTERING_WORLD so a fresh announcement fires
      each time a new instance is entered.
      Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
    • Re-announce PI target when group composition changes
      Replace the one-shot _scanAnnounceDone flag with _lastAnnouncedTarget
      tracking. Announce whenever scanning has settled and the target differs
      from the last announcement, so other priests are kept informed when
      members join, leave, or the winner otherwise changes — without spamming
      chat when the target is steady.
      GROUP_ROSTER_UPDATE now recomputes the macro and re-checks after its scan
      so a departing member (no new inspect needed) still triggers a re-announce.
      Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
    • Add HUD "A" button to manually re-announce the PI target
      Sits just left of the debug "D" button. Clicking it force-sends the
      current target to group chat (e.g. so a priest who joined late can be
      informed on demand). Syncs _lastAnnouncedTarget so the auto-announce
      logic won't immediately repeat it.
      Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

    Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com
  • Update Bloodmallet PI rankings to 2026-06-17 (SimC 9f3b11b) (#18)
    Single-target (raid) notable moves:
    Windwalker Monk: 7 → 3 (+4)
    Shadow Priest: 20 → 15 (+5)
    Devourer Demon Hunter: 17 → 20 (-3)
    Devastation Evoker: 22 → 25 (-3)
    Multitarget (M+) notable moves:
    Frost Death Knight: 21 → 18 (+3)
    Devastation Evoker: 8 → 6 (+2)
    Devourer Demon Hunter: 16 → 14 (+2)
    Arms Warrior: 27 → 30 (-3)
    Vengeance Demon Hunter:19 → 21 (-2)
    Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com
  • Make HUD PI icon clickable to target the selected player (#17)
    Replace the icon texture with a SecureActionButtonTemplate button so
    clicking it targets the current PI candidate. Using the secure template
    means targeting works during combat without taint. The unit attribute is
    updated whenever rewriteMacro refreshes the target out of combat.
    Hover shows a tooltip with the current target name.
    Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com
  • Fix debug window double-open; add scan progress + debug btn to target frame (#16)
    • Hide debug window frame after creation so first /autopi debug opens it
      rather than the newly-visible frame being toggled shut immediately.
    • Expand on-screen PI target box height (50→68) to fit a new scan line.
    • Show "scan xx/yy" below the confidence text (how many group members have
      been successfully inspected out of total).
    • Add a small "D" button in the upper-right corner of the target frame that
      toggles the debug window (with a tooltip).
      Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com
  • Load for Priests only; stay fully inert for other classes (#15)
    ADDON_LOADED now bails immediately for non-Priests (classID ~= 5) before
    touching the DB, options panel, frames, scanner, or macro. Previously it
    only gated the event registration but still built the settings panel and
    scheduled a macro rewrite for everyone.
    • Move the class check to the top of ADDON_LOADED; register events /
      start scanner / init options / rewrite macro only for Priests.
    • Guard the slash handler (returns early when self.db is unset, i.e. a
      non-Priest) so /apir does nothing instead of erroring.
    • TOC note: "Automatic Power Infusion target (Priests only)".
      Note: WoW has no class-conditional TOC load, so the files still load into
      memory; this makes the addon a no-op for non-Priests.
      Co-authored-by: Claude Opus 4.8 noreply@anthropic.com
  • Rework Options window: fix overlap, dynamic K text, enable/disable logic (#14)
    Addresses the Options-window TODO.
    Layout: replace the two colliding anchor chains (the Target Scoring and
    Spec Priority sections both hung off the same title, overlapping) with one
    top-to-bottom flow: Trinkets -> Spells -> Display -> Preferred Players ->
    Target Scoring -> Spec Priority Order. Spec Priority manual list sits at the
    bottom and expands downward; container sized for the full 40-row list
    (was clipped at 1000px). Removed the redundant "Spec Order Configuration"
    header.
    Stale text: K auto-scale constants (0.8 / 60 / 240) now live in Core as
    K_MULTIPLIER/K_MIN/K_MAX, shared by _ComputeEffectiveK and the checkbox
    label (was hardcoded "clamped 60-140", drifted after the cap moved to 240).
    Baseline/clamp labels show their defaults from the defaults table.
    Enable/disable: baseline box dims when auto-baseline is on; K box dims when
    auto-K is on; clamp has no auto-toggle so it follows weighted scoring; when
    weighted scoring is off, all three boxes and both auto checkboxes dim.
    Also: add the "Show on-screen PI target box" checkbox (show_target_frame);
    local-ize the leaked infoText/manualModeBtn/autoModeBtn globals; remove dead
    CreateIcon and unused row texture; stop CreateMultiLineTextBoxWithBackground
    self-anchoring (caller positions it).
    Co-authored-by: Claude Opus 4.8 noreply@anthropic.com
  • Merge pull request #13 from zharthemad/feat/onscreen-target-box
    Add draggable on-screen PI target box (icon + target + confidence)
  • Add draggable on-screen PI target box (icon + target + confidence)
    A movable HUD frame shows the Power Infusion icon, the current PI target
    name, and the selection confidence (HIGH/MED/LOW colored, with the score
    delta to the runner-up; "preferred player" when picked from the preferred
    list). Position is saved to the DB and restored between sessions.
    • _EnsureTargetFrame / _UpdateTargetFrame / ToggleTargetFrame in Core.lua.
    • rewriteMacro now records the winner + confidence (self._piTarget /
      _piConfidence / _piDelta) and refreshes the box each out-of-combat update.
    • New default show_target_frame=true; toggle with /apir hud.
      Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • Merge pull request #12 from zharthemad/fix/debug-window-multiline
    Fix debug window showing only one line
  • Fix debug window showing only one line (drop SetWordWrap(false))
    The body FontString had SetWordWrap(false), which collapses the text to a
    single line, so only the first report line ("spec list = ...") rendered even
    though the full multi-line string was set. My comment claiming it "honors
    explicit line breaks" was wrong.
    • Remove SetWordWrap(false) (default wrap on); explicit "\n" now renders as
      separate lines.
    • Widen the window (720x360 -> 820x380) so the long candidate rows don't wrap.
    • Wrap the refresh in pcall so a transient error shows in the window (and is
      visible) instead of silently blanking it / stalling the live update.
      Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • Merge pull request #11 from zharthemad/docs/readme-dual-lists
    Docs: document dual PI lists (raid vs. M+) and bump status to 12.0.5
  • Docs: document content-aware PI lists and refresh status to 12.0.5
    README was missing the dual spec-priority lists feature (PR #9). Adds a
    "Spec priority lists (raid vs. everything else)" section explaining the
    single-target (raid) vs multitarget (M+/dungeons/open world) rankings and
    the automatic switch by instance type, notes the PLAYER_ENTERING_WORLD
    re-evaluation, and updates Status from 12.0 to 12.0.5.
    Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • Merge pull request #10 from zharthemad/feat/live-debug-window
    Live debug window: /apir debug refreshes in place instead of scrolling chat
  • Add live debug window that refreshes in place
    /apir debug now opens a draggable window that re-renders the debug report
    every 0.5s instead of spamming the chat log, so the data updates in place
    as inspects complete (no scrolling). Close with the X button or Esc.
    • Refactor the debug output into _BuildDebugLines() (array of lines) shared
      by the window and the chat dump.
    • _EnsureDebugWindow/ToggleDebugWindow/_RefreshDebugWindow + a C_Timer
      ticker that runs only while the window is shown (cancelled on hide).
    • /apir debug -> toggle the live window; /apir debug print -> one-shot
      chat dump (previous behavior).
      Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • Merge pull request #9 from zharthemad/feat/dual-pi-lists-raid-mplus
    Content-aware PI lists: single-target for raids, multitarget for M+/everything else
  • Add content-aware PI lists: single-target for raids, multitarget elsewhere
    Adds a second bloodmallet ranking and selects it by content type:
    • bloodmallet_spec_ids: single-target ("Castingpatchwerk"), used in raids.
    • bloodmallet_spec_ids_multitarget: 5-target ("Castingpatchwerk5"), used in
      M+, dungeons, scenarios, and open world.
      _ActiveBloodmalletList() returns the single-target list when
      IsInInstance() reports a raid, otherwise the multitarget list. Both
      rewriteMacro and PrintDebugScores now use it (debug also prints which list
      is active).
      Registers PLAYER_ENTERING_WORLD so the macro re-evaluates (and the active
      list switches) on zone/instance transitions, not just roster/combat changes.
      Both lists are the absolute-DPS-gain order (sorted_data_keys_2) with the
      same parked tail (Augmentation + healers). 40 specs each, no duplicates.
      Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • Merge pull request #8 from zharthemad/fix/pi-order-absolute
    Fix PI spec order: use absolute DPS gain (matches website chart)
  • Fix PI spec order: use absolute DPS gain (matches website chart)
    PR #7 sorted by bloodmallet's sorted_data_keys, which ranks by PERCENT DPS
    gain. That puts low-DPS tanks high (Guardian Druid #2) and does not match
    the graphical chart on bloodmallet.com, whose default "absolute" value
    calculation sorts by raw DPS gained.
    Switch to sorted_data_keys_2 (absolute DPS gain). This matches the website,
    better reflects "who adds the most raw raid DPS from PI," and naturally
    sinks tank specs (Guardian Druid 2 -> 14, Marksmanship Hunter now #2).
    Same 40 specs, no duplicates; ordering only.
    Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • Merge pull request #7 from zharthemad/chore/update-pi-spec-order
    Update bloodmallet PI spec order to Midnight single-target data
  • Update bloodmallet PI spec order to Midnight single-target data
    Reorders bloodmallet_spec_ids to match the current bloodmallet
    "Power Infusion | Castingpatchwerk" (single target) ranking, sim'd
    2026-06-10 (SimC 1493847), ranked by % DPS gained from Power Infusion.
    • Adds the new Midnight spec Devourer Demon Hunter (specID 1480).
    • Specs with no PI sim data (Augmentation Evoker, healers) are parked at
      the end; healers are never selected anyway (isDPS filters to DAMAGER).
    • Still a plain ordered spec-ID list; scoring logic unchanged.
      40 specs, no duplicates.
      Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • Merge pull request #6 from zharthemad/chore/rescale-baseline-k-midnight
    Rescale baseline default and auto-K cap for Midnight item levels
  • Merge pull request #5 from zharthemad/chore/ilvl-track-midnight
    Update item-level track labels to Midnight Season 1 (12.0.5)
  • Rescale baseline default and auto-K cap for Midnight item levels
    The ilvl scoring inputs were calibrated to the old (pre-Midnight) item
    level range. With Midnight Season 1 ilvls (~220-289):
    • Manual/fallback baseline default 140 sat far below real ilvls, saturating
      the ilvl term for everyone until inspect data arrived. Bumped to 250
      (mid-Midnight range).
    • Auto-K is baseline*0.8 (intended percentage scaling), but the [60,140]
      cap pinned it at a flat 140 for every Midnight baseline, disabling the
      dynamic scaling and making gear ~1.5x more influential than designed.
      Raised the upper cap to 240 so K scales as intended (now ~8% above the
      group average maxes the +clamp bonus, consistent with the design intent
      that gear breaks close ties but does not dominate).
      Clamp (0.10, scale-independent) and manual K (100, user knob) unchanged.
      Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • Update _IlvlToTrackLabel to Midnight Season 1 (12.0.5) gear tracks
    The ilvl->track lookup table held The War Within values (Explorer 98 ..
    Mythic 170). Midnight removed the Explorer track and reset item levels, so
    the debug track labels were wrong.
    Replace with Midnight Season 1 tracks (Adventurer/Veteran/Champion/Hero/
    Myth), 6 ranks each, including the shared-ilvl overlaps between adjacent
    tracks:
    Adventurer 220-237, Veteran 233-250, Champion 246-263,
    Hero 259-276, Myth 272-289
    Per-rank values follow the confirmed Champion progression
    (246,250,253,256,259,263 = +4,+3,+3,+3,+4); applying that pattern reproduces
    every published track max.
    Sources: wowhead.com Dawncrests guide, nexttier.pro, koroboost.com.
    Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • Merge pull request #4 from zharthemad/chore/toc-12.0.5
    Bump TOC to WoW 12.0.5 (Interface 120005, Version 12.0.5.1)
  • Bump TOC to WoW 12.0.5 (Interface 120005, Version 12.0.5.1)
    Reviewed the 12.0.5 API changes against everything the addon uses
    (inspect/spec/item-level, macro, C_Spell, C_Timer, unit functions). No
    code changes required:
    • No 12.0.5 changes to the inspect, macro, spec, or timer APIs in use.
    • Secret Values cover combat-state data (health/power/absorbs/auras/
      cooldowns); inspect item level and spec are static gear/character data
      gathered out of combat, so the scoring arithmetic is unaffected.
    • UnitName/UnitIsUnit restrictions only apply to secret unit tokens
      (targettarget/focustarget); the addon only uses standard group tokens,
      and nil-vs-false returns don't change the surrounding logic.
      Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • Merge pull request #3 from zharthemad/chore/cleanup-print-and-deadcode
    Remove dead code in rewriteMacro
  • Keep macro-update print unconditional; drop the debug-flag gating
    Per feedback: the per-update print should stay, not be gated. rewriteMacro
    already early-returns when the macro is unchanged (self._current_macro ==
    macro), so it only prints on an actual target change — not real spam.
    Reverts the self.db.debug gating, the debug default, and the
    /apir debug on|off toggle added earlier in this branch. What remains is
    the dead-code removal in rewriteMacro plus a cleaner, prefixed print message.
    Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • Gate macro-update logging behind a debug flag; drop dead code in rewriteMacro
    rewriteMacro printed a chat line on every macro change (spam) and computed
    group inspection coverage (dpsTotal/dpsInspected/_CountUnit/...) plus
    bestScore/bestRank/bestIlvl that were never used — that telemetry already
    lives in PrintDebugScores.
    • Remove the unused coverage computation and best* locals; keep only the
      winner extraction (targetname = scores[1].name).
    • Gate the per-update print behind self.db.debug (new default: false).
    • Add /apir debug on and /apir debug off to toggle the flag; bare
      /apir debug still prints the one-shot dump.
    • Document the toggle in the README.
      Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • Merge pull request #2 from zharthemad/fix/unnest-baseline-helpers
    Un-nest baseline helpers from _ComputeAutoBaseline
  • Un-nest _ComputeEffectiveK and _IlvlToTrackLabel from _ComputeAutoBaseline
    _ComputeAutoBaseline's averaging body was misplaced after two function
    definitions, so _ComputeEffectiveK and _IlvlToTrackLabel were accidentally
    nested inside it. They only became defined as a side effect of calling
    _ComputeAutoBaseline in auto-baseline mode; in manual-baseline mode the
    function returns early and the helpers were never defined, so /apir debug
    threw "attempt to call method '_ComputeEffectiveK' (a nil value)".
    Move the averaging body up into _ComputeAutoBaseline before its closing end,
    making all three proper top-level methods. No logic change.
    Verified: luajit parse passes; all three are now real top-level methods with
    non-overlapping line ranges; manual-baseline mode now returns K instead of
    erroring.
    Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • Merge pull request #1 from zharthemad/rename/autopiremix-namespaces
    Rename AutoPI namespace to AutoPIRemix; fix init guard and slash commands
  • Rename AutoPI namespace to AutoPIRemix; fix init guard and slash commands
    The addon was renamed AutoPI -> AutoPIRemix but several namespaces still
    referenced the old name. Most critically, the ADDON_LOADED guard checked
    for "AutoPI" while the addon (folder/TOC) is now "AutoPIRemix", so the
    guard never passed and the addon effectively never initialized.
    Changes:
    • Fix init guard: addOnName ~= "AutoPIRemix" (Core.lua)
    • Rename global table AutoPI -> AutoPIRemix across Core.lua and Options.lua
    • Rename SavedVariables AutoPIDB -> AutoPIRemixDB (TOC + code)
    • Rename event namespace "AutoPI.OnReset" -> "AutoPIRemix.OnReset"
    • Settings panel name -> "AutoPI Remix" (matches TOC title)
    • Debug print prefixes -> "AutoPIRemix debug:"
    • Slash commands: primary /autopiremix, short alias /apir, keep /autopi
      as a legacy alias
    • Update README usage to the new commands
      Left intentionally unchanged: the PI_WA_AUTO output macro name (tied to
      user keybinds/WeakAuras, not the addon namespace).
      Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • Initial commit: AutoPI Remix (WoW 12.0)
    Priest addon that maintains the PI_WA_AUTO macro pointing at the optimal
    Power Infusion target, using inspect-based spec/ilvl scoring. Does not
    automate the cast. Adds repo scaffolding: README, LICENSE, .gitignore.
    Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com