diff --git a/Source/Game/Entities/AreaTrigger/AreaTrigger.cs b/Source/Game/Entities/AreaTrigger/AreaTrigger.cs index 74f88b271..e0f081eac 100644 --- a/Source/Game/Entities/AreaTrigger/AreaTrigger.cs +++ b/Source/Game/Entities/AreaTrigger/AreaTrigger.cs @@ -452,9 +452,13 @@ namespace Game.Entities { Player player = unit.ToPlayer(); if (player) + { if (player.IsDebugAreaTriggers) player.SendSysMessage(CypherStrings.DebugAreatriggerEntered, GetTemplate().Id); + player.UpdateQuestObjectiveProgress(QuestObjectiveType.AreaTriggerEnter, (int)GetEntry(), 1); + } + DoActions(unit); _ai.OnUnitEnter(unit); @@ -467,9 +471,13 @@ namespace Game.Entities { Player player = leavingUnit.ToPlayer(); if (player) + { if (player.IsDebugAreaTriggers) player.SendSysMessage(CypherStrings.DebugAreatriggerLeft, GetTemplate().Id); + player.UpdateQuestObjectiveProgress(QuestObjectiveType.AreaTriggerExit, (int)GetEntry(), 1); + } + UndoActions(leavingUnit); _ai.OnUnitExit(leavingUnit); diff --git a/Source/Game/Entities/Player/Player.Quest.cs b/Source/Game/Entities/Player/Player.Quest.cs index 569e8a726..96c831c59 100644 --- a/Source/Game/Entities/Player/Player.Quest.cs +++ b/Source/Game/Entities/Player/Player.Quest.cs @@ -2268,7 +2268,7 @@ namespace Game.Entities UpdateQuestObjectiveProgress(QuestObjectiveType.ObtainCurrency, (int)currencyId, change); } - void UpdateQuestObjectiveProgress(QuestObjectiveType objectiveType, int objectId, long addCount, ObjectGuid victimGuid = default) + public void UpdateQuestObjectiveProgress(QuestObjectiveType objectiveType, int objectId, long addCount, ObjectGuid victimGuid = default) { bool anyObjectiveChangedCompletionState = false; diff --git a/Source/Game/Entities/Player/Player.Spells.cs b/Source/Game/Entities/Player/Player.Spells.cs index 52a9a5623..62d8d6231 100644 --- a/Source/Game/Entities/Player/Player.Spells.cs +++ b/Source/Game/Entities/Player/Player.Spells.cs @@ -2072,7 +2072,8 @@ namespace Game.Entities LearnSpell(id, false, fromSkill); } } - + else + UpdateQuestObjectiveProgress(QuestObjectiveType.LearnSpell, (int)spellId, 1); } public void RemoveSpell(uint spellId, bool disabled = false, bool learnLowRank = true, bool suppressMessaging = false)