diff options
author | ForesterDev <11771800+ForesterDev@users.noreply.github.com> | 2020-04-29 23:41:51 +0300 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-01-01 23:18:04 +0100 |
commit | 9d38eeec7e222edfe74740efd8e7af16103b0221 (patch) | |
tree | 82e50f86b15826d339d0a01bcec5e8ee0fb5c220 /src | |
parent | 7d632d57111b2ddb71e4914467cfd357439b5de2 (diff) |
Core/Player: add helper methods for PLAYER_FLAGS_DEVELOPER (#24511)
* Core/Player: add helper methods for PLAYER_FLAGS_DEVELOPER. Update .dev command to new command model
* Rename _player -> player
(cherry picked from commit 8128bb97dbf4b5ba7cb0b624ce7cf7428d7bdc63)
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 86786f12fda..6e3e8e2f4bd 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -1309,7 +1309,7 @@ uint8 Player::GetChatFlags() const tag |= CHAT_FLAG_DND; if (isAFK()) tag |= CHAT_FLAG_AFK; - if (HasPlayerFlag(PLAYER_FLAGS_DEVELOPER)) + if (IsDeveloper()) tag |= CHAT_FLAG_DEV; return tag; diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index c58e6420e9c..d26b5abdaaa 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1157,6 +1157,8 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> void CleanupAfterTaxiFlight(); void ContinueTaxiFlight() const; + bool IsDeveloper() const { return HasPlayerFlag(PLAYER_FLAGS_DEVELOPER); } + void SetDeveloper(bool on) { if (on) AddPlayerFlag(PLAYER_FLAGS_DEVELOPER); else RemovePlayerFlag(PLAYER_FLAGS_DEVELOPER); } 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 c882fc69af4..a7ff2cb6c2f 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -152,29 +152,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()->HasPlayerFlag(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()->AddPlayerFlag(PLAYER_FLAGS_DEVELOPER); + player->SetDeveloper(true); handler->GetSession()->SendNotification(LANG_DEV_ON); return true; } - - if (argstr == "off") + else if (*enable == "off") { - handler->GetSession()->GetPlayer()->RemovePlayerFlag(PLAYER_FLAGS_DEVELOPER); + player->SetDeveloper(false); handler->GetSession()->SendNotification(LANG_DEV_OFF); return true; } |