diff options
| author | Weyrath <weyrath@zoho.eu> | 2017-07-13 17:52:26 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2017-07-13 17:52:26 +0200 |
| commit | 8b2bd9a5f204fe02c1110d5e851647ee96302880 (patch) | |
| tree | 91be854f77e70714b4a38e6d7a36d9fb521a912c /src | |
| parent | 8d0633c842d474a843ec9f4bd45dcec3013bfd5d (diff) | |
Core/Quests: Fixed order of RewardChoiceItems and reputation reward. (#19904)
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) { |
