-
released this
2026-05-10 06:35:55 +00:00 | 46 commits to main since this releaseFractured v0.7.8 — Builds catalog (saved Character Advancement loadouts)
Adds named, icon-tagged build slots to the Character Advancement panel for one-click swaps between "specs" without re-buying spells/talents every time. Saves Hunter pets across swaps via
PET_SAVE_NOT_IN_SLOTso name, talents, and exp are preserved.What's new
- Bottom-row "Builds" button opens a full-pane overlay listing all saved loadouts (favorites first, then by id).
- New Build (+) tile opens a name + icon picker that reuses
MACRO_ICON_FILENAMES(every macro icon the client knows about, ~1,000 options). - Right-click on a saved build → Edit name/icon, Favorite/Unfavorite, Delete (with a confirmation popup that warns about losing any parked pet forever).
- Shift + Left-click → toggle favorite. A glow border appears around favorited builds and they bubble to the top of the sort.
- Left-click → "Load Build?" yes/no popup. Loading is a server-driven swap: snapshot current state into the previously-active build, refund all AE/TE through the existing Reset Abilities/Talents path, re-spend AE/TE on the target build's recipe, and unpark the build's hunter pet (if any).
- Hunter pet park/unpark. When swapping away from a build that has a hunter pet summoned, the pet moves to
PET_SAVE_NOT_IN_SLOT(mirroringHandleStableSwapPet) andpet_numberis recorded on the build row. Swap back and the same pet — same name, same talents, same xp — is resummoned. Non-hunter pets (warlock demon, DK ghoul, mage water elemental) are not parked because the engine resummons them from a fresh template each cast. - Swap is blocked while in combat.
- Per-spec talent fidelity. The build-talents recipe table is keyed by
(build_id, spec, talent_id)so a build remembers Tank/DPS dual-spec layouts independently. - Build catalog is server-side (lives in
acore_characters, follows the character across machines).
New PARAA verbs (server-driven)
Q BUILDS -- request catalog C BUILD NEW <name>\t<icon> -- create empty build C BUILD EDIT <id>\t<name>\t<icon> -- rename / re-icon C BUILD DELETE <id> -- delete + drop parked pet C BUILD FAVORITE <id> <0|1> -- toggle favorite C BUILD LOAD <id> -- swap to this buildServer replies push
R BUILDS active=<id|->\t<id>:<fav>:<haspet>:<name>:<icon>; ...after every mutation.Schema (mod-paragon migration
2026_05_10_03.sql)character_paragon_builds— catalog (build_id PK, guid, name, icon, is_favorite, pet_number, created_at)character_paragon_build_spells— recipe (build_id, spell_id)character_paragon_build_talents— recipe (build_id, spec, talent_id, rank)character_paragon_active_build— per-character active pointer (guid PK, build_id)
Server commit
7de018f— Paragon: add Builds catalog (saved loadouts with pet park/unpark)Install
Drop the three patch MPQs into
WoW/Data/enUS/and replaceWow.exeat the WoW client root. Then:git pull origin main docker compose build ac-db-import ac-worldserver docker compose up -d ac-db-import docker compose restart ac-worldserverac-db-importis required because the new SQL migration is baked into the docker image at build time. SeeCLIENT-PATCHES.mdfor the full install/troubleshoot guide.Pairing
Server commit
7de018fandpatch-enUS-6.MPQv0.9.0-builds are a matched pair. Mismatched versions surface as the Builds button being a no-op (server doesn't knowQ BUILDS) or the panel rendering blank (client doesn't knowR BUILDS).Downloads