/// <summary> /// Displays weather for the map. /// </summary> /// <param name="player">The player to display the weather for.</param> public void DisplayWeather(Models.Entities.Player player) { if (Map.Weather == null) { var weatherPacket = new Models.Packets.Location.WeatherPacket { Clear = true }; player.ClientSocket.Send(weatherPacket); player.ClientSocket.Send(new Models.Packets.Client.DataExchangePacket { ExchangeType = Enums.ExchangeType.MapARGB, ClientId = player.ClientId, Data1 = 0 }); } else { var weatherPacket = new Models.Packets.Location.WeatherPacket { Weather = Map.Weather }; var showDark = (Map.Weather.WeatherType == Enums.WeatherType.Rain || Map.Weather.WeatherType == Enums.WeatherType.RainWind); player.ClientSocket.Send(weatherPacket); if (showDark) { player.ClientSocket.Send(new Models.Packets.Client.DataExchangePacket { ExchangeType = Enums.ExchangeType.MapARGB, ClientId = player.ClientId, Data1 = 5855577 }); } else { player.ClientSocket.Send(new Models.Packets.Client.DataExchangePacket { ExchangeType = Enums.ExchangeType.MapARGB, ClientId = player.ClientId, Data1 = 0 }); } } }
/// <summary> /// Displays weather for all players in the map. /// </summary> protected void DisplayWeather() { if (Map.Weather == null) { var weatherPacket = new Models.Packets.Location.WeatherPacket { Clear = true }; foreach (var mapObject in Map.MapObjects.Values) { var player = mapObject as Models.Entities.Player; if (player != null && player.LoggedIn) { player.ClientSocket.Send(weatherPacket); player.ClientSocket.Send(new Models.Packets.Client.DataExchangePacket { ExchangeType = Enums.ExchangeType.MapARGB, ClientId = player.ClientId, Data1 = 0 }); } } } else { var weatherPacket = new Models.Packets.Location.WeatherPacket { Weather = Map.Weather }; var showDark = (Map.Weather.WeatherType == Enums.WeatherType.Rain || Map.Weather.WeatherType == Enums.WeatherType.RainWind); foreach (var mapObject in Map.MapObjects.Values) { var player = mapObject as Models.Entities.Player; if (player != null && player.LoggedIn) { player.ClientSocket.Send(weatherPacket); if (showDark) { player.ClientSocket.Send(new Models.Packets.Client.DataExchangePacket { ExchangeType = Enums.ExchangeType.MapARGB, ClientId = player.ClientId, Data1 = 5855577 }); } else { player.ClientSocket.Send(new Models.Packets.Client.DataExchangePacket { ExchangeType = Enums.ExchangeType.MapARGB, ClientId = player.ClientId, Data1 = 0 }); } } } } }