mirror of
https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk.git
synced 2026-07-11 03:13:10 +00:00
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:
@@ -1525,7 +1525,9 @@ void Group::CountTheRoll(Rolls::iterator rollI, Map* allowedMap)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
uint32 mailOnFull = sWorld->getIntConfig(CONFIG_LFG_MAIL_ITEM_ON_FULL_INVENTORY);
|
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;
|
item->is_looted = true;
|
||||||
roll->getLoot()->NotifyItemRemoved(roll->itemSlot);
|
roll->getLoot()->NotifyItemRemoved(roll->itemSlot);
|
||||||
@@ -1607,7 +1609,9 @@ void Group::CountTheRoll(Rolls::iterator rollI, Map* allowedMap)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
uint32 mailOnFull = sWorld->getIntConfig(CONFIG_LFG_MAIL_ITEM_ON_FULL_INVENTORY);
|
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;
|
item->is_looted = true;
|
||||||
roll->getLoot()->NotifyItemRemoved(roll->itemSlot);
|
roll->getLoot()->NotifyItemRemoved(roll->itemSlot);
|
||||||
|
|||||||
Reference in New Issue
Block a user