diff options
author | PolarCookie <sei009@post.uit.no> | 2019-04-10 12:58:40 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-11-27 00:21:08 +0100 |
commit | 0bde06c4027d2e60edc30b55fa7b42da8d253d29 (patch) | |
tree | 97712d17c00b8a0055bcce47b07af16c1390f2fc /src/server/game/Quests | |
parent | 7f57f6f6061f44a98a021d3de35d524e0fc8eec8 (diff) |
Core support for breadcrumb quests (#23157)
* Breadcrumb quests support in core
* To Winterspring! & Starfall
* translating ZenoX92's list, part 1
* Carendin Summons is Blood Elf only
* Breadcrumb to an exclusive group
* translating ZenoX92's list, part 2
* class quests
* breadcrumb trails
* better prevquest check
* less harsh error warnings
* minor optimization
* Rename 9999_99_99_99_world.sql to 2019_04_10_00_world.sql
(cherry picked from commit 5ed77113b637c49e99a610b00f385c51da67c3bf)
Diffstat (limited to 'src/server/game/Quests')
-rw-r--r-- | src/server/game/Quests/QuestDef.cpp | 23 | ||||
-rw-r--r-- | src/server/game/Quests/QuestDef.h | 3 |
2 files changed, 15 insertions, 11 deletions
diff --git a/src/server/game/Quests/QuestDef.cpp b/src/server/game/Quests/QuestDef.cpp index 5cdf17c01ca..ad918fe67d6 100644 --- a/src/server/game/Quests/QuestDef.cpp +++ b/src/server/game/Quests/QuestDef.cpp @@ -217,17 +217,18 @@ void Quest::LoadQuestTemplateAddon(Field* fields) _prevQuestID = fields[4].GetInt32(); _nextQuestID = fields[5].GetUInt32(); _exclusiveGroup = fields[6].GetInt32(); - _rewardMailTemplateId = fields[7].GetUInt32(); - _rewardMailDelay = fields[8].GetUInt32(); - _requiredSkillId = fields[9].GetUInt16(); - _requiredSkillPoints = fields[10].GetUInt16(); - _requiredMinRepFaction = fields[11].GetUInt16(); - _requiredMaxRepFaction = fields[12].GetUInt16(); - _requiredMinRepValue = fields[13].GetInt32(); - _requiredMaxRepValue = fields[14].GetInt32(); - _sourceItemIdCount = fields[15].GetUInt8(); - _specialFlags = fields[16].GetUInt8(); - _scriptId = sObjectMgr->GetScriptId(fields[17].GetString()); + _breadcrumbForQuestId = fields[7].GetInt32(); + _rewardMailTemplateId = fields[8].GetUInt32(); + _rewardMailDelay = fields[9].GetUInt32(); + _requiredSkillId = fields[10].GetUInt16(); + _requiredSkillPoints = fields[11].GetUInt16(); + _requiredMinRepFaction = fields[12].GetUInt16(); + _requiredMaxRepFaction = fields[13].GetUInt16(); + _requiredMinRepValue = fields[14].GetInt32(); + _requiredMaxRepValue = fields[15].GetInt32(); + _sourceItemIdCount = fields[16].GetUInt8(); + _specialFlags = fields[17].GetUInt8(); + _scriptId = sObjectMgr->GetScriptId(fields[18].GetString()); if (_specialFlags & QUEST_SPECIAL_FLAGS_AUTO_ACCEPT) _flags |= QUEST_FLAGS_AUTO_ACCEPT; diff --git a/src/server/game/Quests/QuestDef.h b/src/server/game/Quests/QuestDef.h index 3b0c541b3a8..7468cd26926 100644 --- a/src/server/game/Quests/QuestDef.h +++ b/src/server/game/Quests/QuestDef.h @@ -529,6 +529,7 @@ class TC_GAME_API Quest int32 GetPrevQuestId() const { return _prevQuestID; } uint32 GetNextQuestId() const { return _nextQuestID; } int32 GetExclusiveGroup() const { return _exclusiveGroup; } + int32 GetBreadcrumbForQuestId() const { return _breadcrumbForQuestId; } uint32 GetNextQuestInChain() const { return _nextQuestInChain; } int32 GetRewArenaPoints() const {return _rewardArenaPoints; } uint32 GetXPDifficulty() const { return _rewardXPDifficulty; } @@ -638,6 +639,7 @@ class TC_GAME_API Quest void BuildQuestRewards(WorldPackets::Quest::QuestRewards& rewards, Player* player) const; std::vector<uint32> DependentPreviousQuests; + std::vector<uint32> DependentBreadcrumbQuests; std::array<WorldPacket, TOTAL_LOCALES> QueryData; private: @@ -720,6 +722,7 @@ class TC_GAME_API Quest int32 _prevQuestID = 0; uint32 _nextQuestID = 0; int32 _exclusiveGroup = 0; + int32 _breadcrumbForQuestId = 0; uint32 _rewardMailTemplateId = 0; uint32 _rewardMailDelay = 0; uint32 _requiredSkillId = 0; |