Core/Quests: Abandon&Finish quest items

Destroy quest items on quest failure/abandon.

Failing/abandoning a quest should not unconditionally remove required items, non-quest specific items such as crafting reagents should remain in inventory.

Delete all quest bound items on quest reward, failure or abandoning.

Only delete all quest bound items from inventory on turn in if the quest is not repeatable
This commit is contained in:
poszer
2019-01-07 18:13:47 +01:00
parent b5d56462e2
commit d213a4ef93
3 changed files with 51 additions and 22 deletions

View File

@@ -418,6 +418,7 @@ void WorldSession::HandleQuestLogRemoveQuest(WorldPacket& recvData)
}
_player->TakeQuestSourceItem(questId, true); // remove quest src item from player
_player->AbandonQuest(questId); // remove all quest items player received before abandoning quest.
_player->RemoveActiveQuest(questId);
_player->RemoveTimedAchievement(ACHIEVEMENT_TIMED_TYPE_QUEST, questId);
#ifdef ELUNA