Core/Achievements: Fixed updating EarnAchievement criteria type for guilds and quest objectives

Port From (https://github.com/TrinityCore/TrinityCore/commit/9fda9d0d490cef07291961e03710d09cbd8aea1f)
This commit is contained in:
hondacrx
2024-02-06 17:26:57 -05:00
parent 27d825ddce
commit 2800d53f81
2 changed files with 6 additions and 2 deletions
@@ -483,8 +483,8 @@ namespace Game.Achievements
if (!achievement.Flags.HasAnyFlag(AchievementFlags.TrackingFlag))
_achievementPoints += achievement.Points;
UpdateCriteria(CriteriaType.EarnAchievement, achievement.Id, 0, 0, null, referencePlayer);
UpdateCriteria(CriteriaType.EarnAchievementPoints, achievement.Points, 0, 0, null, referencePlayer);
referencePlayer.UpdateCriteria(CriteriaType.EarnAchievement, achievement.Id, 0, 0, null);
referencePlayer.UpdateCriteria(CriteriaType.EarnAchievementPoints, achievement.Points, 0, 0, null);
Global.ScriptMgr.OnAchievementCompleted(referencePlayer, achievement);
@@ -290,6 +290,10 @@ namespace Game
return Global.CriteriaMgr.GetQuestObjectiveCriteriaByType(type);
}
public bool RequiredAchievementSatisfied(uint achievementId)
{
return _owner.HasAchieved(achievementId);
}
Player _owner;
List<uint> _completedObjectives = new();