Core/Scripts: Added script hook to execute actions after completing an achievement

Port From (https://github.com/TrinityCore/TrinityCore/commit/27cba3f52309dad5be964fec11d80cd8cad128cf)
This commit is contained in:
hondacrx
2022-05-05 13:53:23 -04:00
parent add1e659bf
commit db6cfeca04
5 changed files with 92 additions and 3 deletions
+9
View File
@@ -866,6 +866,15 @@ namespace Game.Scripting
RunScript<TransportScript>(p => p.OnRelocate(transport, waypointId, mapId, x, y, z), transport.GetScriptId());
}
// Achievement
public void OnAchievementCompleted(Player player, AchievementRecord achievement)
{
Cypher.Assert(player != null);
Cypher.Assert(achievement != null);
RunScript<AchievementScript>(p => p.OnCompleted(player, achievement), Global.AchievementMgr.GetAchievementScriptId(achievement.Id));
}
// AchievementCriteriaScript
public bool OnCriteriaCheck(uint ScriptId, Player source, Unit target)
{