aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-05-21 13:31:42 +0200
committerShauren <shauren.trinity@gmail.com>2023-05-21 13:31:42 +0200
commit7f98b71698eca5b136676991026de1d0d212f9fb (patch)
tree471c24f636ae29c58da637a96faf3a58972d659d
parentf0aa85c99e79ed353d69f5dd1f760a4fdc339650 (diff)
Core/Creatures: Fixed some creatures having 0 max health (and being unkillable)
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp2
-rw-r--r--src/server/game/Entities/Pet/Pet.cpp2
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);