Current Behaviour
Sorry for AI-generated text, I'm not an expert in this area.
After updating the server to a version that includes azerothcore#24828, the Master Looter sees needs_quest items in the loot window even when they do not have the corresponding quest active. The item is visible but cannot be looted or assigned. This was not happening before the update.
Expected Behaviour
Quest items with QuestRequired = 1 should not appear in the loot window for players (including the Master Looter) who do not have the quest active, matching the behavior prior to azerothcore#24828.
Source
The old AllowedForPlayer() had a Master Looter bypass that explicitly excluded quest items:
bool itemVisibleForMasterLooter = !needs_quest && (!follow_loot_rules || !is_underthreshold);
!needs_quest ensured quest-required items were never shown to the ML through the bypass.
In azerothcore#24828, the ML handling was moved to FillQuestLoot():
bool allowed = item.AllowedForPlayer(player, sourceWorldObjectGUID);
if (!allowed && !isMasterLooter)
continue;
This bypasses AllowedForPlayer() for all quest items when the player is ML, including items where HasQuestForItem() returns false. The item gets added to the ML's loot view (ql->push_back), but since allowed is false, AddAllowedLooter() is never called — so the item is visible but cannot be picked up or distributed.
Steps to reproduce the problem
- Create a group with Master Loot enabled
- Be the Master Looter, do not accept a quest that requires a specific drop
- Kill a creature with
QuestRequired = 1 items in its loot table
- Open the loot window — quest items are visible but cannot be looted or assigned
Extra Notes
The old AllowedForPlayer() ML bypass used !needs_quest to explicitly keep quest items out of the ML's view. The new code in FillQuestLoot() removed this restriction, making all quest items visible to the ML regardless of quest status.
AC rev. hash/commit
server debug
AC> AzerothCore rev. 5e741c3 2026-03-30 11:59:44 -0700 (Playerbot branch) (Unix, RelWithDebInfo, Static)
Connected players: 1. Characters in world: 5.
Connection peak: 1.
Server uptime: 9 minute(s) 47 second(s)
Update time diff: 10ms. Last 500 diffs summary:
|- Mean: 10ms
|- Median: 10ms
|- Percentiles (95, 99, max): 12ms, 14ms, 16ms
Using SSL version: OpenSSL 3.0.13 30 Jan 2024 (library: OpenSSL 3.0.13 30 Jan 2024)
Using Boost version: 1.83.0
Using CMake version: 3.28.3
Using MySQL version: 80045
Found MySQL Executable: /usr/bin/mysql
Compiled on: Linux 6.8.0-107-generic
Worldserver listening connections on port 8085
Realmlist (Realm Id: 1) configured in port 8085
VMAPs status: Enabled. LineOfSight: true, getHeight: true, indoorCheck: true
MMAPs status: Enabled
maps directory located in /home/buratinich/Data/maps. Total size: 291014951 bytes
vmaps directory located in /home/buratinich/Data/vmaps. Total size: 657798358 bytes
mmaps directory located in /home/buratinich/Data/mmaps. Total size: 2192760616 bytes
Default DBC locale: enUS.
All available DBC locales: enUS frFR deDE zhCN
Using World DB: ACDB 335.16-dev
Using Playerbots DB Revision:
Latest LoginDatabase update: 2025_07_24_00.sql
Latest CharacterDatabase update: playerbots_names.sql
Latest WorldDatabase update: zone_zangarmarsh.sql
LoginDatabase queue size: 0
CharacterDatabase queue size: 0
WorldDatabase queue size: 0
PlayerbotsDatabase queue size: 0
List of enabled modules:
|- mod-TimeIsTime
|- mod-ah-bot-plus
|- mod-assistant
|- mod-autobalance
|- mod-easy-respawn
|- mod-individual-progression
|- mod-instance-tools
|- mod-junk-to-gold
|- mod-playerbots
|- mod-progression-system
|- mod-quest-loot-party
|- mod-reagent-bank
|- mod-solo-lfg
|- mod-warlock-pet-rename
|- mod_weather_vibe
AC> Update time diff: 179ms with 1 players online
Last 500 diffs summary:
|- Mean: 10ms
|- Median: 10ms
|- Percentiles (95, 99, max): 12ms, 14ms, 179ms
Operating system
Ubuntu 24.04.4 LTS
Custom changes or Modules
none
Current Behaviour
Sorry for AI-generated text, I'm not an expert in this area.
After updating the server to a version that includes azerothcore#24828, the Master Looter sees
needs_questitems in the loot window even when they do not have the corresponding quest active. The item is visible but cannot be looted or assigned. This was not happening before the update.Expected Behaviour
Quest items with
QuestRequired = 1should not appear in the loot window for players (including the Master Looter) who do not have the quest active, matching the behavior prior to azerothcore#24828.Source
The old
AllowedForPlayer()had a Master Looter bypass that explicitly excluded quest items:bool itemVisibleForMasterLooter = !needs_quest && (!follow_loot_rules || !is_underthreshold);!needs_questensured quest-required items were never shown to the ML through the bypass.In azerothcore#24828, the ML handling was moved to
FillQuestLoot():This bypasses
AllowedForPlayer()for all quest items when the player is ML, including items whereHasQuestForItem()returnsfalse. The item gets added to the ML's loot view (ql->push_back), but sinceallowedisfalse,AddAllowedLooter()is never called — so the item is visible but cannot be picked up or distributed.Steps to reproduce the problem
QuestRequired = 1items in its loot tableExtra Notes
The old
AllowedForPlayer()ML bypass used!needs_questto explicitly keep quest items out of the ML's view. The new code inFillQuestLoot()removed this restriction, making all quest items visible to the ML regardless of quest status.AC rev. hash/commit
server debug
AC> AzerothCore rev. 5e741c3 2026-03-30 11:59:44 -0700 (Playerbot branch) (Unix, RelWithDebInfo, Static)
Connected players: 1. Characters in world: 5.
Connection peak: 1.
Server uptime: 9 minute(s) 47 second(s)
Update time diff: 10ms. Last 500 diffs summary:
|- Mean: 10ms
|- Median: 10ms
|- Percentiles (95, 99, max): 12ms, 14ms, 16ms
Using SSL version: OpenSSL 3.0.13 30 Jan 2024 (library: OpenSSL 3.0.13 30 Jan 2024)
Using Boost version: 1.83.0
Using CMake version: 3.28.3
Using MySQL version: 80045
Found MySQL Executable: /usr/bin/mysql
Compiled on: Linux 6.8.0-107-generic
Worldserver listening connections on port 8085
Realmlist (Realm Id: 1) configured in port 8085
VMAPs status: Enabled. LineOfSight: true, getHeight: true, indoorCheck: true
MMAPs status: Enabled
maps directory located in /home/buratinich/Data/maps. Total size: 291014951 bytes
vmaps directory located in /home/buratinich/Data/vmaps. Total size: 657798358 bytes
mmaps directory located in /home/buratinich/Data/mmaps. Total size: 2192760616 bytes
Default DBC locale: enUS.
All available DBC locales: enUS frFR deDE zhCN
Using World DB: ACDB 335.16-dev
Using Playerbots DB Revision:
Latest LoginDatabase update: 2025_07_24_00.sql
Latest CharacterDatabase update: playerbots_names.sql
Latest WorldDatabase update: zone_zangarmarsh.sql
LoginDatabase queue size: 0
CharacterDatabase queue size: 0
WorldDatabase queue size: 0
PlayerbotsDatabase queue size: 0
List of enabled modules:
|- mod-TimeIsTime
|- mod-ah-bot-plus
|- mod-assistant
|- mod-autobalance
|- mod-easy-respawn
|- mod-individual-progression
|- mod-instance-tools
|- mod-junk-to-gold
|- mod-playerbots
|- mod-progression-system
|- mod-quest-loot-party
|- mod-reagent-bank
|- mod-solo-lfg
|- mod-warlock-pet-rename
|- mod_weather_vibe
AC> Update time diff: 179ms with 1 players online
Last 500 diffs summary:
|- Mean: 10ms
|- Median: 10ms
|- Percentiles (95, 99, max): 12ms, 14ms, 179ms
Operating system
Ubuntu 24.04.4 LTS
Custom changes or Modules
none