diff options
Diffstat (limited to 'src/server/scripts')
| -rw-r--r-- | src/server/scripts/Commands/cs_npc.cpp | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp index fd77e4dbea9..d30d77f4f39 100644 --- a/src/server/scripts/Commands/cs_npc.cpp +++ b/src/server/scripts/Commands/cs_npc.cpp @@ -549,13 +549,8 @@ public: } //set npcflag of creature - static bool HandleNpcSetFlagCommand(ChatHandler* handler, char const* args) + static bool HandleNpcSetFlagCommand(ChatHandler* handler, NPCFlags npcFlags, NPCFlags2 npcFlags2) { - if (!*args) - return false; - - uint64 npcFlags = atoull(args); - Creature* creature = handler->getSelectedCreature(); if (!creature) @@ -565,14 +560,12 @@ public: return false; } - uint32 raw[2]; - memcpy(raw, &npcFlags, sizeof(raw)); - creature->SetNpcFlags(NPCFlags(raw[0])); - creature->SetNpcFlags2(NPCFlags2(raw[1])); + creature->SetNpcFlags(npcFlags); + creature->SetNpcFlags2(npcFlags2); WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_UPD_CREATURE_NPCFLAG); - stmt->setUInt64(0, npcFlags); + stmt->setUInt64(0, uint64(npcFlags) | (uint64(npcFlags2) << 32)); stmt->setUInt32(1, creature->GetEntry()); WorldDatabase.Execute(stmt); |
