Core/Quests: Implement new quest objective types QUEST_OBJECTIVE_LEARNSPELL, QUEST_OBJECTIVE_AREA_TRIGGER_ENTER, QUEST_OBJECTIVE_AREA_TRIGGER_EXIT

Port From (https://github.com/TrinityCore/TrinityCore/commit/254d5af7c2970620ae3bcecea4b7f1d65597f8b6)
This commit is contained in:
hondacrx
2021-05-11 12:58:46 -04:00
parent da2d1c8d13
commit 3a4097c920
3 changed files with 11 additions and 2 deletions
@@ -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);
+1 -1
View File
@@ -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;
+2 -1
View File
@@ -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)