aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorForesterDev <11771800+ForesterDev@users.noreply.github.com>2020-04-29 23:41:51 +0300
committerShauren <shauren.trinity@gmail.com>2022-01-01 23:18:04 +0100
commit9d38eeec7e222edfe74740efd8e7af16103b0221 (patch)
tree82e50f86b15826d339d0a01bcec5e8ee0fb5c220 /src
parent7d632d57111b2ddb71e4914467cfd357439b5de2 (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.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 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;
}