diff options
author | ModoX <moardox@gmail.com> | 2023-08-31 16:15:03 +0200 |
---|---|---|
committer | ModoX <moardox@gmail.com> | 2023-08-31 16:15:26 +0200 |
commit | 8c26b9350d4817d05530f4fd1a9c1c0a4f26edcc (patch) | |
tree | 9b9b957ab5c5852dcff783c184a61ccbba79c235 /src | |
parent | 2b54376d65c52c0c805a73665bb8a7d0578181f0 (diff) |
Core/Creature: Fixed logic for npcflag, unitflags when saving creatures to db
* 06ea822a315a771fa0b3410716361b9df091cf6f followup
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index dc3c4b86a32..0b09a1a2316 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1421,6 +1421,7 @@ void Creature::SaveToDB(uint32 mapid, std::vector<Difficulty> const& spawnDiffic CreatureData& data = sObjectMgr->NewOrExistCreatureData(m_spawnId); uint32 displayId = GetNativeDisplayId(); + uint64 spawnNpcFlags = (uint64(m_unitData->NpcFlags[1]) << 32) | m_unitData->NpcFlags[0]; Optional<uint64> npcflag; Optional<uint32> unitFlags; Optional<uint32> unitFlags2; @@ -1434,17 +1435,17 @@ void Creature::SaveToDB(uint32 mapid, std::vector<Difficulty> const& spawnDiffic if (displayId && displayId == model.CreatureDisplayID) displayId = 0; - if (npcflag != cinfo->npcflag) - unitFlags = (uint64(m_unitData->NpcFlags[1]) << 32) | m_unitData->NpcFlags[0]; + if (spawnNpcFlags != cinfo->npcflag) + npcflag = spawnNpcFlags; - if (unitFlags != cinfo->unit_flags) + if (m_unitData->Flags != cinfo->unit_flags) unitFlags = m_unitData->Flags; - if (unitFlags2 != cinfo->unit_flags2) - unitFlags = m_unitData->Flags2; + if (m_unitData->Flags2 != cinfo->unit_flags2) + unitFlags2 = m_unitData->Flags2; - if (unitFlags3 != cinfo->unit_flags3) - unitFlags = m_unitData->Flags3; + if (m_unitData->Flags3 != cinfo->unit_flags3) + unitFlags3 = m_unitData->Flags3; } if (!data.spawnId) |