Modified the SetWeatherPacket. Second value is a toggle for instant or smooth transitions.

This commit is contained in:
Filip Maj 2016-05-09 20:48:18 -04:00
parent 78f2b18641
commit 8df79c9e6f
4 changed files with 832 additions and 832 deletions

View File

@ -460,7 +460,7 @@ namespace FFXIVClassic_Lobby_Server
if (client != null)
{
client.queuePacket(BasePacket.createPacket(SetWeatherPacket.buildPacket(client.actorID, weather), true, false));
client.queuePacket(BasePacket.createPacket(SetWeatherPacket.buildPacket(client.actorID, weather, true), true, false));
}
/*

View File

@ -479,7 +479,7 @@ namespace FFXIVClassic_Map_Server.Actors
queuePacket(SetActorIsZoningPacket.buildPacket(actorId, actorId, false));
queuePacket(_0x10Packet.buildPacket(actorId, 0xFF));
queuePacket(SetMusicPacket.buildPacket(actorId, zone.bgmDay, 0x01));
queuePacket(SetWeatherPacket.buildPacket(actorId, SetWeatherPacket.WEATHER_CLEAR));
queuePacket(SetWeatherPacket.buildPacket(actorId, SetWeatherPacket.WEATHER_CLEAR, true));
queuePacket(SetMapPacket.buildPacket(actorId, zone.regionId, zone.actorId));

View File

@ -28,7 +28,7 @@ namespace FFXIVClassic_Map_Server.lua
public void setWeather(uint weatherID)
{
player.playerSession.queuePacket(SetWeatherPacket.buildPacket(player.actorId, weatherID), true, false);
player.playerSession.queuePacket(SetWeatherPacket.buildPacket(player.actorId, weatherID, true), true, false);
}
public void getParameter(string paramName)

View File

@ -9,41 +9,41 @@ namespace FFXIVClassic_Map_Server.packets.send
{
class SetWeatherPacket
{
// Use the first value to change without a transition, the second value to do a standard transition
public const uint WEATHER_CLEAR = 0x011F41; // 8001 / 73537
public const uint WEATHER_FAIR = 0x011F42; // 8002 / 73538
public const uint WEATHER_CLOUDY = 0x011F43; // 8003 / 73539
public const uint WEATHER_FOGGY = 0x011F44; // 8004 / 73540
public const uint WEATHER_WINDY = 0x011F45; // 8005 / 73541 - NOT SUPPORTED in v1.23b
public const uint WEATHER_BLUSTERY = 0x011F46; // 8006 / 73542
public const uint WEATHER_RAINY = 0x011F47; // 8007 / 73543
public const uint WEATHER_SHOWERY = 0x011F48; // 8008 / 73544 - NOT SUPPORTED in v1.23b
public const uint WEATHER_THUNDERY = 0x011F49; // 8009 / 73545 - NOT SUPPORTED in v1.23b
public const uint WEATHER_STORMY = 0x011F4A; // 8010 / 73546
public const uint WEATHER_DUSTY = 0x011F4B; // 8011 / 73547 - NOT SUPPORTED in v1.23b
public const uint WEATHER_SANDY = 0x011F4C; // 8012 / 73548
public const uint WEATHER_HOT = 0x011F4D; // 8013 / 73549 - NOT SUPPORTED in v1.23b
public const uint WEATHER_BLISTERING = 0x011F4E; // 8014 / 73550 - Bowl Of Embers Weather
public const uint WEATHER_SNOWY = 0x011F4F; // 8015 / 73551 - NOT SUPPORTED in v1.23b
public const uint WEATHER_WINTRY = 0x011F50; // 8016 / 73552 - NOT SUPPORTED in v1.23b
public const uint WEATHER_GLOOMY = 0x011F51; // 8017 / 73553
// 8018 - 8026 / 73554 - 73562 - NOT SUPPORTED in v1.23b
public const uint WEATHER_SEASONAL = 0x011F5B; // 8027 / 73563 - Snow in Black Shroud, nothing elsewhere
public const uint WEATHER_PRIMAL = 0x011F5C; // 8028 / 73564 - Howling Eye and Thornmarch Weather
public const uint WEATHER_SEASONAL_FIREWORKS = 0x011F5D; // 8029 / 73565 - Plays fireworks between 20:00 - 21:00 ET
public const uint WEATHER_DALAMUD = 0x011F5E; // 8030 / 73566
public const uint WEATHER_AURORA = 0x011F5F; // 8031 / 73567
public const uint WEATHER_DALAMUD_THUNDER = 0x011F60; // 8032 / 73568
// 8033 - 8064 / 73569 - 73600 - NOT SUPPORTED in v1.23b
public const uint WEATHER_DAY = 0x011F81; // 8065 / 73601 - Force skybox to show Day + Fair regardless of current ET
public const uint WEATHER_TWILIGHT = 0x011F82; // 8066 / 73602 - Force skybox to show Twilight + Clear regardless of current ET
public const uint WEATHER_CLEAR = 8001;
public const uint WEATHER_FAIR = 8002;
public const uint WEATHER_CLOUDY = 8003;
public const uint WEATHER_FOGGY = 8004;
public const uint WEATHER_WINDY = 8005;
public const uint WEATHER_BLUSTERY = 8006;
public const uint WEATHER_RAINY = 8007;
public const uint WEATHER_SHOWERY = 8008;
public const uint WEATHER_THUNDERY = 8009;
public const uint WEATHER_STORMY = 8010;
public const uint WEATHER_DUSTY = 8011;
public const uint WEATHER_SANDY = 8012;
public const uint WEATHER_HOT = 8013;
public const uint WEATHER_BLISTERING = 8014; //Bowl Of Embers Weather
public const uint WEATHER_SNOWY = 8015;
public const uint WEATHER_WINTRY = 8016;
public const uint WEATHER_GLOOMY = 8017;
public const uint WEATHER_SEASONAL = 8027; //Snow in Black Shroud, nothing elsewhere
public const uint WEATHER_PRIMAL = 8028; //Howling Eye and Thornmarch Weather
public const uint WEATHER_SEASONAL_FIREWORKS = 8029; //Plays fireworks between 20:00 - 21:00 ET
public const uint WEATHER_DALAMUD = 8030;
public const uint WEATHER_AURORA = 8031;
public const uint WEATHER_DALAMUD_THUNDER = 8032;
public const uint WEATHER_DAY = 8065; //Force skybox to show Day + Fair regardless of current ET
public const uint WEATHER_TWILIGHT = 8066; //Force skybox to show Twilight + Clear regardless of current ET
public const ushort OPCODE = 0x000D;
public const uint PACKET_SIZE = 0x28;
public static SubPacket buildPacket(uint playerActorID, long weatherId)
public static SubPacket buildPacket(uint playerActorID, long weatherId, bool smoothTransition)
{
return new SubPacket(OPCODE, 0, playerActorID, BitConverter.GetBytes(weatherId));
ulong combined = (uint)(weatherId | ((smoothTransition ? 1 : 0) << 16));
return new SubPacket(OPCODE, 0, playerActorID, BitConverter.GetBytes(combined));
}
}
}