aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2016-02-19 14:04:18 +0100
committerShauren <shauren.trinity@gmail.com>2016-04-08 18:42:59 +0200
commitaca9efc47ac01ef803288dbb55207726a57f4bd6 (patch)
tree054329eb01e824f3e078b5ac1828f95571e77c39 /src
parentc20ad186ff3ac27412be1fd8949ed3c9d0ba64dc (diff)
Merge pull request #16633 from Treeston/3.3.5-talentinspect
Core/Packets: Adjust 'TalentsInspecting' option (cherry picked from commit 3e250fe4e80205e7b2d0203aa170bef579be5038)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/InspectHandler.cpp2
-rw-r--r--src/server/game/World/World.cpp2
-rw-r--r--src/server/game/World/World.h2
-rw-r--r--src/server/worldserver/worldserver.conf.dist9
4 files changed, 8 insertions, 7 deletions
diff --git a/src/server/game/Handlers/InspectHandler.cpp b/src/server/game/Handlers/InspectHandler.cpp
index 85b8f6adee7..3ffde3dc3e3 100644
--- a/src/server/game/Handlers/InspectHandler.cpp
+++ b/src/server/game/Handlers/InspectHandler.cpp
@@ -50,7 +50,7 @@ void WorldSession::HandleInspectOpcode(WorldPackets::Inspect::Inspect& inspect)
inspectResult.ClassID = player->getClass();
inspectResult.GenderID = player->GetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_GENDER);
- if (sWorld->getBoolConfig(CONFIG_TALENTS_INSPECTING) || GetPlayer()->IsGameMaster())
+ if (GetPlayer()->CanBeGameMaster() || sWorld->getIntConfig(CONFIG_TALENTS_INSPECTING) + (GetPlayer()->GetTeamId() == player->GetTeamId()) > 1)
{
PlayerTalentMap const* talents = player->GetTalentMap(player->GetActiveTalentGroup());
for (PlayerTalentMap::value_type const& v : *talents)
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index 8888fb6e542..2babb9121e8 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -1106,7 +1106,7 @@ void World::LoadConfigSettings(bool reload)
m_bool_configs[CONFIG_DETECT_POS_COLLISION] = sConfigMgr->GetBoolDefault("DetectPosCollision", true);
m_bool_configs[CONFIG_RESTRICTED_LFG_CHANNEL] = sConfigMgr->GetBoolDefault("Channel.RestrictedLfg", true);
- m_bool_configs[CONFIG_TALENTS_INSPECTING] = sConfigMgr->GetBoolDefault("TalentsInspecting", true);
+ m_int_configs[CONFIG_TALENTS_INSPECTING] = sConfigMgr->GetIntDefault("TalentsInspecting", 1);
m_bool_configs[CONFIG_CHAT_FAKE_MESSAGE_PREVENTING] = sConfigMgr->GetBoolDefault("ChatFakeMessagePreventing", false);
m_int_configs[CONFIG_CHAT_STRICT_LINK_CHECKING_SEVERITY] = sConfigMgr->GetIntDefault("ChatStrictLinkChecking.Severity", 0);
m_int_configs[CONFIG_CHAT_STRICT_LINK_CHECKING_KICK] = sConfigMgr->GetIntDefault("ChatStrictLinkChecking.Kick", 0);
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index 6497c4e8f5e..cffab97ed7c 100644
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -123,7 +123,6 @@ enum WorldBoolConfigs
CONFIG_QUEST_IGNORE_RAID,
CONFIG_DETECT_POS_COLLISION,
CONFIG_RESTRICTED_LFG_CHANNEL,
- CONFIG_TALENTS_INSPECTING,
CONFIG_CHAT_FAKE_MESSAGE_PREVENTING,
CONFIG_DEATH_CORPSE_RECLAIM_DELAY_PVP,
CONFIG_DEATH_CORPSE_RECLAIM_DELAY_PVE,
@@ -374,6 +373,7 @@ enum WorldIntConfigs
CONFIG_CHARTER_COST_ARENA_5v5,
CONFIG_NO_GRAY_AGGRO_ABOVE,
CONFIG_NO_GRAY_AGGRO_BELOW,
+ CONFIG_TALENTS_INSPECTING,
INT_CONFIG_VALUE_COUNT
};
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index 029be22a4bf..49f05e87222 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -1373,10 +1373,11 @@ AllowTwoSide.Trade = 0
#
# TalentsInspecting
-# Description: Allow inspecting characters from the opposing faction.
-# Doesn't affect characters in gamemaster mode.
-# Default: 1 - (Enabled)
-# 0 - (Disabled)
+# Description: Allow/disallow inspecting other characters' talents.
+# Doesn't affect game master accounts.
+# 2 - (Enabled for all characters)
+# Default: 1 - (Enabled for characters of the same faction)
+# 0 - (Talent inspecting is disabled)
TalentsInspecting = 1