mirror of
https://github.com/mangosfour/server.git
synced 2025-12-16 04:37:00 +00:00
Add state for GM command completed quests. Thanks H0zen for assistance
This commit is contained in:
parent
4500bdeae4
commit
973c07358b
4 changed files with 9 additions and 4 deletions
|
|
@ -5646,7 +5646,7 @@ bool ChatHandler::HandleQuestCompleteCommand(char* args)
|
||||||
if (uint32 spell = pQuest->GetReqSpellLearned())
|
if (uint32 spell = pQuest->GetReqSpellLearned())
|
||||||
player->learnSpell(spell, false);
|
player->learnSpell(spell, false);
|
||||||
|
|
||||||
player->CompleteQuest(entry);
|
player->CompleteQuest(entry, QUEST_STATUS_FORCE_COMPLETE);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13742,11 +13742,11 @@ void Player::AddQuest(Quest const* pQuest, Object* questGiver)
|
||||||
UpdateForQuestWorldObjects();
|
UpdateForQuestWorldObjects();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::CompleteQuest(uint32 quest_id)
|
void Player::CompleteQuest(uint32 quest_id, QuestStatus status)
|
||||||
{
|
{
|
||||||
if (quest_id)
|
if (quest_id)
|
||||||
{
|
{
|
||||||
SetQuestStatus(quest_id, QUEST_STATUS_COMPLETE);
|
SetQuestStatus(quest_id, status);
|
||||||
|
|
||||||
uint16 log_slot = FindQuestSlot(quest_id);
|
uint16 log_slot = FindQuestSlot(quest_id);
|
||||||
if (log_slot < MAX_QUEST_LOG_SIZE)
|
if (log_slot < MAX_QUEST_LOG_SIZE)
|
||||||
|
|
@ -14485,7 +14485,11 @@ QuestStatus Player::GetQuestStatus(uint32 quest_id) const
|
||||||
{
|
{
|
||||||
QuestStatusMap::const_iterator itr = mQuestStatus.find(quest_id);
|
QuestStatusMap::const_iterator itr = mQuestStatus.find(quest_id);
|
||||||
if (itr != mQuestStatus.end())
|
if (itr != mQuestStatus.end())
|
||||||
|
{
|
||||||
|
if (itr->second.m_status == QUEST_STATUS_FORCE_COMPLETE)
|
||||||
|
return QUEST_STATUS_COMPLETE;
|
||||||
return itr->second.m_status;
|
return itr->second.m_status;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return QUEST_STATUS_NONE;
|
return QUEST_STATUS_NONE;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1463,7 +1463,7 @@ class Player : public Unit
|
||||||
bool CanRewardQuest(Quest const* pQuest, bool msg) const;
|
bool CanRewardQuest(Quest const* pQuest, bool msg) const;
|
||||||
bool CanRewardQuest(Quest const* pQuest, uint32 reward, bool msg) const;
|
bool CanRewardQuest(Quest const* pQuest, uint32 reward, bool msg) const;
|
||||||
void AddQuest(Quest const* pQuest, Object* questGiver);
|
void AddQuest(Quest const* pQuest, Object* questGiver);
|
||||||
void CompleteQuest(uint32 quest_id);
|
void CompleteQuest(uint32 quest_id, QuestStatus status = QUEST_STATUS_FORCE_COMPLETE);
|
||||||
void IncompleteQuest(uint32 quest_id);
|
void IncompleteQuest(uint32 quest_id);
|
||||||
void RewardQuest(Quest const* pQuest, uint32 reward, Object* questGiver, bool announce = true);
|
void RewardQuest(Quest const* pQuest, uint32 reward, Object* questGiver, bool announce = true);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -109,6 +109,7 @@ enum QuestStatus
|
||||||
QUEST_STATUS_INCOMPLETE = 3,
|
QUEST_STATUS_INCOMPLETE = 3,
|
||||||
QUEST_STATUS_AVAILABLE = 4, // unused in fact
|
QUEST_STATUS_AVAILABLE = 4, // unused in fact
|
||||||
QUEST_STATUS_FAILED = 5,
|
QUEST_STATUS_FAILED = 5,
|
||||||
|
QUEST_STATUS_FORCE_COMPLETE = 6,
|
||||||
MAX_QUEST_STATUS
|
MAX_QUEST_STATUS
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue