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:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user