diff --git a/src/AuctionHouseBot.cpp b/src/AuctionHouseBot.cpp index fd4a41d..47957ff 100644 --- a/src/AuctionHouseBot.cpp +++ b/src/AuctionHouseBot.cpp @@ -1648,28 +1648,14 @@ void AuctionHouseBot::EmptyAuctionHouses() // Return item to AHBot if configured, else delete it if (ReturnExpiredAuctionItemsToBot) - { - // Copied logic from AuctionHouseMgr.cpp::SendAuctionExpiredMail(), but not working as intended - // For now, delete from DB so data doesn't build up unnecessarily - Item::DeleteFromDB(trans, auction->item_guid.GetCounter()); - - // Player* owner = ObjectAccessor::FindPlayer(auction->owner); - // Item* item = sAuctionMgr->GetAItem(auction->item_guid); - // owner->GetSession()->SendAuctionOwnerNotification(auction); - // MailDraft(auction->BuildAuctionMailSubject(AUCTION_EXPIRED), AuctionEntry::BuildAuctionMailBody(ObjectGuid::Empty, 0, auction->buyout, auction->deposit)) - // .AddItem(item) - // .SendMailTo(trans, MailReceiver(owner, auction->owner.GetCounter()), auction, MAIL_CHECK_MASK_COPIED, 0); - } + sAuctionMgr->SendAuctionExpiredMail(auction, trans, true, true); else - { Item::DeleteFromDB(trans, auction->item_guid.GetCounter()); - } // Remove auction from AH auction->DeleteFromDB(trans); sAuctionMgr->RemoveAItem(auction->item_guid); auctionHouse->RemoveAuction(auction); - } } diff --git a/src/AuctionHouseBotScript.cpp b/src/AuctionHouseBotScript.cpp index cdd0206..2cf7c3a 100644 --- a/src/AuctionHouseBotScript.cpp +++ b/src/AuctionHouseBotScript.cpp @@ -117,9 +117,17 @@ public: } if (isAHBot == true) { - if (sender.GetMailMessageType() == MAIL_AUCTION) // auction mail with items - deleteMailItemsFromDB = true; - sendMail = false; + if (sConfigMgr->GetOption("AuctionHouseBot.ReturnExpiredAuctionItemsToBot", false)) + { + deleteMailItemsFromDB = false; + sendMail = true; + } + else + { + if (sender.GetMailMessageType() == MAIL_AUCTION) // auction mail with items + deleteMailItemsFromDB = true; + sendMail = false; + } } } };