diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 33ce50c1053..032c02f2288 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -14999,19 +14999,6 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, RemoveTimedQuest(quest_id); - if (quest->GetRewChoiceItemsCount() > 0) - { - if (uint32 itemId = quest->RewardChoiceItemId[reward]) - { - ItemPosCountVec dest; - if (CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, itemId, quest->RewardChoiceItemCount[reward]) == EQUIP_ERR_OK) - { - Item* item = StoreNewItem(dest, itemId, true, GenerateItemRandomPropertyId(itemId)); - SendNewItem(item, quest->RewardChoiceItemCount[reward], true, false); - } - } - } - if (quest->GetRewItemsCount() > 0) { for (uint32 i = 0; i < quest->GetRewItemsCount(); ++i) @@ -15030,7 +15017,18 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, } } - RewardReputation(quest); + if (quest->GetRewChoiceItemsCount() > 0) + { + if (uint32 itemId = quest->RewardChoiceItemId[reward]) + { + ItemPosCountVec dest; + if (CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, itemId, quest->RewardChoiceItemCount[reward]) == EQUIP_ERR_OK) + { + Item* item = StoreNewItem(dest, itemId, true, GenerateItemRandomPropertyId(itemId)); + SendNewItem(item, quest->RewardChoiceItemCount[reward], true, false); + } + } + } uint16 log_slot = FindQuestSlot(quest_id); if (log_slot < MAX_QUEST_LOG_SIZE) @@ -15117,6 +15115,8 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, if (announce) SendQuestReward(quest, XP); + RewardReputation(quest); + // cast spells after mark quest complete (some spells have quest completed state requirements in spell_area data) if (quest->GetRewSpellCast() > 0) { |