aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAokromes <none@none>2009-05-12 08:22:06 +0200
committerAokromes <none@none>2009-05-12 08:22:06 +0200
commita882c4538a59d4aa042ca78a234f640b35cefcd2 (patch)
tree30f2928dcaa075235c3149246d5fb49a4cfca618
parenta9349e06ba77c6a8502f98765ef90119ee52aca5 (diff)
New configuration option: GM.Visible
regulates visibility of GM at login. --HG-- branch : trunk
-rw-r--r--src/game/Player.cpp11
-rw-r--r--src/game/World.cpp1
-rw-r--r--src/game/World.h1
-rw-r--r--src/trinitycore/trinitycore.conf.dist7
4 files changed, 20 insertions, 0 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 4ebd4f03684..fcdeb30a42d 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -14338,6 +14338,17 @@ bool Player::LoadFromDB( uint32 guid, SqlQueryHolder *holder )
break;
}
+ switch(sWorld.getConfig(CONFIG_GM_VISIBLE_STATE))
+ {
+ default:
+ case 0: SetGMVisible(false); break; // invisible
+ case 1: break; // visible
+ case 2: // save state
+ if(extraflags & PLAYER_EXTRA_GM_INVISIBLE)
+ SetGMVisible(false);
+ break;
+ }
+
switch(sWorld.getConfig(CONFIG_GM_CHAT))
{
default:
diff --git a/src/game/World.cpp b/src/game/World.cpp
index a58103ef437..7517fb0b96d 100644
--- a/src/game/World.cpp
+++ b/src/game/World.cpp
@@ -762,6 +762,7 @@ void World::LoadConfigSettings(bool reload)
}
m_configs[CONFIG_GM_LOGIN_STATE] = sConfig.GetIntDefault("GM.LoginState",2);
+ m_configs[CONFIG_GM_VISIBLE_STATE] = sConfig.GetIntDefault("GM.Visible", 2);
m_configs[CONFIG_GM_CHAT] = sConfig.GetIntDefault("GM.Chat",2);
m_configs[CONFIG_GM_WISPERING_TO] = sConfig.GetIntDefault("GM.WhisperingTo",2);
m_configs[CONFIG_GM_IN_GM_LIST] = sConfig.GetBoolDefault("GM.InGMList",false);
diff --git a/src/game/World.h b/src/game/World.h
index 27052cf7966..01586b592e1 100644
--- a/src/game/World.h
+++ b/src/game/World.h
@@ -123,6 +123,7 @@ enum WorldConfigs
CONFIG_MAX_PRIMARY_TRADE_SKILL,
CONFIG_MIN_PETITION_SIGNS,
CONFIG_GM_LOGIN_STATE,
+ CONFIG_GM_VISIBLE_STATE,
CONFIG_GM_CHAT,
CONFIG_GM_WISPERING_TO,
CONFIG_GM_IN_GM_LIST,
diff --git a/src/trinitycore/trinitycore.conf.dist b/src/trinitycore/trinitycore.conf.dist
index 86f2d994f25..ffb5f311bb8 100644
--- a/src/trinitycore/trinitycore.conf.dist
+++ b/src/trinitycore/trinitycore.conf.dist
@@ -847,6 +847,12 @@ Channel.SilentlyGMJoin = 0
# 0 (disable)
# 1 (enable)
#
+# GM.Visible
+# GM visibility at login
+# Default: 2 (last save state)
+# 0 (invisible)
+# 1 (visible)
+#
# GM.Chat
# GM chat mode at login
# Default: 2 (last save state)
@@ -881,6 +887,7 @@ Channel.SilentlyGMJoin = 0
###################################################################################################################
GM.LoginState = 2
+GM.Visible = 2
GM.Chat = 2
GM.WhisperingTo = 2
GM.InGMList = 0