From f5db4fc163b2d3983fa3ac222fe84fb5c1f6d61c Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Sat, 10 Oct 2009 12:11:59 +0400 Subject: [PATCH] [8616] Some cleanups in WorldSession::SendMailTo --- src/game/Mail.cpp | 33 +++++++++++++++------------------ src/shared/revision_nr.h | 2 +- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/src/game/Mail.cpp b/src/game/Mail.cpp index f3077c168..3190d12dd 100644 --- a/src/game/Mail.cpp +++ b/src/game/Mail.cpp @@ -818,35 +818,32 @@ void WorldSession::SendMailTo(Player* receiver, uint8 messageType, uint8 station time_t deliver_time = time(NULL) + deliver_delay; - // expire time if COD 3 days, if no COD 30 days, if auction sale pending 1 hour uint32 expire_delay; - if(messageType == MAIL_AUCTION && !mi && !money) // auction mail without any items and money + // auction mail without any items and money (auction sale note) pending 1 hour + if (messageType == MAIL_AUCTION && !mi && !money) expire_delay = HOUR; + // mail from battlemaster (rewardmarks) should last only one day + else if (messageType == MAIL_CREATURE && sBattleGroundMgr.GetBattleMasterBG(sender_guidlow_or_entry) != BATTLEGROUND_TYPE_NONE) + expire_delay = DAY; + // default case: expire time if COD 3 days, if no COD 30 days else expire_delay = (COD > 0) ? 3 * DAY : 30 * DAY; - if (messageType == MAIL_CREATURE) - { - // mail from battlemaster (rewardmarks) should last only one day - BattleGroundTypeId bgTypeId = sBattleGroundMgr.GetBattleMasterBG(sender_guidlow_or_entry); - if (bgTypeId != BATTLEGROUND_TYPE_NONE) - expire_delay = DAY; - } time_t expire_time = deliver_time + expire_delay; - if(mailTemplateId && !sMailTemplateStore.LookupEntry(mailTemplateId)) + if (mailTemplateId && !sMailTemplateStore.LookupEntry(mailTemplateId)) { sLog.outError( "WorldSession::SendMailTo - Mail have not existed MailTemplateId (%u), remove at send", mailTemplateId); mailTemplateId = 0; } - if(receiver) + if (receiver) { receiver->AddNewMailDeliverTime(deliver_time); - if ( receiver->IsMailsLoaded() ) + if (receiver->IsMailsLoaded()) { Mail *m = new Mail; m->messageID = mailId; @@ -858,7 +855,7 @@ void WorldSession::SendMailTo(Player* receiver, uint8 messageType, uint8 station m->subject = subject; m->itemTextId = itemTextId; - if(mi) + if (mi) m->AddAllItems(*mi); m->expire_time = expire_time; @@ -870,20 +867,20 @@ void WorldSession::SendMailTo(Player* receiver, uint8 messageType, uint8 station receiver->AddMail(m); // to insert new mail to beginning of maillist - if(mi) + if (mi) { for(MailItemMap::iterator mailItemIter = mi->begin(); mailItemIter != mi->end(); ++mailItemIter) { MailItem& mailItem = mailItemIter->second; - if(mailItem.item) + if (mailItem.item) receiver->AddMItem(mailItem.item); } } } - else if(mi) + else if (mi) mi->deleteIncludedItems(); } - else if(mi) + else if (mi) mi->deleteIncludedItems(); CharacterDatabase.BeginTransaction(); @@ -892,7 +889,7 @@ void WorldSession::SendMailTo(Player* receiver, uint8 messageType, uint8 station "VALUES ('%u', '%u', '%u', '%u', '%u', '%u', '%s', '%u', '%u', '" UI64FMTD "','" UI64FMTD "', '%u', '%u', '%d')", mailId, messageType, stationery, mailTemplateId, sender_guidlow_or_entry, receiver_guidlow, subject.c_str(), itemTextId, (mi && !mi->empty() ? 1 : 0), (uint64)expire_time, (uint64)deliver_time, money, COD, checked); - if(mi) + if (mi) { for(MailItemMap::const_iterator mailItemIter = mi->begin(); mailItemIter != mi->end(); ++mailItemIter) { diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 168576ebd..ea33176bb 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "8615" + #define REVISION_NR "8616" #endif // __REVISION_NR_H__