aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlinencloth <none@none>2010-12-26 21:34:08 +0100
committerlinencloth <none@none>2010-12-26 21:34:08 +0100
commitefbc73d025b12791b119eeeb5f4267a3f968f601 (patch)
tree5cb3ec347a110469adf31fa00d7701a9c47a41cf /src
parent07498c048cfcc5a784e08db9cc72d931e5088e66 (diff)
Core/Player: Split RemoveQuest into 2 separate functions
--HG-- branch : trunk
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Entities/Player/Player.cpp7
-rwxr-xr-xsrc/server/game/Entities/Player/Player.h3
-rwxr-xr-xsrc/server/game/Server/Protocol/Handlers/QuestHandler.cpp2
-rwxr-xr-xsrc/server/game/Spells/SpellEffects.cpp3
-rw-r--r--src/server/scripts/Commands/cs_quest.cpp3
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;