Core/Player: Split RemoveQuest into 2 separate functions

--HG--
branch : trunk
This commit is contained in:
linencloth
2010-12-26 21:34:08 +01:00
parent 07498c048c
commit efbc73d025
5 changed files with 12 additions and 6 deletions
+5 -2
View File
@@ -14641,7 +14641,7 @@ void Player::RewardQuest(Quest const *pQuest, uint32 reward, Object* questGiver,
} else if (pQuest->IsWeekly()) } else if (pQuest->IsWeekly())
SetWeeklyQuestStatus(quest_id); SetWeeklyQuestStatus(quest_id);
RemoveQuest(quest_id); RemoveActiveQuest(quest_id);
m_RewardedQuests.insert(quest_id); m_RewardedQuests.insert(quest_id);
m_RewardedQuestsSave[quest_id] = true; m_RewardedQuestsSave[quest_id] = true;
@@ -15210,7 +15210,7 @@ void Player::SetQuestStatus(uint32 quest_id, QuestStatus status)
UpdateForQuestWorldObjects(); UpdateForQuestWorldObjects();
} }
void Player::RemoveQuest(uint32 quest_id) void Player::RemoveActiveQuest(uint32 quest_id)
{ {
QuestStatusMap::iterator itr = m_QuestStatus.find(quest_id); QuestStatusMap::iterator itr = m_QuestStatus.find(quest_id);
if (itr != m_QuestStatus.end()) if (itr != m_QuestStatus.end())
@@ -15219,7 +15219,10 @@ void Player::RemoveQuest(uint32 quest_id)
m_QuestStatusSave[quest_id] = false; m_QuestStatusSave[quest_id] = false;
return; return;
} }
}
void Player::RemoveRewardedQuest(uint32 quest_id)
{
RewardedQuestSet::iterator rewItr = m_RewardedQuests.find(quest_id); RewardedQuestSet::iterator rewItr = m_RewardedQuests.find(quest_id);
if (rewItr != m_RewardedQuests.end()) if (rewItr != m_RewardedQuests.end())
{ {
+2 -1
View File
@@ -1340,7 +1340,8 @@ class Player : public Unit, public GridObject<Player>
bool GetQuestRewardStatus(uint32 quest_id) const; bool GetQuestRewardStatus(uint32 quest_id) const;
QuestStatus GetQuestStatus(uint32 quest_id) const; QuestStatus GetQuestStatus(uint32 quest_id) const;
void SetQuestStatus(uint32 quest_id, QuestStatus status); 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 SetDailyQuestStatus(uint32 quest_id);
void SetWeeklyQuestStatus(uint32 quest_id); void SetWeeklyQuestStatus(uint32 quest_id);
@@ -409,7 +409,7 @@ void WorldSession::HandleQuestLogRemoveQuest(WorldPacket& recv_data)
} }
_player->TakeQuestSourceItem(quest, true); // remove quest src item from player _player->TakeQuestSourceItem(quest, true); // remove quest src item from player
_player->RemoveQuest(quest); _player->RemoveActiveQuest(quest);
_player->GetAchievementMgr().RemoveTimedAchievement(ACHIEVEMENT_TIMED_TYPE_QUEST, quest); _player->GetAchievementMgr().RemoveTimedAchievement(ACHIEVEMENT_TIMED_TYPE_QUEST, quest);
sLog->outDetail("Player %u abandoned quest %u", _player->GetGUIDLow(), quest); sLog->outDetail("Player %u abandoned quest %u", _player->GetGUIDLow(), quest);
+2 -1
View File
@@ -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) void Spell::EffectSendTaxi(SpellEffIndex effIndex)
+2 -1
View File
@@ -142,7 +142,8 @@ public:
} }
} }
player->RemoveQuest(entry); player->RemoveActiveQuest(entry);
player->RemoveRewardedQuest(entry);
handler->SendSysMessage(LANG_COMMAND_QUEST_REMOVED); handler->SendSysMessage(LANG_COMMAND_QUEST_REMOVED);
return true; return true;