From 3923650aeb75611023aa1d46a4328838c8e0a33c Mon Sep 17 00:00:00 2001 From: Peter Keresztes Schmidt Date: Sun, 16 Aug 2020 14:11:21 +0200 Subject: Core/ChatCommands: Add support for enum type arguments (PR #25242) (cherry picked from commit 5e40eb20e2789b86d4786d86b4bbb8ae83de5e1e) --- src/server/scripts/Commands/cs_npc.cpp | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'src/server/scripts/Commands') 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); -- cgit v1.2.3