diff options
| author | pete318 <pete318@users.noreply.github.com> | 2016-02-03 00:45:31 +0000 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-04-10 17:48:29 +0200 |
| commit | 7d5d79aa015b21969a1f5ca75ca3efe8cb842f25 (patch) | |
| tree | e21f6f3a63c2a4a3a0891fc4348dee866200dd67 /src/server/game/World | |
| parent | b23a6aeaff403266491ea75207558bf9917b9cc4 (diff) | |
Implement AuctionHouse features: GetAll scan and search throttling
Implements two standard features of the Auction House.
* GetAll scan, retrieves all auctions and sends them in a single packet.
There's a limitation on how often a player can do this (Max 55000 items)
* Search throttling. For normal searches, the server can send a time
in milliseconds to the client, the client will wait that long between
searches. Delay set in config
Closes #16469
(cherry picked from commit 3aaeb574050668e5a240078f6e40337c3975d110)
Diffstat (limited to 'src/server/game/World')
| -rw-r--r-- | src/server/game/World/World.cpp | 7 | ||||
| -rw-r--r-- | src/server/game/World/World.h | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index c77bcfb5962..9d8b88abfe6 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -644,6 +644,13 @@ void World::LoadConfigSettings(bool reload) m_bool_configs[CONFIG_ADDON_CHANNEL] = sConfigMgr->GetBoolDefault("AddonChannel", true); m_bool_configs[CONFIG_CLEAN_CHARACTER_DB] = sConfigMgr->GetBoolDefault("CleanCharacterDB", false); m_int_configs[CONFIG_PERSISTENT_CHARACTER_CLEAN_FLAGS] = sConfigMgr->GetIntDefault("PersistentCharacterCleanFlags", 0); + m_int_configs[CONFIG_AUCTION_GETALL_DELAY] = sConfigMgr->GetIntDefault("Auction.GetAllScanDelay", 900); + m_int_configs[CONFIG_AUCTION_SEARCH_DELAY] = sConfigMgr->GetIntDefault("Auction.SearchDelay", 300); + if (m_int_configs[CONFIG_AUCTION_SEARCH_DELAY] < 100 || m_int_configs[CONFIG_AUCTION_SEARCH_DELAY] > 10000) + { + TC_LOG_ERROR("server.loading", "Auction.SearchDelay (%i) must be between 100 and 10000. Using default of 300ms", m_int_configs[CONFIG_AUCTION_SEARCH_DELAY]); + m_int_configs[CONFIG_AUCTION_SEARCH_DELAY] = 300; + } m_int_configs[CONFIG_CHAT_CHANNEL_LEVEL_REQ] = sConfigMgr->GetIntDefault("ChatLevelReq.Channel", 1); m_int_configs[CONFIG_CHAT_WHISPER_LEVEL_REQ] = sConfigMgr->GetIntDefault("ChatLevelReq.Whisper", 1); m_int_configs[CONFIG_CHAT_SAY_LEVEL_REQ] = sConfigMgr->GetIntDefault("ChatLevelReq.Say", 1); diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index 84b1ba556e3..751caa4b720 100644 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -375,6 +375,8 @@ enum WorldIntConfigs CONFIG_CHARTER_COST_ARENA_5v5, CONFIG_NO_GRAY_AGGRO_ABOVE, CONFIG_NO_GRAY_AGGRO_BELOW, + CONFIG_AUCTION_GETALL_DELAY, + CONFIG_AUCTION_SEARCH_DELAY, CONFIG_TALENTS_INSPECTING, INT_CONFIG_VALUE_COUNT }; |
