Core/Misc: Added new option in config to set max GM level that can obtain achievements
This commit is contained in:
@@ -428,7 +428,7 @@ void AchievementMgr::ResetAchievementCriteria(AchievementCriteriaTypes type, uin
|
|||||||
{
|
{
|
||||||
sLog->outDebug(LOG_FILTER_ACHIEVEMENTSYS, "AchievementMgr::ResetAchievementCriteria(%u, %u, %u)", type, miscvalue1, miscvalue2);
|
sLog->outDebug(LOG_FILTER_ACHIEVEMENTSYS, "AchievementMgr::ResetAchievementCriteria(%u, %u, %u)", type, miscvalue1, miscvalue2);
|
||||||
|
|
||||||
if (!sWorld->getBoolConfig(CONFIG_GM_ALLOW_ACHIEVEMENT_GAINS) && m_player->GetSession()->GetSecurity() > SEC_PLAYER)
|
if (m_player->GetSession()->GetSecurity() > AccountTypes(sWorld->getIntConfig(CONFIG_GM_LEVEL_ALLOW_ACHIEVEMENTS)))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
AchievementCriteriaEntryList const& achievementCriteriaList = sAchievementMgr->GetAchievementCriteriaByType(type);
|
AchievementCriteriaEntryList const& achievementCriteriaList = sAchievementMgr->GetAchievementCriteriaByType(type);
|
||||||
@@ -728,7 +728,7 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
|
|||||||
{
|
{
|
||||||
sLog->outDebug(LOG_FILTER_ACHIEVEMENTSYS, "AchievementMgr::UpdateAchievementCriteria(%u, %u, %u)", type, miscValue1, miscValue2);
|
sLog->outDebug(LOG_FILTER_ACHIEVEMENTSYS, "AchievementMgr::UpdateAchievementCriteria(%u, %u, %u)", type, miscValue1, miscValue2);
|
||||||
|
|
||||||
if (!sWorld->getBoolConfig(CONFIG_GM_ALLOW_ACHIEVEMENT_GAINS) && m_player->GetSession()->GetSecurity() > SEC_PLAYER)
|
if (m_player->GetSession()->GetSecurity() > AccountTypes(sWorld->getIntConfig(CONFIG_GM_LEVEL_ALLOW_ACHIEVEMENTS)))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
AchievementCriteriaEntryList const& achievementCriteriaList = sAchievementMgr->GetAchievementCriteriaByType(type);
|
AchievementCriteriaEntryList const& achievementCriteriaList = sAchievementMgr->GetAchievementCriteriaByType(type);
|
||||||
@@ -1972,7 +1972,7 @@ void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement, b
|
|||||||
{
|
{
|
||||||
sLog->outDetail("AchievementMgr::CompletedAchievement(%u)", achievement->ID);
|
sLog->outDetail("AchievementMgr::CompletedAchievement(%u)", achievement->ID);
|
||||||
|
|
||||||
if (!sWorld->getBoolConfig(CONFIG_GM_ALLOW_ACHIEVEMENT_GAINS) && m_player->GetSession()->GetSecurity() > SEC_PLAYER && !ignoreGMAllowAchievementConfig)
|
if (m_player->GetSession()->GetSecurity() > AccountTypes(sWorld->getIntConfig(CONFIG_GM_LEVEL_ALLOW_ACHIEVEMENTS)) && !ignoreGMAllowAchievementConfig)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (achievement->flags & ACHIEVEMENT_FLAG_COUNTER || HasAchieved(achievement))
|
if (achievement->flags & ACHIEVEMENT_FLAG_COUNTER || HasAchieved(achievement))
|
||||||
|
|||||||
@@ -854,6 +854,7 @@ void World::LoadConfigSettings(bool reload)
|
|||||||
|
|
||||||
m_int_configs[CONFIG_GM_LEVEL_IN_GM_LIST] = sConfig->GetIntDefault("GM.InGMList.Level", SEC_ADMINISTRATOR);
|
m_int_configs[CONFIG_GM_LEVEL_IN_GM_LIST] = sConfig->GetIntDefault("GM.InGMList.Level", SEC_ADMINISTRATOR);
|
||||||
m_int_configs[CONFIG_GM_LEVEL_IN_WHO_LIST] = sConfig->GetIntDefault("GM.InWhoList.Level", SEC_ADMINISTRATOR);
|
m_int_configs[CONFIG_GM_LEVEL_IN_WHO_LIST] = sConfig->GetIntDefault("GM.InWhoList.Level", SEC_ADMINISTRATOR);
|
||||||
|
m_int_configs[CONFIG_GM_LEVEL_ALLOW_ACHIEVEMENTS] = sConfig->GetIntDefault("GM.AllowAchievementGain.Level", SEC_ADMINISTRATOR);
|
||||||
m_bool_configs[CONFIG_GM_LOG_TRADE] = sConfig->GetBoolDefault("GM.LogTrade", false);
|
m_bool_configs[CONFIG_GM_LOG_TRADE] = sConfig->GetBoolDefault("GM.LogTrade", false);
|
||||||
m_int_configs[CONFIG_START_GM_LEVEL] = sConfig->GetIntDefault("GM.StartLevel", 1);
|
m_int_configs[CONFIG_START_GM_LEVEL] = sConfig->GetIntDefault("GM.StartLevel", 1);
|
||||||
if (m_int_configs[CONFIG_START_GM_LEVEL] < m_int_configs[CONFIG_START_PLAYER_LEVEL])
|
if (m_int_configs[CONFIG_START_GM_LEVEL] < m_int_configs[CONFIG_START_PLAYER_LEVEL])
|
||||||
@@ -870,7 +871,6 @@ void World::LoadConfigSettings(bool reload)
|
|||||||
m_bool_configs[CONFIG_ALLOW_GM_GROUP] = sConfig->GetBoolDefault("GM.AllowInvite", false);
|
m_bool_configs[CONFIG_ALLOW_GM_GROUP] = sConfig->GetBoolDefault("GM.AllowInvite", false);
|
||||||
m_bool_configs[CONFIG_ALLOW_GM_FRIEND] = sConfig->GetBoolDefault("GM.AllowFriend", false);
|
m_bool_configs[CONFIG_ALLOW_GM_FRIEND] = sConfig->GetBoolDefault("GM.AllowFriend", false);
|
||||||
m_bool_configs[CONFIG_GM_LOWER_SECURITY] = sConfig->GetBoolDefault("GM.LowerSecurity", false);
|
m_bool_configs[CONFIG_GM_LOWER_SECURITY] = sConfig->GetBoolDefault("GM.LowerSecurity", false);
|
||||||
m_bool_configs[CONFIG_GM_ALLOW_ACHIEVEMENT_GAINS] = sConfig->GetBoolDefault("GM.AllowAchievementGain", true);
|
|
||||||
m_float_configs[CONFIG_CHANCE_OF_GM_SURVEY] = sConfig->GetFloatDefault("GM.TicketSystem.ChanceOfGMSurvey", 50.0f);
|
m_float_configs[CONFIG_CHANCE_OF_GM_SURVEY] = sConfig->GetFloatDefault("GM.TicketSystem.ChanceOfGMSurvey", 50.0f);
|
||||||
|
|
||||||
m_int_configs[CONFIG_GROUP_VISIBILITY] = sConfig->GetIntDefault("Visibility.GroupMode", 1);
|
m_int_configs[CONFIG_GROUP_VISIBILITY] = sConfig->GetIntDefault("Visibility.GroupMode", 1);
|
||||||
|
|||||||
@@ -108,7 +108,6 @@ enum WorldBoolConfigs
|
|||||||
CONFIG_ALLOW_GM_GROUP,
|
CONFIG_ALLOW_GM_GROUP,
|
||||||
CONFIG_ALLOW_GM_FRIEND,
|
CONFIG_ALLOW_GM_FRIEND,
|
||||||
CONFIG_GM_LOWER_SECURITY,
|
CONFIG_GM_LOWER_SECURITY,
|
||||||
CONFIG_GM_ALLOW_ACHIEVEMENT_GAINS,
|
|
||||||
CONFIG_SKILL_PROSPECTING,
|
CONFIG_SKILL_PROSPECTING,
|
||||||
CONFIG_SKILL_MILLING,
|
CONFIG_SKILL_MILLING,
|
||||||
CONFIG_SAVE_RESPAWN_TIME_IMMEDIATELY,
|
CONFIG_SAVE_RESPAWN_TIME_IMMEDIATELY,
|
||||||
@@ -227,6 +226,7 @@ enum WorldIntConfigs
|
|||||||
CONFIG_GM_WHISPERING_TO,
|
CONFIG_GM_WHISPERING_TO,
|
||||||
CONFIG_GM_LEVEL_IN_GM_LIST,
|
CONFIG_GM_LEVEL_IN_GM_LIST,
|
||||||
CONFIG_GM_LEVEL_IN_WHO_LIST,
|
CONFIG_GM_LEVEL_IN_WHO_LIST,
|
||||||
|
CONFIG_GM_LEVEL_ALLOW_ACHIEVEMENTS,
|
||||||
CONFIG_START_GM_LEVEL,
|
CONFIG_START_GM_LEVEL,
|
||||||
CONFIG_GROUP_VISIBILITY,
|
CONFIG_GROUP_VISIBILITY,
|
||||||
CONFIG_MAIL_DELIVERY_DELAY,
|
CONFIG_MAIL_DELIVERY_DELAY,
|
||||||
|
|||||||
@@ -1894,12 +1894,14 @@ GM.AllowFriend = 0
|
|||||||
GM.LowerSecurity = 0
|
GM.LowerSecurity = 0
|
||||||
|
|
||||||
#
|
#
|
||||||
# GM.AllowAchievementGain
|
# GM.AllowAchievementGain.Level
|
||||||
# Description: Allow GM characters to obtain achievements.
|
# Description: Max GM level that can obtain achievements.
|
||||||
# Default: 1 - (Enabled)
|
# Default: 3 - (Anyone)
|
||||||
# 0 - (Disabled)
|
# 0 - (Only players)
|
||||||
|
# 1 - (Only moderators)
|
||||||
|
# 2 - (Only gamemasters)
|
||||||
|
|
||||||
GM.AllowAchievementGain = 1
|
GM.AllowAchievementGain.Level = 3
|
||||||
|
|
||||||
#
|
#
|
||||||
# GM.TicketSystem.ChanceOfGMSurvey
|
# GM.TicketSystem.ChanceOfGMSurvey
|
||||||
|
|||||||
Reference in New Issue
Block a user