Fix multivendor_master build after upstream master merge#178
Merged
Rochet2 merged 1736 commits intoMay 26, 2026
Conversation
…AST now happens before FINISH as intended)
…dor in sell all junk packet handler
…wind (Fury Warrior Talent) (TrinityCore#31690)
… result of incorrect merge conflict resolution
…tain Thane warrior talent) (TrinityCore#31691)
… while still being teleported to a different map
…s in WorldPacket (cherry picked from commit b758b56)
…tly always printed before battleground starts and replaced its trinity_string entry with proper battleground status packet
…ssage printed to chat
… fadeObject argument
by jildor, closes TrinityCore#28854 (cherry picked from commit fe81161)
by CraftedRO closes TrinityCore#28840 (cherry picked from commit ebceb9e)
9384254 to
70bc037
Compare
70bc037 to
da2b513
Compare
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.
Summary
The scheduled
mergeworkflow mergesTrinityCore/TrinityCoremasterintomultivendor_masterand builds with-DWITH_WARNINGS_AS_ERRORS=1. The branch was failing at the merge step (unresolved conflict inGossipDef.h) and would not compile after upstream refactored player interaction state.This PR merges the latest upstream
masterintomultivendor_master, resolves the conflict, and adapts the multivendor virtual-vendor tracking to the new upstreamInteractionDataAPI.What was wrong
Merge conflict
GossipDef.h— Upstream split the old flatInteractionDatastruct into a variant-based design (TrainerData,PlayerChoiceData, …) and movedPlayerChoiceDatato its own class. The multivendor branch still stored the gossip-selected vendor entry as a flatVendorIdfield on the old struct; Git left the two incompatible class definitions as a conflict.Post-merge compile errors
ItemHandler.cpp::SendListInventory— Multivendor passes an optionalvendorEntry(from gossipActionMenuID) and stores it for later buy validation. After the merge, code still referenced the removedVendorIdfield and also incorrectly calledStartInteraction()and then immediatelyReset()+ manual field assignment.Player.cpp::BuyItemFromVendorSlot— Anti-cheat / item-list lookup still readGetInteractionData().VendorIdto load the virtual vendor item list when buying from a gossip-selected multivendor window.cs_npc.cpp—.npc add vendoritemwith the multivendor flag still read.VendorId;.npc delete vendoritemwith the flag incorrectly used.TrainerIdinstead of the active vendor entry.What was fixed
src/server/game/Entities/Creature/GossipDef.hPlayerChoiceData+ variantInteractionData; addVendorData(mirroringTrainerData) withGetVendor()accessors.src/server/game/Entities/Creature/GossipDef.cppVendorDatawhenStartInteraction(..., PlayerInteractionType::Vendor)is called.src/server/game/Handlers/ItemHandler.cppStartInteraction, store gossipvendorEntryinGetVendor()->Id; keep loading items viaGetNpcVendorItemList(vendorEntry)when set.src/server/game/Entities/Player/Player.cppGetVendor()->Idwhen validating purchases.src/server/scripts/Commands/cs_npc.cppGetVendor()->Idfor multivendor.npc add/delete vendoritem; fix delete path that usedTrainerId.Local verification
BUILDdirectory.game.vcxprojandscripts.vcxproj(Debug) successfully with VS 2022 MSBuild after fixes.Test plan
multivendor_master.mergeworkflow_master (multivendor_master, …)jobs pass (merge + compile + DB update + custom SQL)..npc add vendoritem <item> 0 0 0 1and.npc delete vendoritem <item> 1— verify items are added/removed from the active virtual vendor entry.