fix(Core/Spell): EffectQuestComplete, set quest to rewarded instead of complete (#20358)

set quest to rewarded instead of complete when targetted by SPELL_EFFECT_QUEST_COMPLETE

Prevents people from ending up with strange quests in their quest logs.

https://github.com/TrinityCore/TrinityCore/commit/6d62f852acf3e1a3ee57cde2442832280aee814

Co-authored-by: SnapperRy <snapperryen@gmail.com>
This commit is contained in:
Jelle Meeus
2024-11-15 07:47:41 +01:00
committed by GitHub
parent 6fd034c8b3
commit 9f58216383
3 changed files with 10 additions and 4 deletions

View File

@@ -819,8 +819,7 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver,
SetSeasonalQuestStatus(quest_id);
RemoveActiveQuest(quest_id, false);
m_RewardedQuests.insert(quest_id);
m_RewardedQuestsSave[quest_id] = true;
SetRewardedQuest(quest_id);
if (announce)
SendQuestReward(quest, XP);
@@ -877,6 +876,12 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver,
sScriptMgr->OnPlayerCompleteQuest(this, quest);
}
void Player::SetRewardedQuest(uint32 quest_id)
{
m_RewardedQuests.insert(quest_id);
m_RewardedQuestsSave[quest_id] = true;
}
void Player::FailQuest(uint32 questId)
{
if (Quest const* quest = sObjectMgr->GetQuestTemplate(questId))