Core/DynamicInfo: rename some parameters according packet definitions
Port From (https://github.com/TrinityCore/TrinityCore/commit/5e178b30fab3506ee028554c116785a55e26a740)
This commit is contained in:
@@ -1465,9 +1465,9 @@ namespace Game.AI
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!CliDB.LightStorage.ContainsKey(e.Action.overrideLight.lightId))
|
if (!CliDB.LightStorage.ContainsKey(e.Action.overrideLight.overrideLightId))
|
||||||
{
|
{
|
||||||
Log.outError(LogFilter.Sql, $"SmartAIMgr: {e} uses non-existent lightId {e.Action.overrideLight.lightId}, skipped.");
|
Log.outError(LogFilter.Sql, $"SmartAIMgr: {e} uses non-existent overrideLightId {e.Action.overrideLight.overrideLightId}, skipped.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3140,14 +3140,14 @@ namespace Game.AI
|
|||||||
public struct OverrideLight
|
public struct OverrideLight
|
||||||
{
|
{
|
||||||
public uint zoneId;
|
public uint zoneId;
|
||||||
public uint lightId;
|
public uint overrideLightId;
|
||||||
public uint fadeInTime;
|
public uint transitionMilliseconds;
|
||||||
}
|
}
|
||||||
public struct OverrideWeather
|
public struct OverrideWeather
|
||||||
{
|
{
|
||||||
public uint zoneId;
|
public uint zoneId;
|
||||||
public uint weatherId;
|
public uint weatherId;
|
||||||
public uint weatherGrade;
|
public uint intensity;
|
||||||
}
|
}
|
||||||
public struct Conversation
|
public struct Conversation
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2419,9 +2419,9 @@ namespace Game.AI
|
|||||||
WorldObject obj = GetBaseObject();
|
WorldObject obj = GetBaseObject();
|
||||||
if (obj != null)
|
if (obj != null)
|
||||||
{
|
{
|
||||||
obj.GetMap().SetZoneOverrideLight(e.Action.overrideLight.zoneId, e.Action.overrideLight.lightId, e.Action.overrideLight.fadeInTime);
|
obj.GetMap().SetZoneOverrideLight(e.Action.overrideLight.zoneId, e.Action.overrideLight.overrideLightId, e.Action.overrideLight.transitionMilliseconds);
|
||||||
Log.outDebug(LogFilter.ScriptsAi, $"SmartScript::ProcessAction: SMART_ACTION_OVERRIDE_LIGHT: {obj.GetGUID()} sets zone override light (zoneId: {e.Action.overrideLight.zoneId}, " +
|
Log.outDebug(LogFilter.ScriptsAi, $"SmartScript::ProcessAction: SMART_ACTION_OVERRIDE_LIGHT: {obj.GetGUID()} sets zone override light (zoneId: {e.Action.overrideLight.zoneId}, " +
|
||||||
$"lightId: {e.Action.overrideLight.lightId}, fadeInTime: {e.Action.overrideLight.fadeInTime})");
|
$"overrideLightId: {e.Action.overrideLight.overrideLightId}, transitionMilliseconds: {e.Action.overrideLight.transitionMilliseconds})");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2430,9 +2430,9 @@ namespace Game.AI
|
|||||||
WorldObject obj = GetBaseObject();
|
WorldObject obj = GetBaseObject();
|
||||||
if (obj != null)
|
if (obj != null)
|
||||||
{
|
{
|
||||||
obj.GetMap().SetZoneWeather(e.Action.overrideWeather.zoneId, (WeatherState)e.Action.overrideWeather.weatherId, e.Action.overrideWeather.weatherGrade);
|
obj.GetMap().SetZoneWeather(e.Action.overrideWeather.zoneId, (WeatherState)e.Action.overrideWeather.weatherId, e.Action.overrideWeather.intensity);
|
||||||
Log.outDebug(LogFilter.ScriptsAi, $"SmartScript::ProcessAction: SMART_ACTION_OVERRIDE_WEATHER: {obj.GetGUID()} sets zone weather (zoneId: {e.Action.overrideWeather.zoneId}, " +
|
Log.outDebug(LogFilter.ScriptsAi, $"SmartScript::ProcessAction: SMART_ACTION_OVERRIDE_WEATHER: {obj.GetGUID()} sets zone weather (zoneId: {e.Action.overrideWeather.zoneId}, " +
|
||||||
$"weatherId: {e.Action.overrideWeather.weatherId}, weatherGrade: {e.Action.overrideWeather.weatherGrade})");
|
$"weatherId: {e.Action.overrideWeather.weatherId}, intensity: {e.Action.overrideWeather.intensity})");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-12
@@ -3408,7 +3408,7 @@ namespace Game.Maps
|
|||||||
OverrideLight overrideLight = new();
|
OverrideLight overrideLight = new();
|
||||||
overrideLight.AreaLightID = _defaultLight;
|
overrideLight.AreaLightID = _defaultLight;
|
||||||
overrideLight.OverrideLightID = overrideLightId;
|
overrideLight.OverrideLightID = overrideLightId;
|
||||||
overrideLight.TransitionMilliseconds = zoneInfo.LightFadeInTime;
|
overrideLight.TransitionMilliseconds = zoneInfo.TransitionMilliseconds;
|
||||||
player.SendPacket(overrideLight);
|
player.SendPacket(overrideLight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3430,7 +3430,7 @@ namespace Game.Maps
|
|||||||
WeatherState weatherId = zoneDynamicInfo.WeatherId;
|
WeatherState weatherId = zoneDynamicInfo.WeatherId;
|
||||||
if (weatherId != 0)
|
if (weatherId != 0)
|
||||||
{
|
{
|
||||||
WeatherPkt weather = new(weatherId, zoneDynamicInfo.WeatherGrade);
|
WeatherPkt weather = new(weatherId, zoneDynamicInfo.Intensity);
|
||||||
player.SendPacket(weather);
|
player.SendPacket(weather);
|
||||||
}
|
}
|
||||||
else if (zoneDynamicInfo.DefaultWeather != null)
|
else if (zoneDynamicInfo.DefaultWeather != null)
|
||||||
@@ -3494,19 +3494,19 @@ namespace Game.Maps
|
|||||||
return WeatherState.Fine;
|
return WeatherState.Fine;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetZoneWeather(uint zoneId, WeatherState weatherId, float weatherGrade)
|
public void SetZoneWeather(uint zoneId, WeatherState weatherId, float intensity)
|
||||||
{
|
{
|
||||||
if (!_zoneDynamicInfo.ContainsKey(zoneId))
|
if (!_zoneDynamicInfo.ContainsKey(zoneId))
|
||||||
_zoneDynamicInfo[zoneId] = new ZoneDynamicInfo();
|
_zoneDynamicInfo[zoneId] = new ZoneDynamicInfo();
|
||||||
|
|
||||||
ZoneDynamicInfo info = _zoneDynamicInfo[zoneId];
|
ZoneDynamicInfo info = _zoneDynamicInfo[zoneId];
|
||||||
info.WeatherId = weatherId;
|
info.WeatherId = weatherId;
|
||||||
info.WeatherGrade = weatherGrade;
|
info.Intensity = intensity;
|
||||||
|
|
||||||
var players = GetPlayers();
|
var players = GetPlayers();
|
||||||
if (!players.Empty())
|
if (!players.Empty())
|
||||||
{
|
{
|
||||||
WeatherPkt weather = new(weatherId, weatherGrade);
|
WeatherPkt weather = new(weatherId, intensity);
|
||||||
|
|
||||||
foreach (var player in players)
|
foreach (var player in players)
|
||||||
{
|
{
|
||||||
@@ -3516,22 +3516,22 @@ namespace Game.Maps
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetZoneOverrideLight(uint zoneId, uint lightId, uint fadeInTime)
|
public void SetZoneOverrideLight(uint zoneId, uint overrideLightId, uint transitionMilliseconds)
|
||||||
{
|
{
|
||||||
if (!_zoneDynamicInfo.ContainsKey(zoneId))
|
if (!_zoneDynamicInfo.ContainsKey(zoneId))
|
||||||
_zoneDynamicInfo[zoneId] = new ZoneDynamicInfo();
|
_zoneDynamicInfo[zoneId] = new ZoneDynamicInfo();
|
||||||
|
|
||||||
ZoneDynamicInfo info = _zoneDynamicInfo[zoneId];
|
ZoneDynamicInfo info = _zoneDynamicInfo[zoneId];
|
||||||
info.OverrideLightId = lightId;
|
info.OverrideLightId = overrideLightId;
|
||||||
info.LightFadeInTime = fadeInTime;
|
info.TransitionMilliseconds = transitionMilliseconds;
|
||||||
var players = GetPlayers();
|
var players = GetPlayers();
|
||||||
|
|
||||||
if (!players.Empty())
|
if (!players.Empty())
|
||||||
{
|
{
|
||||||
OverrideLight overrideLight = new();
|
OverrideLight overrideLight = new();
|
||||||
overrideLight.AreaLightID = _defaultLight;
|
overrideLight.AreaLightID = _defaultLight;
|
||||||
overrideLight.OverrideLightID = lightId;
|
overrideLight.OverrideLightID = overrideLightId;
|
||||||
overrideLight.TransitionMilliseconds = fadeInTime;
|
overrideLight.TransitionMilliseconds = transitionMilliseconds;
|
||||||
|
|
||||||
foreach (var player in players)
|
foreach (var player in players)
|
||||||
if (player.GetZoneId() == zoneId)
|
if (player.GetZoneId() == zoneId)
|
||||||
@@ -5623,9 +5623,9 @@ namespace Game.Maps
|
|||||||
public uint MusicId;
|
public uint MusicId;
|
||||||
public Weather DefaultWeather;
|
public Weather DefaultWeather;
|
||||||
public WeatherState WeatherId;
|
public WeatherState WeatherId;
|
||||||
public float WeatherGrade;
|
public float Intensity;
|
||||||
public uint OverrideLightId;
|
public uint OverrideLightId;
|
||||||
public uint LightFadeInTime;
|
public uint TransitionMilliseconds;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class PositionFullTerrainStatus
|
public class PositionFullTerrainStatus
|
||||||
|
|||||||
@@ -92,13 +92,13 @@ namespace Game
|
|||||||
|
|
||||||
public class Weather
|
public class Weather
|
||||||
{
|
{
|
||||||
public Weather(uint zone, WeatherData weatherChances)
|
public Weather(uint zoneId, WeatherData weatherChances)
|
||||||
{
|
{
|
||||||
m_zone = zone;
|
m_zone = zoneId;
|
||||||
m_weatherChances = weatherChances;
|
m_weatherChances = weatherChances;
|
||||||
m_timer.SetInterval(10 * Time.Minute * Time.InMilliseconds);
|
m_timer.SetInterval(10 * Time.Minute * Time.InMilliseconds);
|
||||||
m_type = WeatherType.Fine;
|
m_type = WeatherType.Fine;
|
||||||
m_grade = 0;
|
m_intensity = 0;
|
||||||
|
|
||||||
//Log.outInfo(LogFilter.General, "WORLD: Starting weather system for zone {0} (change every {1} minutes).", m_zone, (m_timer.GetInterval() / (Time.Minute * Time.InMilliseconds)));
|
//Log.outInfo(LogFilter.General, "WORLD: Starting weather system for zone {0} (change every {1} minutes).", m_zone, (m_timer.GetInterval() / (Time.Minute * Time.InMilliseconds)));
|
||||||
}
|
}
|
||||||
@@ -132,7 +132,7 @@ namespace Game
|
|||||||
if (m_weatherChances == null)
|
if (m_weatherChances == null)
|
||||||
{
|
{
|
||||||
m_type = WeatherType.Fine;
|
m_type = WeatherType.Fine;
|
||||||
m_grade = 0.0f;
|
m_intensity = 0.0f;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,7 +148,7 @@ namespace Game
|
|||||||
|
|
||||||
// remember old values
|
// remember old values
|
||||||
WeatherType old_type = m_type;
|
WeatherType old_type = m_type;
|
||||||
float old_grade = m_grade;
|
float old_intensity = m_intensity;
|
||||||
|
|
||||||
long gtime = GameTime.GetGameTime();
|
long gtime = GameTime.GetGameTime();
|
||||||
var ltime = Time.UnixTimeToDateTime(gtime).ToLocalTime();
|
var ltime = Time.UnixTimeToDateTime(gtime).ToLocalTime();
|
||||||
@@ -158,21 +158,21 @@ namespace Game
|
|||||||
|
|
||||||
Log.outError(LogFilter.Server, "Generating a change in {0} weather for zone {1}.", seasonName[season], m_zone);
|
Log.outError(LogFilter.Server, "Generating a change in {0} weather for zone {1}.", seasonName[season], m_zone);
|
||||||
|
|
||||||
if ((u < 60) && (m_grade < 0.33333334f)) // Get fair
|
if ((u < 60) && (m_intensity < 0.33333334f)) // Get fair
|
||||||
{
|
{
|
||||||
m_type = WeatherType.Fine;
|
m_type = WeatherType.Fine;
|
||||||
m_grade = 0.0f;
|
m_intensity = 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((u < 60) && (m_type != WeatherType.Fine)) // Get better
|
if ((u < 60) && (m_type != WeatherType.Fine)) // Get better
|
||||||
{
|
{
|
||||||
m_grade -= 0.33333334f;
|
m_intensity -= 0.33333334f;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((u < 90) && (m_type != WeatherType.Fine)) // Get worse
|
if ((u < 90) && (m_type != WeatherType.Fine)) // Get worse
|
||||||
{
|
{
|
||||||
m_grade += 0.33333334f;
|
m_intensity += 0.33333334f;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -183,25 +183,25 @@ namespace Game
|
|||||||
// if medium . change weather type
|
// if medium . change weather type
|
||||||
// if heavy . 50% light, 50% change weather type
|
// if heavy . 50% light, 50% change weather type
|
||||||
|
|
||||||
if (m_grade < 0.33333334f)
|
if (m_intensity < 0.33333334f)
|
||||||
{
|
{
|
||||||
m_grade = 0.9999f; // go nuts
|
m_intensity = 0.9999f; // go nuts
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (m_grade > 0.6666667f)
|
if (m_intensity > 0.6666667f)
|
||||||
{
|
{
|
||||||
// Severe change, but how severe?
|
// Severe change, but how severe?
|
||||||
uint rnd = RandomHelper.URand(0, 99);
|
uint rnd = RandomHelper.URand(0, 99);
|
||||||
if (rnd < 50)
|
if (rnd < 50)
|
||||||
{
|
{
|
||||||
m_grade -= 0.6666667f;
|
m_intensity -= 0.6666667f;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
m_type = WeatherType.Fine; // clear up
|
m_type = WeatherType.Fine; // clear up
|
||||||
m_grade = 0;
|
m_intensity = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -227,29 +227,29 @@ namespace Game
|
|||||||
|
|
||||||
if (m_type == WeatherType.Fine)
|
if (m_type == WeatherType.Fine)
|
||||||
{
|
{
|
||||||
m_grade = 0.0f;
|
m_intensity = 0.0f;
|
||||||
}
|
}
|
||||||
else if (u < 90)
|
else if (u < 90)
|
||||||
{
|
{
|
||||||
m_grade = (float)RandomHelper.NextDouble() * 0.3333f;
|
m_intensity = (float)RandomHelper.NextDouble() * 0.3333f;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Severe change, but how severe?
|
// Severe change, but how severe?
|
||||||
rn = RandomHelper.URand(0, 99);
|
rn = RandomHelper.URand(0, 99);
|
||||||
if (rn < 50)
|
if (rn < 50)
|
||||||
m_grade = (float)RandomHelper.NextDouble() * 0.3333f + 0.3334f;
|
m_intensity = (float)RandomHelper.NextDouble() * 0.3333f + 0.3334f;
|
||||||
else
|
else
|
||||||
m_grade = (float)RandomHelper.NextDouble() * 0.3333f + 0.6667f;
|
m_intensity = (float)RandomHelper.NextDouble() * 0.3333f + 0.6667f;
|
||||||
}
|
}
|
||||||
|
|
||||||
// return true only in case weather changes
|
// return true only in case weather changes
|
||||||
return m_type != old_type || m_grade != old_grade;
|
return m_type != old_type || m_intensity != old_intensity;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendWeatherUpdateToPlayer(Player player)
|
public void SendWeatherUpdateToPlayer(Player player)
|
||||||
{
|
{
|
||||||
WeatherPkt weather = new(GetWeatherState(), m_grade);
|
WeatherPkt weather = new(GetWeatherState(), m_intensity);
|
||||||
player.SendPacket(weather);
|
player.SendPacket(weather);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -265,14 +265,14 @@ namespace Game
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Send the weather packet to all players in this zone
|
// Send the weather packet to all players in this zone
|
||||||
if (m_grade >= 1)
|
if (m_intensity >= 1)
|
||||||
m_grade = 0.9999f;
|
m_intensity = 0.9999f;
|
||||||
else if (m_grade < 0)
|
else if (m_intensity < 0)
|
||||||
m_grade = 0.0001f;
|
m_intensity = 0.0001f;
|
||||||
|
|
||||||
WeatherState state = GetWeatherState();
|
WeatherState state = GetWeatherState();
|
||||||
|
|
||||||
WeatherPkt weather = new(state, m_grade);
|
WeatherPkt weather = new(state, m_intensity);
|
||||||
|
|
||||||
//- Returns false if there were no players found to update
|
//- Returns false if there were no players found to update
|
||||||
if (!Global.WorldMgr.SendZoneMessage(m_zone, weather))
|
if (!Global.WorldMgr.SendZoneMessage(m_zone, weather))
|
||||||
@@ -325,45 +325,45 @@ namespace Game
|
|||||||
}
|
}
|
||||||
Log.outInfo(LogFilter.Server, "Change the weather of zone {0} to {1}.", m_zone, wthstr);
|
Log.outInfo(LogFilter.Server, "Change the weather of zone {0} to {1}.", m_zone, wthstr);
|
||||||
|
|
||||||
Global.ScriptMgr.OnWeatherChange(this, state, m_grade);
|
Global.ScriptMgr.OnWeatherChange(this, state, m_intensity);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetWeather(WeatherType type, float grade)
|
public void SetWeather(WeatherType type, float grade)
|
||||||
{
|
{
|
||||||
if (m_type == type && m_grade == grade)
|
if (m_type == type && m_intensity == grade)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_type = type;
|
m_type = type;
|
||||||
m_grade = grade;
|
m_intensity = grade;
|
||||||
UpdateWeather();
|
UpdateWeather();
|
||||||
}
|
}
|
||||||
|
|
||||||
public WeatherState GetWeatherState()
|
public WeatherState GetWeatherState()
|
||||||
{
|
{
|
||||||
if (m_grade < 0.27f)
|
if (m_intensity < 0.27f)
|
||||||
return WeatherState.Fine;
|
return WeatherState.Fine;
|
||||||
|
|
||||||
switch (m_type)
|
switch (m_type)
|
||||||
{
|
{
|
||||||
case WeatherType.Rain:
|
case WeatherType.Rain:
|
||||||
if (m_grade < 0.40f)
|
if (m_intensity < 0.40f)
|
||||||
return WeatherState.LightRain;
|
return WeatherState.LightRain;
|
||||||
else if (m_grade < 0.70f)
|
else if (m_intensity < 0.70f)
|
||||||
return WeatherState.MediumRain;
|
return WeatherState.MediumRain;
|
||||||
else
|
else
|
||||||
return WeatherState.HeavyRain;
|
return WeatherState.HeavyRain;
|
||||||
case WeatherType.Snow:
|
case WeatherType.Snow:
|
||||||
if (m_grade < 0.40f)
|
if (m_intensity < 0.40f)
|
||||||
return WeatherState.LightSnow;
|
return WeatherState.LightSnow;
|
||||||
else if (m_grade < 0.70f)
|
else if (m_intensity < 0.70f)
|
||||||
return WeatherState.MediumSnow;
|
return WeatherState.MediumSnow;
|
||||||
else
|
else
|
||||||
return WeatherState.HeavySnow;
|
return WeatherState.HeavySnow;
|
||||||
case WeatherType.Storm:
|
case WeatherType.Storm:
|
||||||
if (m_grade < 0.40f)
|
if (m_intensity < 0.40f)
|
||||||
return WeatherState.LightSandstorm;
|
return WeatherState.LightSandstorm;
|
||||||
else if (m_grade < 0.70f)
|
else if (m_intensity < 0.70f)
|
||||||
return WeatherState.MediumSandstorm;
|
return WeatherState.MediumSandstorm;
|
||||||
else
|
else
|
||||||
return WeatherState.HeavySandstorm;
|
return WeatherState.HeavySandstorm;
|
||||||
@@ -382,7 +382,7 @@ namespace Game
|
|||||||
|
|
||||||
uint m_zone;
|
uint m_zone;
|
||||||
WeatherType m_type;
|
WeatherType m_type;
|
||||||
float m_grade;
|
float m_intensity;
|
||||||
IntervalTimer m_timer = new();
|
IntervalTimer m_timer = new();
|
||||||
WeatherData m_weatherChances;
|
WeatherData m_weatherChances;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user