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() public override void InitVisibilityDistance()
{ {
//init visibility distance for instances //init visibility distance for instances
m_VisibleDistance = Global.WorldMgr.GetMaxVisibleDistanceInBGArenas(); m_VisibleDistance = Global.WorldMgr.GetMaxVisibleDistanceInInstances();
m_VisibilityNotifyPeriod = Global.WorldMgr.GetVisibilityNotifyPeriodInBGArenas(); m_VisibilityNotifyPeriod = Global.WorldMgr.GetVisibilityNotifyPeriodInInstances();
} }
public override bool AddPlayerToMap(Player player, bool initPlayer = true) public override bool AddPlayerToMap(Player player, bool initPlayer = true)
+2 -2
View File
@@ -5668,8 +5668,8 @@ namespace Game.Maps
public override void InitVisibilityDistance() public override void InitVisibilityDistance()
{ {
m_VisibleDistance = Global.WorldMgr.GetMaxVisibleDistanceInBGArenas(); m_VisibleDistance = IsBattleArena() ? Global.WorldMgr.GetMaxVisibleDistanceInArenas() : Global.WorldMgr.GetMaxVisibleDistanceInBG();
m_VisibilityNotifyPeriod = Global.WorldMgr.GetVisibilityNotifyPeriodInBGArenas(); m_VisibilityNotifyPeriod = IsBattleArena() ? Global.WorldMgr.GetVisibilityNotifyPeriodInArenas() : Global.WorldMgr.GetVisibilityNotifyPeriodInBG();
} }
public override EnterState CannotEnter(Player player) public override EnterState CannotEnter(Player player)
+31 -13
View File
@@ -1194,22 +1194,36 @@ namespace Game
m_MaxVisibleDistanceInInstances = SharedConst.MaxVisibilityDistance; m_MaxVisibleDistanceInInstances = SharedConst.MaxVisibilityDistance;
} }
//visibility in BG/Arenas //visibility in BG
m_MaxVisibleDistanceInBGArenas = ConfigMgr.GetDefaultValue("Visibility.Distance.BGArenas", SharedConst.DefaultVisibilityBGAreans); m_MaxVisibleDistanceInBG = ConfigMgr.GetDefaultValue("Visibility.Distance.BG", SharedConst.DefaultVisibilityBGAreans);
if (m_MaxVisibleDistanceInBGArenas < 45 * rateCreatureAggro) if (m_MaxVisibleDistanceInBG < 45 * rateCreatureAggro)
{ {
Log.outError(LogFilter.ServerLoading, "Visibility.Distance.BGArenas can't be less max aggro radius {0}", 45 * rateCreatureAggro); Log.outError(LogFilter.ServerLoading, $"Visibility.Distance.BG can't be less max aggro radius {45 * rateCreatureAggro}");
m_MaxVisibleDistanceInBGArenas = 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); Log.outError(LogFilter.ServerLoading, $"Visibility.Distance.BG can't be greater {SharedConst.MaxVisibilityDistance}");
m_MaxVisibleDistanceInBGArenas = 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_periodOnContinents = ConfigMgr.GetDefaultValue("Visibility.Notify.Period.OnContinents", SharedConst.DefaultVisibilityNotifyPeriod);
m_visibility_notify_periodInInstances = ConfigMgr.GetDefaultValue("Visibility.Notify.Period.InInstances", 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."); _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"); _alertRestartReason = WorldConfig.GetDefaultValue("Respawn.AlertRestartReason", "Urgent Maintenance");
@@ -2527,11 +2541,13 @@ namespace Game
public float GetMaxVisibleDistanceOnContinents() { return m_MaxVisibleDistanceOnContinents; } public float GetMaxVisibleDistanceOnContinents() { return m_MaxVisibleDistanceOnContinents; }
public float GetMaxVisibleDistanceInInstances() { return m_MaxVisibleDistanceInInstances; } 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 GetVisibilityNotifyPeriodOnContinents() { return m_visibility_notify_periodOnContinents; }
public int GetVisibilityNotifyPeriodInInstances() { return m_visibility_notify_periodInInstances; } 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) public Locale GetAvailableDbcLocale(Locale locale)
{ {
@@ -2565,11 +2581,13 @@ namespace Game
float m_MaxVisibleDistanceOnContinents = SharedConst.DefaultVisibilityDistance; float m_MaxVisibleDistanceOnContinents = SharedConst.DefaultVisibilityDistance;
float m_MaxVisibleDistanceInInstances = SharedConst.DefaultVisibilityInstance; 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_periodOnContinents = SharedConst.DefaultVisibilityNotifyPeriod;
int m_visibility_notify_periodInInstances = 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; bool m_isClosed;
+13 -7
View File
@@ -2127,7 +2127,8 @@ Visibility.GroupMode = 1
# #
# Visibility.Distance.Continents # Visibility.Distance.Continents
# Visibility.Distance.Instances # Visibility.Distance.Instances
# Visibility.Distance.BGArenas # Visibility.Distance.BG
# Visibility.Distance.Arenas
# Description: Visibility distance to see other players or gameobjects. # Description: Visibility distance to see other players or gameobjects.
# Visibility on continents on retail ~100 yards. In BG/Arenas ~533. # Visibility on continents on retail ~100 yards. In BG/Arenas ~533.
# For instances default ~170. # For instances default ~170.
@@ -2135,25 +2136,30 @@ Visibility.GroupMode = 1
# Min limit is max aggro radius (45) * Rate.Creature.Aggro # Min limit is max aggro radius (45) * Rate.Creature.Aggro
# Default: 100 - (Visibility.Distance.Continents) # Default: 100 - (Visibility.Distance.Continents)
# 170 - (Visibility.Distance.Instances) # 170 - (Visibility.Distance.Instances)
# 533 - (Visibility.Distance.BGArenas) # 533 - (Visibility.Distance.BG)
# 533 - (Visibility.Distance.Arenas)
Visibility.Distance.Continents = 100 Visibility.Distance.Continents = 100
Visibility.Distance.Instances = 170 Visibility.Distance.Instances = 170
Visibility.Distance.BGArenas = 533 Visibility.Distance.BG = 533
Visibility.Distance.Arenas = 533
# #
# Visibility.Notify.Period.OnContinents # Visibility.Notify.Period.OnContinents
# Visibility.Notify.Period.InInstances # 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 # Description: Time (in milliseconds) for visibility update period. Lower values may have
# performance impact. # performance impact.
# Default: 1000 - (Visibility.Notify.Period.OnContinents) # Default: 1000 - (Visibility.Notify.Period.OnContinents)
# 1000 - (Visibility.Notify.Period.InInstances) # 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.OnContinents = 1000
Visibility.Notify.Period.InInstances = 1000 Visibility.Notify.Period.InInstances = 1000
Visibility.Notify.Period.InBGArenas = 1000 Visibility.Notify.Period.InBG = 1000
Visibility.Notify.Period.InArenas = 1000
# #
################################################################################################### ###################################################################################################