From d4e15f1aac3159bb5e17808ee06efb847fdd4789 Mon Sep 17 00:00:00 2001 From: SnapperRy Date: Tue, 19 Jul 2016 09:02:01 +0200 Subject: Core/Mail: implement a way to specify NPC sender for mails when they should be different from the quest ender (#17601) --- src/server/game/Entities/Player/Player.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/server/game/Entities') diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a42fdea2b9f..b177a193afd 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -14983,7 +14983,10 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, { /// @todo Poor design of mail system SQLTransaction trans = CharacterDatabase.BeginTransaction(); - MailDraft(mail_template_id).SendMailTo(trans, this, questGiver, MAIL_CHECK_MASK_HAS_BODY, quest->GetRewMailDelaySecs()); + if (quest->GetRewMailSenderEntry() != 0) + MailDraft(mail_template_id).SendMailTo(trans, this, quest->GetRewMailSenderEntry(), MAIL_CHECK_MASK_HAS_BODY, quest->GetRewMailDelaySecs()); + else + MailDraft(mail_template_id).SendMailTo(trans, this, questGiver, MAIL_CHECK_MASK_HAS_BODY, quest->GetRewMailDelaySecs()); CharacterDatabase.CommitTransaction(trans); } -- cgit v1.2.3