Core/Quests: Implemented new db table quest_objectives_completion_effect

* Turn off automatic phase updates on quest objective completion
* Allow more convenient conversation and spell casts on quest objective completion
Port From (https://github.com/TrinityCore/TrinityCore/commit/a2be8d202823706ad4b29c2dc988c0fe978ae652)
This commit is contained in:
hondacrx
2023-06-13 04:38:50 -04:00
parent 31ffbf3512
commit dfdd88a2fc
3 changed files with 64 additions and 4 deletions
+4 -2
View File
@@ -7181,8 +7181,10 @@ namespace Game
}
// Load `quest_objectives`
// 0 1 2 3 4 5 6 7 8 9
result = DB.World.Query("SELECT QuestID, ID, Type, StorageIndex, ObjectID, Amount, Flags, Flags2, ProgressBarWeight, Description FROM quest_objectives ORDER BY `Order` ASC, StorageIndex ASC");
// 0 1 2 3 4 5 6 7 8 9
result = DB.World.Query("SELECT qo.QuestID, qo.ID, qo.Type, qo.StorageIndex, qo.ObjectID, qo.Amount, qo.Flags, qo.Flags2, qo.ProgressBarWeight, qo.Description, " +
// 10 11 12 13 14
"qoce.GameEventID, qoce.SpellID, qoce.ConversationID, qoce.UpdatePhaseShift, qoce.UpdateZoneAuras FROM quest_objectives qo LEFT JOIN quest_objectives_completion_effect qoce ON qo.ID = qoce.ObjectiveID ORDER BY `Order` ASC, StorageIndex ASC");
if (result.IsEmpty())
{
Log.outInfo(LogFilter.ServerLoading, "Loaded 0 quest objectives. DB table `quest_objectives` is empty.");