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
+14 -1
View File
@@ -586,6 +586,19 @@ namespace Game.Scripting
public virtual void OnUpdate(Transport obj, uint diff) { }
}
public class AchievementScript : ScriptObject
{
public AchievementScript(string name) : base(name)
{
Global.ScriptMgr.AddScript(this);
}
public override bool IsDatabaseBound() { return true; }
// Called when an achievement is completed.
public virtual void OnCompleted(Player player, AchievementRecord achievement) { }
}
public class AchievementCriteriaScript : ScriptObject
{
public AchievementCriteriaScript(string name) : base(name)
@@ -593,7 +606,7 @@ namespace Game.Scripting
Global.ScriptMgr.AddScript(this);
}
public override bool IsDatabaseBound() { return false; }
public override bool IsDatabaseBound() { return true; }
// Called when an additional criteria is checked.
public virtual bool OnCheck(Player source, Unit target) { return false; }