diff options
author | Shauren <shauren.trinity@gmail.com> | 2023-05-21 13:31:42 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2023-05-21 13:31:42 +0200 |
commit | 7f98b71698eca5b136676991026de1d0d212f9fb (patch) | |
tree | 471c24f636ae29c58da637a96faf3a58972d659d | |
parent | f0aa85c99e79ed353d69f5dd1f760a4fdc339650 (diff) |
Core/Creatures: Fixed some creatures having 0 max health (and being unkillable)
-rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Pet/Pet.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index a2f56b7daf2..60d0319b9ce 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -2960,7 +2960,7 @@ uint64 Creature::GetMaxHealthByLevel(uint8 level) const CreatureTemplate const* cInfo = GetCreatureTemplate(); CreatureLevelScaling const* scaling = cInfo->GetLevelScaling(GetMap()->GetDifficultyID()); float baseHealth = sDB2Manager.EvaluateExpectedStat(ExpectedStatType::CreatureHealth, level, cInfo->GetHealthScalingExpansion(), scaling->ContentTuningID, Classes(cInfo->unit_class)); - return baseHealth * cInfo->ModHealth * cInfo->ModHealthExtra; + return std::max(baseHealth * cInfo->ModHealth * cInfo->ModHealthExtra, 1.0f); } float Creature::GetHealthMultiplierForTarget(WorldObject const* target) const diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index 5fc48d978ec..27102506008 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -919,7 +919,7 @@ bool Guardian::InitStatsForLevel(uint8 petlevel) CreatureBaseStats const* stats = sObjectMgr->GetCreatureBaseStats(petlevel, cinfo->unit_class); ApplyLevelScaling(); - SetCreateHealth(sDB2Manager.EvaluateExpectedStat(ExpectedStatType::CreatureHealth, petlevel, cinfo->GetHealthScalingExpansion(), m_unitData->ContentTuningID, Classes(cinfo->unit_class)) * cinfo->ModHealth * cinfo->ModHealthExtra * _GetHealthMod(cinfo->rank)); + SetCreateHealth(std::max(sDB2Manager.EvaluateExpectedStat(ExpectedStatType::CreatureHealth, petlevel, cinfo->GetHealthScalingExpansion(), m_unitData->ContentTuningID, Classes(cinfo->unit_class)) * cinfo->ModHealth * cinfo->ModHealthExtra * _GetHealthMod(cinfo->rank), 1.0f)); SetCreateMana(stats->BaseMana); SetCreateStat(STAT_STRENGTH, 22); SetCreateStat(STAT_AGILITY, 22); |