diff options
| author | Peter Keresztes Schmidt <carbenium@outlook.com> | 2020-08-16 14:11:21 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-01-26 22:13:06 +0100 |
| commit | 3923650aeb75611023aa1d46a4328838c8e0a33c (patch) | |
| tree | afdf0c696ea88c3172528fc6f7966a351d07cf69 /src/server/scripts/Commands | |
| parent | 2e3c612c808bca7601b32ce5dca28b204e652773 (diff) | |
Core/ChatCommands: Add support for enum type arguments (PR #25242)
(cherry picked from commit 5e40eb20e2789b86d4786d86b4bbb8ae83de5e1e)
Diffstat (limited to 'src/server/scripts/Commands')
| -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); |
