aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Player/Player.cpp2
-rw-r--r--src/server/game/Entities/Player/Player.h2
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp22
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;
}