aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorModoX <moardox@gmail.com>2023-08-31 16:15:03 +0200
committerModoX <moardox@gmail.com>2023-08-31 16:15:26 +0200
commit8c26b9350d4817d05530f4fd1a9c1c0a4f26edcc (patch)
tree9b9b957ab5c5852dcff783c184a61ccbba79c235 /src
parent2b54376d65c52c0c805a73665bb8a7d0578181f0 (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.cpp15
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)