diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 660d4391c..14016a01c 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -2210,7 +2210,7 @@ uint8 Player::GetChatTag() const tag |= CHAT_TAG_DND; if (isAFK()) tag |= CHAT_TAG_AFK; - if (HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_DEVELOPER)) + if (IsDeveloper()) tag |= CHAT_TAG_DEV; return tag; diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index eb528b140..a6cce6c43 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1173,6 +1173,9 @@ public: void CleanupAfterTaxiFlight(); void ContinueTaxiFlight(); // mount_id can be used in scripting calls + + [[nodiscard]] bool IsDeveloper() const { return HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_DEVELOPER); } + void SetDeveloper(bool on) { ApplyModFlag(PLAYER_FLAGS, PLAYER_FLAGS_DEVELOPER, on); } [[nodiscard]] bool isAcceptWhispers() const { return m_ExtraFlags & PLAYER_EXTRA_ACCEPT_WHISPERS; } void SetAcceptWhispers(bool on) { if (on) m_ExtraFlags |= PLAYER_EXTRA_ACCEPT_WHISPERS; else m_ExtraFlags &= ~PLAYER_EXTRA_ACCEPT_WHISPERS; } [[nodiscard]] bool IsGameMaster() const { return m_ExtraFlags & PLAYER_EXTRA_GM_ON; } diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index 7ce03d7d3..44599347b 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -331,29 +331,27 @@ public: return true; } - static bool HandleDevCommand(ChatHandler* handler, char const* args) + static bool HandleDevCommand(ChatHandler* handler, char const* enable) { - if (!*args) + Player* player = handler->GetSession()->GetPlayer(); + + if (!*enable) { - if (handler->GetSession()->GetPlayer()->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_DEVELOPER)) - handler->GetSession()->SendNotification(LANG_DEV_ON); - else - handler->GetSession()->SendNotification(LANG_DEV_OFF); + handler->GetSession()->SendNotification(player->IsDeveloper() ? LANG_DEV_ON : LANG_DEV_OFF); return true; } - std::string argstr = (char*)args; + std::string enablestr = (char*)enable; - if (argstr == "on") + if (enablestr == "on") { - handler->GetSession()->GetPlayer()->SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_DEVELOPER); + player->SetDeveloper(true); handler->GetSession()->SendNotification(LANG_DEV_ON); return true; } - - if (argstr == "off") + else if (enablestr == "off") { - handler->GetSession()->GetPlayer()->RemoveFlag(PLAYER_FLAGS, PLAYER_FLAGS_DEVELOPER); + player->SetDeveloper(false); handler->GetSession()->SendNotification(LANG_DEV_OFF); return true; } diff --git a/src/server/scripts/Commands/cs_server.cpp b/src/server/scripts/Commands/cs_server.cpp index e68d93e51..3d43bc327 100644 --- a/src/server/scripts/Commands/cs_server.cpp +++ b/src/server/scripts/Commands/cs_server.cpp @@ -111,7 +111,7 @@ public: if (handler->GetSession()) if (Player* p = handler->GetSession()->GetPlayer()) - if (p->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_DEVELOPER)) + if (p->IsDeveloper()) handler->PSendSysMessage("DEV wavg: %ums, nsmax: %ums, nsavg: %ums. LFG avg: %ums, max: %ums.", avgDiffTracker.getTimeWeightedAverage(), devDiffTracker.getMax(), devDiffTracker.getAverage(), lfgDiffTracker.getAverage(), lfgDiffTracker.getMax()); //! Can't use sWorld->ShutdownMsg here in case of console command