fix(Core/Groups): keep unique roll-won items on corpse instead of mailing (#26059)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Andrew
2026-06-01 21:47:40 -03:00
committed by GitHub
parent b927b716f2
commit bbea93b558
+6 -2
View File
@@ -1525,7 +1525,9 @@ void Group::CountTheRoll(Rolls::iterator rollI, Map* allowedMap)
else
{
uint32 mailOnFull = sWorld->getIntConfig(CONFIG_LFG_MAIL_ITEM_ON_FULL_INVENTORY);
if (mailOnFull == MAIL_ITEM_ON_FULL_INVENTORY_EVERYWHERE || (mailOnFull == MAIL_ITEM_ON_FULL_INVENTORY_LFG_ONLY && isLFGGroup()))
// Only mail when bags are genuinely full. Unique/max-count failures must
// leave the item on the corpse so it can be re-rolled or freely looted.
if (msg == EQUIP_ERR_INVENTORY_FULL && (mailOnFull == MAIL_ITEM_ON_FULL_INVENTORY_EVERYWHERE || (mailOnFull == MAIL_ITEM_ON_FULL_INVENTORY_LFG_ONLY && isLFGGroup())))
{
item->is_looted = true;
roll->getLoot()->NotifyItemRemoved(roll->itemSlot);
@@ -1607,7 +1609,9 @@ void Group::CountTheRoll(Rolls::iterator rollI, Map* allowedMap)
else
{
uint32 mailOnFull = sWorld->getIntConfig(CONFIG_LFG_MAIL_ITEM_ON_FULL_INVENTORY);
if (mailOnFull == MAIL_ITEM_ON_FULL_INVENTORY_EVERYWHERE || (mailOnFull == MAIL_ITEM_ON_FULL_INVENTORY_LFG_ONLY && isLFGGroup()))
// Only mail when bags are genuinely full. Unique/max-count failures must
// leave the item on the corpse so it can be re-rolled or freely looted.
if (msg == EQUIP_ERR_INVENTORY_FULL && (mailOnFull == MAIL_ITEM_ON_FULL_INVENTORY_EVERYWHERE || (mailOnFull == MAIL_ITEM_ON_FULL_INVENTORY_LFG_ONLY && isLFGGroup())))
{
item->is_looted = true;
roll->getLoot()->NotifyItemRemoved(roll->itemSlot);