PIManager.zip
What's new
# Changelog All notable changes to PI Manager are documented here. ## [1.10.1] ### Changed - Dropped 12.0.5 from the TOC now that 12.0.7 is the live client. The interface is now `## Interface: 120007` only, and the compatibility wording in the code header and README reads "12.0.7." (Earlier changelog entries that mention 12.0.5 are left intact as a historical record.) ## [1.10.0] ### Removed - The Power Infusion cooldown timer (the "Ready" / "CD Xs" indicator) has been removed from the status line. The cooldown read and its secret-value guard are gone along with it. ### Changed - The status line's unassigned-fallback text now reads **"Fallback: Twins of the Sun Priestess"** instead of "Twins: random DPS". - Added a talent check: if the player does **not** have the Twins of the Sun Priestess talent, the status line shows **"Fallback: Not talented"** (in red), so it's clear the smart-distribution fallback won't work. Uses the modern `C_SpellBook.IsSpellKnown` API; if the talent state can't be determined, it defaults to showing the talent name rather than falsely reporting "not talented". - The status line now refreshes on `PLAYER_TALENT_UPDATE`, so the fallback indicator updates immediately when you change talents or spec. ## [1.9.2] ### Fixed - **Addon showed as "Incompatible" on the live 12.0.5 client.** 1.9.1 set the TOC interface to `120007` only, which is higher than the current live client, so WoW flagged it out of date / incompatible until 12.0.7 ships. The TOC now declares **both** versions — `## Interface: 120005, 120007` — so it loads on 12.0.5 today and on 12.0.7 when that patch goes live, with no further change needed. - Compatibility wording in the code header and README updated to read "12.0.5 and 12.0.7." ## [1.9.1] ### Changed - **Updated for WoW 12.0.7 ("Revelations").** Bumped the TOC interface to `120007` and updated all compatibility references (code header, README, Iron-Clad rules) to 12.0.7. - Every API the addon uses was verified against the live 12.0.7 PTR source (Gethe/wow-ui-source `ptr2` branch, build 67808): `C_Spell.GetSpellCooldown`, `C_Spell.IsSpellInRange`, the `UNIT_SPELLCAST_SENT/SUCCEEDED/FAILED/INTERRUPTED` event payloads, `C_Container.*`, `C_Item.*`, and the macro globals (`CreateMacro`/`EditMacro`/`GetNumMacros`/`GetMacroInfo`). No breaking changes were found — this release is a compatibility/version bump only, no logic changes. ### Notes - 12.0.7 adds a `SecretWhenUnitSpellCastRestricted` flag to the spellcast events. In normal play this has no effect on the addon; it's noted as a possible future consideration only for restricted (certain encounter/PvP) content. ## [1.9.0] ### Changed - **Removed the addon's random-DPS fallback logic entirely.** The unassigned and out-of-range cases are now handled by the Priest talent **Twins of the Sun Priestess**, which distributes a Power Infusion cast (with no specific ally targeted) to a nearby ally, preferring damage dealers. This is more reliable than the old addon-computed fallback, which could go stale and commit to an out-of-range target. - The macro is now a two-line pattern: `/cast [@,help,nodead] Power Infusion` followed by `/cast [@player] Power Infusion`. The assigned target is hit when castable; otherwise the second line lets Twins pick a damage dealer. When no one is assigned, the first line is a plain cast and Twins handles everything. - Removed all self-cast (`[@player]`-as-self) behavior as a literal fallback; `[@player]` is now only the trigger that lets Twins distribute the cast. - Status line now shows the assigned target, "(not in group)" if the assigned player isn't present, or "Twins: random DPS" when unassigned. ### Removed - The DPS/any-member fallback pool, its scratch tables, and the per-member range/role/phase eligibility scan in the cast-target resolver (no longer needed — the game handles distribution). - The now-unused spell-range API wrapper. ### Notes - The smart unassigned/out-of-range behavior **requires the Twins of the Sun Priestess talent.** Without it, an unassigned or failed cast follows default WoW targeting (your current friendly target, or nothing) instead. ## [1.8.0] ### Added - **Window position is now remembered.** Drag the window where you want it and it reopens in that spot every time (across sessions), instead of always returning to center. The position is saved when you finish dragging and restored when the window is built. ### Changed - If the window is ever detected offscreen on open, it re-centers *and* resets the saved position so the problem doesn't recur. - `/pi reset` now re-centers the window immediately (in addition to wiping the saved position along with the rest of the settings). ## [1.7.1] ### Changed - Reworked the bottom button row: **Assign PI**, **Rescan**, and **Clear** are now three equal-width buttons (85px each) in an evenly spaced row, with Rescan centered between the other two. Previously Rescan sat alone in the title bar, which looked out of place. - Rescan button tooltip now anchors above the button (was bottom-left) so it no longer overlaps the player list. ## [1.7.0] ### Added - **Rescan button** and matching **`/pi rescan`** slash command. Forces a fresh rebuild of the player list from the current raid/party roster, re-resolves the macro target, and refreshes the labels and status line. Prints the detected member count as confirmation. - Added as a safety valve for the rare case where the list looks stale/incomplete — for example if the window was opened before the raid roster finished populating, or a roster update event was coalesced by the client. ### Documentation - README updated to document the Rescan feature in both the feature list and the slash-command table. ## [1.6.2] ### Fixed - **Duplicate "PIManager" macros.** Older versions could create multiple same-named macros in a player's macro book — one per affected login, each with slightly different content. Two root causes were addressed: - **Login race:** macro creation was deferred off `PLAYER_LOGIN` (which fired before the macro cache was populated) to the first `PLAYER_ENTERING_WORLD`, guarded by a macro-system-ready check, with a `PLAYER_REGEN_ENABLED` retry as a combat fallback. - **Unreliable duplicate detection:** replaced `GetMacroIndexByName` (which only finds the first same-named macro and could return 0 during early load) with an authoritative scan that counts all "PIManager" macros across both the general and per-character ranges. The addon now edits the existing macro when exactly one is found, creates exactly one when none exists, and refuses to create more while warning the player once if duplicates are already present. - The addon never auto-deletes macros. Players with pre-existing duplicates should delete the extras manually via `/macro`, then `/reload`. ### Documentation - Rewrote the README to match the current addon. Removed stale references to features that no longer exist (the whisper/say/party notify options, the secure cast button + Bindings.xml keybind path, an old options panel, and several commands that were removed). Documented the status line, AddonCompartment entry, faction tags, and cast confirmation. Verified every slash command, the interface number, and the file tree against the actual code. - Recorded the Iron-Clad development rules and the known platform limitations (server-side whisper throttling, hardware-event-gated chat channels) in `IRONCLAD_RULES.md`. --- Note: versions 1.6.3 through 1.6.9 were not released; development moved from 1.6.2 directly to the 1.7.x line.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

