Conversation
Rule: every module has, and must have, its own .conf, whose first key is Enable; it is installed with the module. mangosd.conf knows no module. Core: - Add AuctionHouseModule / AuctionHouseModules (src/game/Object/AuctionHouseModule.h): lifecycle, commands, book queries and request hooks; modules register from a static object, the core never names one. - AuctionHouseHandler, AuctionHouseMgr, Mail, World, WorldConfig, WorldSession, ObjectMgr, Player: drop every AH service branch, type and setting; call the module hooks instead. - Remove the forged "AuctionHouse" bot owner (GUID 0xFFFFFFFE). - Player::CanUseItem checks inline again (no AhUsabilityRef). - ChatCommand takes a free-function handler; module command tables are merged into the root table, sorted by name. - MailDraft::SendMailToInTransaction takes a plain list of after-commit effects. - mangosd: -t runs tests registered with RegisterMangosdTest; -a sets the bot config file through AuctionHouseModules; modules stop after the maps unload. - mangosd.conf: no AH service keys; ConfVersion bumped. Modules: - src/modules/AuctionHouseBot: the in-process bot, BUILD_AHBOT (default ON), Enable as the first key of ahbot.conf (ConfVersion bumped), .ahbot commands. - src/modules/AhService: IPC, worker, custody, intent executor, .ah commands and the self-tests, BUILD_AH_SERVICE (default OFF), all its keys in ah-service.conf with Enable first (AH.Service.Enabled is now AH.Service.Worker; AH.Service.Config is gone, the worker gets the same file). - .ah reload and .ah status take over the service parts of .ahbot reload/status. - The playerbots' ike3 AhBot (src/modules/Bots/ahbot) is no longer built; src/modules/Bots/AhBotPrices.cpp answers its price queries as before (0, 0, 1.0). Fixes: - Cancelling an auction no longer aborts the server: the mails were sent inside the open transaction and opened a nested one (MANGOS_ASSERT). They now write into it and their live effects run after the commit. - AuctionHouseBot seller prices: 64-bit math, saturated to uint32 (was a 32-bit wrap and an out-of-range conversion). Docs: - CLAUDE.md, extra/doc/AuctionHouseBot.md, src/modules/AhService/README.md. - KNOWN_DEFECTS.md in both modules, from the review of the split. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
slproweb no longer serves the 3.6.4 installer (404); 3.6.5 and its SHA512 are taken from slproweb's published hash list. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 1497 |
| Duplication | 67 |
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
cppcheck variableScope (Codacy): s_lastOverflowWarn and s_lastNearFullWarn are only used inside one branch each; behaviour unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
|
Discussed with h0zen, this is on hold until after the auction worker is fully completed and this will follow behind and be updated for that. |
MadMaxMangos
marked this pull request as draft
October 3, 2026 14:37
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.
Moves the in-process auction house bot and the out-of-process AH service out of the core into modules.
Rule: every module has, and must have, its own
.conf, whose first key isEnable; it is installed with the module.mangosd.confknows no module.Core
AuctionHouseModule/AuctionHouseModules(src/game/Object/AuctionHouseModule.h): lifecycle, commands, book queries and request hooks. Modules register from a static object; the core never names one.AuctionHouseHandler,AuctionHouseMgr,Mail,World,WorldConfig,WorldSession,ObjectMgr,Player: every AH service branch, type and setting removed; the module hooks are called instead.0xFFFFFFFE) is removed.Player::CanUseItemchecks inline again (noAhUsabilityRef).ChatCommandtakes a free-function handler; module command tables are merged into the root table, sorted by name.MailDraft::SendMailToInTransactiontakes a plain list of after-commit effects.mangosd:-truns tests registered withRegisterMangosdTest;-asets the bot config file throughAuctionHouseModules; modules stop after the maps unload.mangosd.conf: no AH service keys;ConfVersionbumped.Modules
src/modules/AuctionHouseBot: the in-process bot.BUILD_AHBOT(default ON),Enablefirst inahbot.conf(ConfVersionbumped),.ahbotcommands.src/modules/AhService: IPC, worker, custody, intent executor,.ahcommands and its self-tests.BUILD_AH_SERVICE(default OFF). All its keys are inah-service.confwithEnablefirst;AH.Service.Enabledis nowAH.Service.Worker;AH.Service.Configis gone (the worker gets the same file)..ah reloadand.ah statustake over the service parts of.ahbot reload/.ahbot status.src/modules/Bots/ahbot) is no longer built;src/modules/Bots/AhBotPrices.cppanswers its price queries as before (0, 0, 1.0).Fixes
MANGOS_ASSERTinTransHelper::init). They now write into it, and their live effects run after the commit.uint32(was a 32-bit wrap and an out-of-range conversion).Docs
CLAUDE.md,extra/doc/AuctionHouseBot.md,src/modules/AhService/README.md.KNOWN_DEFECTS.mdin both modules, from a review of the split. The listed defects predate it.Verified
PCH=0, AH service and playerbots on: MSVC (Windows), clang 19 (FreeBSD 15), gcc 13 (Ubuntu 24.04). 0 errors, no new warnings.ah-service --selftestpasses.mangosd -tservice tests pass on a copy of a character database, with both modules loaded.mangosdstarts, runs the world loop and shuts down cleanly with both modules enabled.installplacesahbot.conf.distandah-service.conf.distin the config directory.🤖 Generated with Claude Code
This change is