From 6f2f65cc27a5c162fb2424403a86c6ffb8776510 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Tue, 23 May 2023 08:13:25 -0400 Subject: [PATCH] Core/Creatures: Fixed some creatures having 0 max health (and being unkillable) Port From (https://github.com/TrinityCore/TrinityCore/commit/7f98b71698eca5b136676991026de1d0d212f9fb) --- Source/Game/Entities/Creature/Creature.cs | 2 +- Source/Game/Entities/TemporarySummon.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Game/Entities/Creature/Creature.cs b/Source/Game/Entities/Creature/Creature.cs index 06e8c229d..ec02664c0 100644 --- a/Source/Game/Entities/Creature/Creature.cs +++ b/Source/Game/Entities/Creature/Creature.cs @@ -2738,7 +2738,7 @@ namespace Game.Entities CreatureLevelScaling scaling = cInfo.GetLevelScaling(GetMap().GetDifficultyID()); float baseHealth = Global.DB2Mgr.EvaluateExpectedStat(ExpectedStatType.CreatureHealth, level, cInfo.GetHealthScalingExpansion(), scaling.ContentTuningID, (Class)cInfo.UnitClass); - return (ulong)(baseHealth * cInfo.ModHealth * cInfo.ModHealthExtra); + return (ulong)Math.Max(baseHealth * cInfo.ModHealth * cInfo.ModHealthExtra, 1.0f); } public override float GetHealthMultiplierForTarget(WorldObject target) diff --git a/Source/Game/Entities/TemporarySummon.cs b/Source/Game/Entities/TemporarySummon.cs index f22d494ea..4177b9705 100644 --- a/Source/Game/Entities/TemporarySummon.cs +++ b/Source/Game/Entities/TemporarySummon.cs @@ -586,7 +586,7 @@ namespace Game.Entities CreatureBaseStats stats = Global.ObjectMgr.GetCreatureBaseStats(petlevel, cinfo.UnitClass); ApplyLevelScaling(); - SetCreateHealth((uint)(Global.DB2Mgr.EvaluateExpectedStat(ExpectedStatType.CreatureHealth, petlevel, cinfo.GetHealthScalingExpansion(), m_unitData.ContentTuningID, (Class)cinfo.UnitClass) * cinfo.ModHealth * cinfo.ModHealthExtra * GetHealthMod(cinfo.Rank))); + SetCreateHealth((uint)Math.Max(Global.DB2Mgr.EvaluateExpectedStat(ExpectedStatType.CreatureHealth, petlevel, cinfo.GetHealthScalingExpansion(), m_unitData.ContentTuningID, (Class)cinfo.UnitClass) * cinfo.ModHealth * cinfo.ModHealthExtra * GetHealthMod(cinfo.Rank), 1.0f)); SetCreateMana(stats.BaseMana); SetCreateStat(Stats.Strength, 22);