diff --git a/Source/Game/Entities/Creature/Creature.cs b/Source/Game/Entities/Creature/Creature.cs index 5db895f38..58897f085 100644 --- a/Source/Game/Entities/Creature/Creature.cs +++ b/Source/Game/Entities/Creature/Creature.cs @@ -402,7 +402,7 @@ namespace Game.Entities InitializeMovementCapabilities(); LoadCreaturesAddon(); - LoadCreaturesSparringHealth(); + LoadCreaturesSparringHealth(true); LoadTemplateImmunities(cInfo.CreatureImmunitiesId); GetThreatManager().EvaluateSuppressed(); @@ -866,7 +866,7 @@ namespace Game.Entities } LoadCreaturesAddon(); - LoadCreaturesSparringHealth(); + LoadCreaturesSparringHealth(true); //! Need to be called after LoadCreaturesAddon - MOVEMENTFLAG_HOVER is set there posZ += GetHoverOffset(); @@ -2562,10 +2562,10 @@ namespace Game.Entities return true; } - public void LoadCreaturesSparringHealth() + public void LoadCreaturesSparringHealth(bool force = false) { var templateValues = Global.ObjectMgr.GetCreatureTemplateSparringValues(GetCreatureTemplate().Entry); - if (!templateValues.Empty()) + if (force || !templateValues.Empty()) { if (templateValues.Contains(_sparringHealthPct)) // only re-randomize sparring value if it was loaded from template (not when set to custom value from script) _sparringHealthPct = templateValues.SelectRandom();