diff options
author | linencloth <none@none> | 2010-12-26 21:34:08 +0100 |
---|---|---|
committer | linencloth <none@none> | 2010-12-26 21:34:08 +0100 |
commit | efbc73d025b12791b119eeeb5f4267a3f968f601 (patch) | |
tree | 5cb3ec347a110469adf31fa00d7701a9c47a41cf | |
parent | 07498c048cfcc5a784e08db9cc72d931e5088e66 (diff) |
Core/Player: Split RemoveQuest into 2 separate functions
--HG--
branch : trunk
-rwxr-xr-x | src/server/game/Entities/Player/Player.cpp | 7 | ||||
-rwxr-xr-x | src/server/game/Entities/Player/Player.h | 3 | ||||
-rwxr-xr-x | src/server/game/Server/Protocol/Handlers/QuestHandler.cpp | 2 | ||||
-rwxr-xr-x | src/server/game/Spells/SpellEffects.cpp | 3 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_quest.cpp | 3 |
5 files changed, 12 insertions, 6 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 390bcb35c95..3a42653815d 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -14641,7 +14641,7 @@ void Player::RewardQuest(Quest const *pQuest, uint32 reward, Object* questGiver, } else if (pQuest->IsWeekly()) SetWeeklyQuestStatus(quest_id); - RemoveQuest(quest_id); + RemoveActiveQuest(quest_id); m_RewardedQuests.insert(quest_id); m_RewardedQuestsSave[quest_id] = true; @@ -15210,7 +15210,7 @@ void Player::SetQuestStatus(uint32 quest_id, QuestStatus status) UpdateForQuestWorldObjects(); } -void Player::RemoveQuest(uint32 quest_id) +void Player::RemoveActiveQuest(uint32 quest_id) { QuestStatusMap::iterator itr = m_QuestStatus.find(quest_id); if (itr != m_QuestStatus.end()) @@ -15219,7 +15219,10 @@ void Player::RemoveQuest(uint32 quest_id) m_QuestStatusSave[quest_id] = false; return; } +} +void Player::RemoveRewardedQuest(uint32 quest_id) +{ RewardedQuestSet::iterator rewItr = m_RewardedQuests.find(quest_id); if (rewItr != m_RewardedQuests.end()) { diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 18c13622b8a..de4b62eed8d 100755 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1340,7 +1340,8 @@ class Player : public Unit, public GridObject<Player> bool GetQuestRewardStatus(uint32 quest_id) const; QuestStatus GetQuestStatus(uint32 quest_id) const; void SetQuestStatus(uint32 quest_id, QuestStatus status); - void RemoveQuest(uint32 quest_id); + void RemoveActiveQuest(uint32 quest_id); + void RemoveRewardedQuest(uint32 quest_id); void SetDailyQuestStatus(uint32 quest_id); void SetWeeklyQuestStatus(uint32 quest_id); diff --git a/src/server/game/Server/Protocol/Handlers/QuestHandler.cpp b/src/server/game/Server/Protocol/Handlers/QuestHandler.cpp index 20f52e0f12d..8b8a97985dd 100755 --- a/src/server/game/Server/Protocol/Handlers/QuestHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/QuestHandler.cpp @@ -409,7 +409,7 @@ void WorldSession::HandleQuestLogRemoveQuest(WorldPacket& recv_data) } _player->TakeQuestSourceItem(quest, true); // remove quest src item from player - _player->RemoveQuest(quest); + _player->RemoveActiveQuest(quest); _player->GetAchievementMgr().RemoveTimedAchievement(ACHIEVEMENT_TIMED_TYPE_QUEST, quest); sLog->outDetail("Player %u abandoned quest %u", _player->GetGUIDLow(), quest); diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 7904f72942b..7547180168c 100755 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -6118,7 +6118,8 @@ void Spell::EffectQuestClear(SpellEffIndex effIndex) } } - pPlayer->RemoveQuest(quest_id); + pPlayer->RemoveActiveQuest(quest_id); + pPlayer->RemoveRewardedQuest(quest_id); } void Spell::EffectSendTaxi(SpellEffIndex effIndex) diff --git a/src/server/scripts/Commands/cs_quest.cpp b/src/server/scripts/Commands/cs_quest.cpp index 25bfc1c6f45..25d1530ab0d 100644 --- a/src/server/scripts/Commands/cs_quest.cpp +++ b/src/server/scripts/Commands/cs_quest.cpp @@ -142,7 +142,8 @@ public: } } - player->RemoveQuest(entry); + player->RemoveActiveQuest(entry); + player->RemoveRewardedQuest(entry); handler->SendSysMessage(LANG_COMMAND_QUEST_REMOVED); return true; |