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())
|
} 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())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user