Core/Achievements: Fixed achievement criteria StartEvent and FailEvent
* Criteria using StartEvent cannot be updated without that event triggering first (not only for timed achievements) * Implemented most StartEvent and FailEvent types * Fixed saving criteria removed by RemoveCriteriaProgress Port From (https://github.com/TrinityCore/TrinityCore/commit/41a20b1e4008d450d075847ef1fe367f0e3a240f)
This commit is contained in:
@@ -194,6 +194,8 @@ namespace Game.Entities
|
||||
|
||||
if (_garrison != null)
|
||||
_garrison.ResetFollowerActivationLimit();
|
||||
|
||||
FailCriteria(CriteriaFailEvent.DailyQuestsCleared, 0);
|
||||
}
|
||||
|
||||
public void ResetWeeklyQuestStatus()
|
||||
@@ -837,7 +839,7 @@ namespace Game.Entities
|
||||
|
||||
m_QuestStatusSave[questId] = QuestSaveType.Default;
|
||||
|
||||
StartCriteriaTimer(CriteriaStartEvent.AcceptQuest, questId);
|
||||
StartCriteria(CriteriaStartEvent.AcceptQuest, questId);
|
||||
|
||||
SendQuestUpdate(questId);
|
||||
|
||||
@@ -1146,6 +1148,7 @@ namespace Game.Entities
|
||||
SetDailyQuestStatus(questId);
|
||||
if (quest.IsDaily())
|
||||
{
|
||||
StartCriteria(CriteriaStartEvent.CompleteDailyQuest, 0);
|
||||
UpdateCriteria(CriteriaType.CompleteDailyQuest, questId);
|
||||
UpdateCriteria(CriteriaType.CompleteAnyDailyQuestPerDay, questId);
|
||||
}
|
||||
@@ -2393,7 +2396,7 @@ namespace Game.Entities
|
||||
real_entry = killed.GetEntry();
|
||||
}
|
||||
|
||||
StartCriteriaTimer(CriteriaStartEvent.KillNPC, real_entry); // MUST BE CALLED FIRST
|
||||
StartCriteria(CriteriaStartEvent.KillNPC, real_entry); // MUST BE CALLED FIRST
|
||||
UpdateCriteria(CriteriaType.KillCreature, real_entry, addKillCount, 0, killed);
|
||||
|
||||
UpdateQuestObjectiveProgress(QuestObjectiveType.Monster, (int)entry, 1, guid);
|
||||
@@ -2401,6 +2404,7 @@ namespace Game.Entities
|
||||
|
||||
public void KilledPlayerCredit(ObjectGuid victimGuid)
|
||||
{
|
||||
StartCriteria(CriteriaStartEvent.KillPlayer, 0);
|
||||
UpdateQuestObjectiveProgress(QuestObjectiveType.PlayerKills, 0, 1, victimGuid);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user