Core/Visibility: Split BG/Arena visibility settings
Port From (https://github.com/TrinityCore/TrinityCore/commit/6b681ebc8aaaf79c1865c8c01f78c736a72e6e7d)
This commit is contained in:
@@ -54,8 +54,8 @@ namespace Game.Garrisons
|
||||
public override void InitVisibilityDistance()
|
||||
{
|
||||
//init visibility distance for instances
|
||||
m_VisibleDistance = Global.WorldMgr.GetMaxVisibleDistanceInBGArenas();
|
||||
m_VisibilityNotifyPeriod = Global.WorldMgr.GetVisibilityNotifyPeriodInBGArenas();
|
||||
m_VisibleDistance = Global.WorldMgr.GetMaxVisibleDistanceInInstances();
|
||||
m_VisibilityNotifyPeriod = Global.WorldMgr.GetVisibilityNotifyPeriodInInstances();
|
||||
}
|
||||
|
||||
public override bool AddPlayerToMap(Player player, bool initPlayer = true)
|
||||
|
||||
@@ -5668,8 +5668,8 @@ namespace Game.Maps
|
||||
|
||||
public override void InitVisibilityDistance()
|
||||
{
|
||||
m_VisibleDistance = Global.WorldMgr.GetMaxVisibleDistanceInBGArenas();
|
||||
m_VisibilityNotifyPeriod = Global.WorldMgr.GetVisibilityNotifyPeriodInBGArenas();
|
||||
m_VisibleDistance = IsBattleArena() ? Global.WorldMgr.GetMaxVisibleDistanceInArenas() : Global.WorldMgr.GetMaxVisibleDistanceInBG();
|
||||
m_VisibilityNotifyPeriod = IsBattleArena() ? Global.WorldMgr.GetVisibilityNotifyPeriodInArenas() : Global.WorldMgr.GetVisibilityNotifyPeriodInBG();
|
||||
}
|
||||
|
||||
public override EnterState CannotEnter(Player player)
|
||||
|
||||
@@ -1194,22 +1194,36 @@ namespace Game
|
||||
m_MaxVisibleDistanceInInstances = SharedConst.MaxVisibilityDistance;
|
||||
}
|
||||
|
||||
//visibility in BG/Arenas
|
||||
m_MaxVisibleDistanceInBGArenas = ConfigMgr.GetDefaultValue("Visibility.Distance.BGArenas", SharedConst.DefaultVisibilityBGAreans);
|
||||
if (m_MaxVisibleDistanceInBGArenas < 45 * rateCreatureAggro)
|
||||
//visibility in BG
|
||||
m_MaxVisibleDistanceInBG = ConfigMgr.GetDefaultValue("Visibility.Distance.BG", SharedConst.DefaultVisibilityBGAreans);
|
||||
if (m_MaxVisibleDistanceInBG < 45 * rateCreatureAggro)
|
||||
{
|
||||
Log.outError(LogFilter.ServerLoading, "Visibility.Distance.BGArenas can't be less max aggro radius {0}", 45 * rateCreatureAggro);
|
||||
m_MaxVisibleDistanceInBGArenas = 45 * rateCreatureAggro;
|
||||
Log.outError(LogFilter.ServerLoading, $"Visibility.Distance.BG can't be less max aggro radius {45 * rateCreatureAggro}");
|
||||
m_MaxVisibleDistanceInBG = 45 * rateCreatureAggro;
|
||||
}
|
||||
else if (m_MaxVisibleDistanceInBGArenas > SharedConst.MaxVisibilityDistance)
|
||||
else if (m_MaxVisibleDistanceInBG > SharedConst.MaxVisibilityDistance)
|
||||
{
|
||||
Log.outError(LogFilter.ServerLoading, "Visibility.Distance.BGArenas can't be greater {0}", SharedConst.MaxVisibilityDistance);
|
||||
m_MaxVisibleDistanceInBGArenas = SharedConst.MaxVisibilityDistance;
|
||||
Log.outError(LogFilter.ServerLoading, $"Visibility.Distance.BG can't be greater {SharedConst.MaxVisibilityDistance}");
|
||||
m_MaxVisibleDistanceInBG = SharedConst.MaxVisibilityDistance;
|
||||
}
|
||||
|
||||
// Visibility in Arenas
|
||||
m_MaxVisibleDistanceInArenas = ConfigMgr.GetDefaultValue("Visibility.Distance.Arenas", SharedConst.DefaultVisibilityBGAreans);
|
||||
if (m_MaxVisibleDistanceInArenas < 45 * rateCreatureAggro)
|
||||
{
|
||||
Log.outError(LogFilter.ServerLoading, $"Visibility.Distance.Arenas can't be less max aggro radius {45 * rateCreatureAggro}");
|
||||
m_MaxVisibleDistanceInArenas = 45 * rateCreatureAggro;
|
||||
}
|
||||
else if (m_MaxVisibleDistanceInArenas > SharedConst.MaxVisibilityDistance)
|
||||
{
|
||||
Log.outError(LogFilter.ServerLoading, $"Visibility.Distance.Arenas can't be greater {SharedConst.MaxVisibilityDistance}");
|
||||
m_MaxVisibleDistanceInArenas = SharedConst.MaxVisibilityDistance;
|
||||
}
|
||||
|
||||
m_visibility_notify_periodOnContinents = ConfigMgr.GetDefaultValue("Visibility.Notify.Period.OnContinents", SharedConst.DefaultVisibilityNotifyPeriod);
|
||||
m_visibility_notify_periodInInstances = ConfigMgr.GetDefaultValue("Visibility.Notify.Period.InInstances", SharedConst.DefaultVisibilityNotifyPeriod);
|
||||
m_visibility_notify_periodInBGArenas = ConfigMgr.GetDefaultValue("Visibility.Notify.Period.InBGArenas", SharedConst.DefaultVisibilityNotifyPeriod);
|
||||
m_visibility_notify_periodInBG = ConfigMgr.GetDefaultValue("Visibility.Notify.Period.InBG", SharedConst.DefaultVisibilityNotifyPeriod);
|
||||
m_visibility_notify_periodInArenas = ConfigMgr.GetDefaultValue("Visibility.Notify.Period.InArenas", SharedConst.DefaultVisibilityNotifyPeriod);
|
||||
|
||||
_guidWarningMsg = WorldConfig.GetDefaultValue("Respawn.WarningMessage", "There will be an unscheduled server restart at 03:00. The server will be available again shortly after.");
|
||||
_alertRestartReason = WorldConfig.GetDefaultValue("Respawn.AlertRestartReason", "Urgent Maintenance");
|
||||
@@ -2527,11 +2541,13 @@ namespace Game
|
||||
|
||||
public float GetMaxVisibleDistanceOnContinents() { return m_MaxVisibleDistanceOnContinents; }
|
||||
public float GetMaxVisibleDistanceInInstances() { return m_MaxVisibleDistanceInInstances; }
|
||||
public float GetMaxVisibleDistanceInBGArenas() { return m_MaxVisibleDistanceInBGArenas; }
|
||||
public float GetMaxVisibleDistanceInBG() { return m_MaxVisibleDistanceInBG; }
|
||||
public float GetMaxVisibleDistanceInArenas() { return m_MaxVisibleDistanceInArenas; }
|
||||
|
||||
public int GetVisibilityNotifyPeriodOnContinents() { return m_visibility_notify_periodOnContinents; }
|
||||
public int GetVisibilityNotifyPeriodInInstances() { return m_visibility_notify_periodInInstances; }
|
||||
public int GetVisibilityNotifyPeriodInBGArenas() { return m_visibility_notify_periodInBGArenas; }
|
||||
public int GetVisibilityNotifyPeriodInBG() { return m_visibility_notify_periodInBG; }
|
||||
public int GetVisibilityNotifyPeriodInArenas() { return m_visibility_notify_periodInArenas; }
|
||||
|
||||
public Locale GetAvailableDbcLocale(Locale locale)
|
||||
{
|
||||
@@ -2565,11 +2581,13 @@ namespace Game
|
||||
|
||||
float m_MaxVisibleDistanceOnContinents = SharedConst.DefaultVisibilityDistance;
|
||||
float m_MaxVisibleDistanceInInstances = SharedConst.DefaultVisibilityInstance;
|
||||
float m_MaxVisibleDistanceInBGArenas = SharedConst.DefaultVisibilityBGAreans;
|
||||
float m_MaxVisibleDistanceInBG = SharedConst.DefaultVisibilityBGAreans;
|
||||
float m_MaxVisibleDistanceInArenas = SharedConst.DefaultVisibilityBGAreans;
|
||||
|
||||
int m_visibility_notify_periodOnContinents = SharedConst.DefaultVisibilityNotifyPeriod;
|
||||
int m_visibility_notify_periodInInstances = SharedConst.DefaultVisibilityNotifyPeriod;
|
||||
int m_visibility_notify_periodInBGArenas = SharedConst.DefaultVisibilityNotifyPeriod;
|
||||
int m_visibility_notify_periodInBG = SharedConst.DefaultVisibilityNotifyPeriod;
|
||||
int m_visibility_notify_periodInArenas = SharedConst.DefaultVisibilityNotifyPeriod;
|
||||
|
||||
bool m_isClosed;
|
||||
|
||||
|
||||
@@ -2127,7 +2127,8 @@ Visibility.GroupMode = 1
|
||||
#
|
||||
# Visibility.Distance.Continents
|
||||
# Visibility.Distance.Instances
|
||||
# Visibility.Distance.BGArenas
|
||||
# Visibility.Distance.BG
|
||||
# Visibility.Distance.Arenas
|
||||
# Description: Visibility distance to see other players or gameobjects.
|
||||
# Visibility on continents on retail ~100 yards. In BG/Arenas ~533.
|
||||
# For instances default ~170.
|
||||
@@ -2135,25 +2136,30 @@ Visibility.GroupMode = 1
|
||||
# Min limit is max aggro radius (45) * Rate.Creature.Aggro
|
||||
# Default: 100 - (Visibility.Distance.Continents)
|
||||
# 170 - (Visibility.Distance.Instances)
|
||||
# 533 - (Visibility.Distance.BGArenas)
|
||||
# 533 - (Visibility.Distance.BG)
|
||||
# 533 - (Visibility.Distance.Arenas)
|
||||
|
||||
Visibility.Distance.Continents = 100
|
||||
Visibility.Distance.Instances = 170
|
||||
Visibility.Distance.BGArenas = 533
|
||||
Visibility.Distance.Instances = 170
|
||||
Visibility.Distance.BG = 533
|
||||
Visibility.Distance.Arenas = 533
|
||||
|
||||
#
|
||||
# Visibility.Notify.Period.OnContinents
|
||||
# Visibility.Notify.Period.InInstances
|
||||
# Visibility.Notify.Period.InBGArenas
|
||||
# Visibility.Notify.Period.InBG
|
||||
# Visibility.Notify.Period.InArenas
|
||||
# Description: Time (in milliseconds) for visibility update period. Lower values may have
|
||||
# performance impact.
|
||||
# Default: 1000 - (Visibility.Notify.Period.OnContinents)
|
||||
# 1000 - (Visibility.Notify.Period.InInstances)
|
||||
# 1000 - (Visibility.Notify.Period.InBGArenas)
|
||||
# 1000 - (Visibility.Notify.Period.InBG)
|
||||
# 1000 - (Visibility.Notify.Period.InArenas)
|
||||
|
||||
Visibility.Notify.Period.OnContinents = 1000
|
||||
Visibility.Notify.Period.InInstances = 1000
|
||||
Visibility.Notify.Period.InBGArenas = 1000
|
||||
Visibility.Notify.Period.InBG = 1000
|
||||
Visibility.Notify.Period.InArenas = 1000
|
||||
|
||||
#
|
||||
###################################################################################################
|
||||
|
||||
Reference in New Issue
Block a user