aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp3
-rw-r--r--src/server/game/Entities/Creature/Creature.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index d99fef678d2..c11fad802bd 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -2821,7 +2821,8 @@ bool Creature::LoadCreaturesAddon()
void Creature::LoadCreaturesSparringHealth()
{
if (std::vector<float> const* templateValues = sObjectMgr->GetCreatureTemplateSparringValues(GetCreatureTemplate()->Entry))
- _sparringHealthPct = Trinity::Containers::SelectRandomContainerElement(*templateValues);
+ if (std::find(templateValues->begin(), templateValues->end(), _sparringHealthPct) != templateValues->end()) // only re-randomize sparring value if it was loaded from template (not when set to custom value from script)
+ _sparringHealthPct = Trinity::Containers::SelectRandomContainerElement(*templateValues);
}
/// Send a message to LocalDefense channel for players opposition team in the zone
diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h
index 480cf06e148..dfdc30681f5 100644
--- a/src/server/game/Entities/Creature/Creature.h
+++ b/src/server/game/Entities/Creature/Creature.h
@@ -403,6 +403,7 @@ class TC_GAME_API Creature : public Unit, public GridObject<Creature>, public Ma
bool IsThreatFeedbackDisabled() const { return _staticFlags.HasFlag(CREATURE_STATIC_FLAG_3_NO_THREAT_FEEDBACK); }
void SetNoThreatFeedback(bool noThreatFeedback) { _staticFlags.ApplyFlag(CREATURE_STATIC_FLAG_3_NO_THREAT_FEEDBACK, noThreatFeedback); }
+ void OverrideSparringHealthPct(float healthPct) { _sparringHealthPct = healthPct; }
void OverrideSparringHealthPct(std::vector<float> const& healthPct);
float GetSparringHealthPct() const { return _sparringHealthPct; }
uint32 CalculateDamageForSparring(Unit* attacker, uint32 damage);