From aced88b09bd918b0ed17b6c5e8a6048788600d9d Mon Sep 17 00:00:00 2001 From: Shauren Date: Mon, 20 Apr 2020 20:36:24 +0200 Subject: Core/AuctionHouse: After taking a break at the start of patch 8.3 auction house is now back in business. --- src/server/game/Mails/Mail.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/server/game/Mails/Mail.cpp') diff --git a/src/server/game/Mails/Mail.cpp b/src/server/game/Mails/Mail.cpp index e54a623c8a4..00fb553d539 100644 --- a/src/server/game/Mails/Mail.cpp +++ b/src/server/game/Mails/Mail.cpp @@ -62,8 +62,8 @@ MailSender::MailSender(CalendarEvent* sender) { } -MailSender::MailSender(AuctionEntry* sender) - : m_messageType(MAIL_AUCTION), m_senderId(uint64(sender->GetHouseId())), m_stationery(MAIL_STATIONERY_AUCTION) { } +MailSender::MailSender(AuctionHouseObject const* sender) + : m_messageType(MAIL_AUCTION), m_senderId(uint64(sender->GetAuctionHouseId())), m_stationery(MAIL_STATIONERY_AUCTION) { } MailSender::MailSender(BlackMarketEntry* sender) : m_messageType(MAIL_BLACKMARKET), m_senderId(sender->GetTemplate()->SellerNPC), m_stationery(MAIL_STATIONERY_AUCTION) { } @@ -89,6 +89,11 @@ MailReceiver::MailReceiver(Player* receiver, ObjectGuid::LowType receiver_lowgui ASSERT(!receiver || receiver->GetGUID().GetCounter() == receiver_lowguid); } +MailReceiver::MailReceiver(Player* receiver, ObjectGuid receiverGuid) : m_receiver(receiver), m_receiver_lowguid(receiverGuid.GetCounter()) +{ + ASSERT(!receiver || receiver->GetGUID() == receiverGuid); +} + MailDraft& MailDraft::AddItem(Item* item) { m_items[item->GetGUID().GetCounter()] = item; @@ -182,7 +187,7 @@ void MailDraft::SendReturnToSender(uint32 sender_acc, ObjectGuid::LowType sender void MailDraft::SendMailTo(CharacterDatabaseTransaction& trans, MailReceiver const& receiver, MailSender const& sender, MailCheckMask checked, uint32 deliver_delay) { Player* pReceiver = receiver.GetPlayer(); // can be NULL - Player* pSender = ObjectAccessor::FindPlayer(ObjectGuid::Create(sender.GetSenderId())); + Player* pSender = sender.GetMailMessageType() == MAIL_NORMAL ? ObjectAccessor::FindPlayer(ObjectGuid::Create(sender.GetSenderId())) : nullptr; if (pReceiver) prepareItems(pReceiver, trans); // generate mail template items -- cgit v1.2.3