Core/Visibility: Split BG/Arena visibility settings

Port From (https://github.com/TrinityCore/TrinityCore/commit/6b681ebc8aaaf79c1865c8c01f78c736a72e6e7d)
This commit is contained in:
hondacrx
2022-05-24 13:35:17 -04:00
parent bae70ca8ab
commit f10f1e4000
4 changed files with 48 additions and 24 deletions
+2 -2
View File
@@ -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)
+2 -2
View File
@@ -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)
+31 -13
View File
@@ -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;
+12 -6
View File
@@ -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.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
#
###################################################################################################