aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp20
-rw-r--r--src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp2
2 files changed, 10 insertions, 12 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index fa603b9509e..a7b826b4bf8 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -1450,23 +1450,21 @@ void Creature::LoadEquipment(int8 id, bool force /*= true*/)
void Creature::SetSpawnHealth()
{
+ if (!m_creatureData)
+ return;
+
uint32 curhealth;
if (!m_regenHealth)
{
- if (m_creatureData)
+ curhealth = m_creatureData->curhealth;
+ if (curhealth)
{
- curhealth = m_creatureData->curhealth;
- if (curhealth)
- {
- curhealth = uint32(curhealth*_GetHealthMod(GetCreatureTemplate()->rank));
- if (curhealth < 1)
- curhealth = 1;
- }
- SetPower(POWER_MANA, m_creatureData->curmana);
+ curhealth = uint32(curhealth*_GetHealthMod(GetCreatureTemplate()->rank));
+ if (curhealth < 1)
+ curhealth = 1;
}
- else
- curhealth = GetHealth();
+ SetPower(POWER_MANA, m_creatureData->curmana);
}
else
{
diff --git a/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
index bae8e541ddc..61916504758 100644
--- a/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
@@ -34,8 +34,8 @@ void HomeMovementGenerator<Creature>::DoFinalize(Creature* owner)
owner->ClearUnitState(UNIT_STATE_EVADE);
owner->SetWalk(true);
owner->LoadCreaturesAddon();
- owner->SetSpawnHealth();
owner->AI()->JustReachedHome();
+ owner->SetSpawnHealth();
}
}