Implement 12.0.0 transmog system#31721
Open
Olcadoom wants to merge 1 commit intoTrinityCore:masterfrom
Open
Conversation
Implements outfit-based transmogrification (12.0.1+) across server code and DB. Key changes: - Add SQL migration: character_transmog_outfits table for persisting outfit presets. - CollectionMgr: populate AccountTransmogUpdate.NewAppearances so the client Items tab is filled. - Player: add ACTION_BUTTON_TRANSMOG_OUTFIT action type, expose equipment sets getter, set HasTransmog/HasIllusion update fields when updating visible item slots, and fully implement _LoadTransmogOutfits to initialize default/viewed outfits, populate 30-slot layout, and restore saved outfits into update fields. - Handlers: force transmog-related game rule/vars for client UI in AuthHandler/CharacterHandler; implement transmogrification handlers in TransmogrificationHandler (HandleTransmogOutfitUpdateSlots, HandleTransmogOutfitNew, HandleTransmogOutfitUpdateInfo, HandleClearNewAppearance) to validate NPC, apply/reset appearances & illusions, charge cost, update UpdateFields and _equipmentSets, persist new outfits, and send confirmations. - Packets: add serialization for TransmogOutfitSlot, reading/writing outfit packets and response packets. Purpose: bring server support for retail-style transmogrification outfits (creation, editing, applying, persistence, and client UI compatibility) so clients can use the outfit UI and the server can store and apply outfit presets.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements outfit-based transmogrification (12.0.1+) across server code and DB.
Key changes:
Purpose: bring server support for retail-style transmogrification outfits (creation, editing, applying, persistence, and client UI compatibility) so clients can use the outfit UI and the server can store and apply outfit presets.
Changes proposed:
character_transmog_outfitsSQL migration table for persisting outfit slot data per character_LoadTransmogOutfitsin Player to initialize default Outfit 1, restore saved outfits into UpdateFields with full 30-slot layout (armor + weapon sub-slots), and populate situationsACTION_BUTTON_TRANSMOG_OUTFIT(0x90) enum and validation so outfit icons persist on the action bar across relogsGetEquipmentSets()public getter on Player for spell effect accessHasTransmog/HasIllusionupdate fields inSetVisibleItemSlotfor correct client renderingAccountTransmogUpdate.NewAppearancesin CollectionMgr so the client's Items tab displays collected appearancesHandleTransmogOutfitUpdateSlots: validates NPC, maps outfit slots to equipment slots, applies/resets appearances and illusions with cost checks, updates UpdateFields and_equipmentSetsfor DB persistence, sends confirmation packet and visual effectHandleTransmogOutfitNew: creates new outfit presets with current gear appearances, initializes situations, persists to_equipmentSetsHandleTransmogOutfitUpdateInfo: handles outfit rename/icon changesHandleClearNewAppearance: handles clearing the "new" flag on collected appearancesTransmogOutfitSlot,TransmogOutfitUpdateSlots,TransmogOutfitSlotsUpdated,TransmogOutfitNew,TransmogOutfitNewEntryAdded,TransmogOutfitUpdateInfo,TransmogOutfitInfoUpdated, andClearNewAppearanceEffectEquipTransmogOutfitspell effect handler (effect 347) for quick-applying outfits via action bar spell cast, reading outfit SetID fromm_misc.Raw.Data[1]Issues addressed:
Closes # N/A - new feature implementation
Tests performed:
Known issues and TODO list: