diff options
Diffstat (limited to 'src')
| -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;          }  | 
