Core/Player: Split RemoveQuest into 2 separate functions
--HG-- branch : trunk
This commit is contained in:
@@ -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())
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -142,7 +142,8 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
player->RemoveQuest(entry);
|
||||
player->RemoveActiveQuest(entry);
|
||||
player->RemoveRewardedQuest(entry);
|
||||
|
||||
handler->SendSysMessage(LANG_COMMAND_QUEST_REMOVED);
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user