From 89656d5749f72803edbdd5f9840ba6b4c21f3987 Mon Sep 17 00:00:00 2001 From: n0n4m3 Date: Thu, 17 Dec 2009 13:07:38 +0100 Subject: Restore some commits from trinitycore2 3.1.3 --HG-- branch : trunk --- src/game/Level3.cpp | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) (limited to 'src/game/Level3.cpp') diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp index 35c73617b56..e4adb4c6550 100644 --- a/src/game/Level3.cpp +++ b/src/game/Level3.cpp @@ -560,6 +560,7 @@ bool ChatHandler::HandleReloadAllCommand(const char*) HandleReloadAllLocalesCommand(""); HandleReloadAccessRequirementCommand(""); + HandleReloadMailLevelRewardCommand(""); HandleReloadCommandCommand(""); HandleReloadReservedNameCommand(""); HandleReloadTrinityStringCommand(""); @@ -881,12 +882,12 @@ bool ChatHandler::HandleReloadLootTemplatesProspectingCommand(const char*) return true; } -bool ChatHandler::HandleReloadLootTemplatesQuestMailCommand(const char*) +bool ChatHandler::HandleReloadLootTemplatesMailCommand(const char*) { - sLog.outString( "Re-Loading Loot Tables... (`quest_mail_loot_template`)" ); - LoadLootTemplates_QuestMail(); - LootTemplates_QuestMail.CheckLootRefs(); - SendGlobalGMSysMessage("DB table `quest_mail_loot_template` reloaded."); + sLog.outString( "Re-Loading Loot Tables... (`mail_loot_template`)" ); + LoadLootTemplates_Mail(); + LootTemplates_Mail.CheckLootRefs(); + SendGlobalSysMessage("DB table `mail_loot_template` reloaded."); return true; } @@ -1366,6 +1367,14 @@ bool ChatHandler::HandleReloadLocalesQuestCommand(const char* /*arg*/) return true; } +bool ChatHandler::HandleReloadMailLevelRewardCommand(const char* /*arg*/) +{ + sLog.outString( "Re-Loading Player level dependent mail rewards..." ); + objmgr.LoadMailLevelRewards(); + SendGlobalSysMessage("DB table `mail_level_reward` reloaded."); + return true; +} + bool ChatHandler::HandleLoadScriptsCommand(const char *args) { if(!LoadScriptingModule(args)) return true; @@ -7100,25 +7109,23 @@ bool ChatHandler::HandleSendItemsCommand(const char *args) } // from console show not existed sender - uint32 sender_guidlo = m_session ? m_session->GetPlayer()->GetGUIDLow() : 0; + MailSender sender(MAIL_NORMAL,m_session ? m_session->GetPlayer()->GetGUIDLow() : 0, MAIL_STATIONERY_GM); - uint32 messagetype = MAIL_NORMAL; - uint32 stationery = MAIL_STATIONERY_GM; uint32 itemTextId = !text.empty() ? objmgr.CreateItemText( text ) : 0; // fill mail - MailItemsInfo mi; // item list preparing + MailDraft draft(subject, itemTextId); for (ItemPairs::const_iterator itr = items.begin(); itr != items.end(); ++itr) { if(Item* item = Item::CreateItem(itr->first,itr->second,m_session ? m_session->GetPlayer() : 0)) { item->SaveToDB(); // save for prevent lost at next mail load, if send fail then item will deleted - mi.AddItem(item->GetGUIDLow(), item->GetEntry(), item); + draft.AddItem(item); } } - WorldSession::SendMailTo(receiver,messagetype, stationery, sender_guidlo, GUID_LOPART(receiver_guid), subject, itemTextId, &mi, 0, 0, MAIL_CHECK_MASK_NONE); + draft.SendMailTo(MailReceiver(receiver,GUID_LOPART(receiver_guid)), sender); std::string nameLink = playerLink(receiver_name); PSendSysMessage(LANG_MAIL_SENT, nameLink.c_str()); @@ -7162,13 +7169,13 @@ bool ChatHandler::HandleSendMoneyCommand(const char *args) std::string text = msgText; // from console show not existed sender - uint32 sender_guidlo = m_session ? m_session->GetPlayer()->GetGUIDLow() : 0; + MailSender sender(MAIL_NORMAL,m_session ? m_session->GetPlayer()->GetGUIDLow() : 0, MAIL_STATIONERY_GM); - uint32 messagetype = MAIL_NORMAL; - uint32 stationery = MAIL_STATIONERY_GM; uint32 itemTextId = !text.empty() ? objmgr.CreateItemText( text ) : 0; - WorldSession::SendMailTo(receiver,messagetype, stationery, sender_guidlo, GUID_LOPART(receiver_guid), subject, itemTextId, NULL, money, 0, MAIL_CHECK_MASK_NONE); + MailDraft(subject, itemTextId) + .AddMoney(money) + .SendMailTo(MailReceiver(receiver,GUID_LOPART(receiver_guid)),sender); std::string nameLink = playerLink(receiver_name); PSendSysMessage(LANG_MAIL_SENT, nameLink.c_str()); -- cgit v1.2.3