diff options
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.h | 2 | ||||
| -rw-r--r-- | src/server/scripts/Commands/cs_misc.cpp | 22 |
3 files changed, 12 insertions, 14 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 5dbe471b24d..595614ce777 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -1606,7 +1606,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 dce7c5a3737..97835fb8712 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -947,6 +947,8 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> void ContinueTaxiFlight() const; void SendTaxiNodeStatusMultiple(); + bool IsDeveloper() const { return HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_DEVELOPER); } + void SetDeveloper(bool on) { ApplyModFlag(PLAYER_FLAGS, PLAYER_FLAGS_DEVELOPER, on); } bool isAcceptWhispers() const { return (m_ExtraFlags & PLAYER_EXTRA_ACCEPT_WHISPERS) != 0; } void SetAcceptWhispers(bool on) { if (on) m_ExtraFlags |= PLAYER_EXTRA_ACCEPT_WHISPERS; else m_ExtraFlags &= ~PLAYER_EXTRA_ACCEPT_WHISPERS; } bool IsGameMaster() const { return (m_ExtraFlags & PLAYER_EXTRA_GM_ON) != 0; } diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index cb26f4da0bb..f7fb8525475 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -150,29 +150,25 @@ public: return true; } - static bool HandleDevCommand(ChatHandler* handler, char const* args) + static bool HandleDevCommand(ChatHandler* handler, Optional<std::string> 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; - - if (argstr == "on") + if (*enable == "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 (*enable == "off") { - handler->GetSession()->GetPlayer()->RemoveFlag(PLAYER_FLAGS, PLAYER_FLAGS_DEVELOPER); + player->SetDeveloper(false); handler->GetSession()->SendNotification(LANG_DEV_OFF); return true; } |
