diff options
| author | Wyrserth <wyrserth@protonmail.com> | 2019-06-26 18:03:03 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-06-26 18:03:03 +0200 |
| commit | 8967cc96df4c1c5c7465e9fd1fa66400f3e992b3 (patch) | |
| tree | 4cbd800a9a06c9c5238a65ccb18504feb5c11cd1 /src/server/game/Entities/Creature | |
| parent | 079b77b5fc466f806cb64206881f0034cce61670 (diff) | |
Core/SAI: do not pass old creatureData to UpdateEntry() and keep current health when changing a NPC's entry. (#23493)
Diffstat (limited to 'src/server/game/Entities/Creature')
| -rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 0b1c340f9f2..bb6c9e19aab 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -568,7 +568,10 @@ bool Creature::UpdateEntry(uint32 entry, CreatureData const* data /*= nullptr*/, if (updateLevel) SelectLevel(); + uint32 previousHealth = GetHealth(); UpdateLevelDependantStats(); + if (previousHealth > 0) + SetHealth(previousHealth); SetMeleeDamageSchool(SpellSchools(cInfo->dmgschool)); SetStatFlatModifier(UNIT_MOD_RESISTANCE_HOLY, BASE_VALUE, float(cInfo->resistance[SPELL_SCHOOL_HOLY])); |
