Added item storage packet for armoire.

This commit is contained in:
Filip Maj 2017-06-19 22:21:21 -04:00
parent ed5ee01ba6
commit c1d67538f3
3 changed files with 32 additions and 1 deletions

View File

@ -249,6 +249,7 @@
<Compile Include="packets\send\player\SetHasGoobbuePacket.cs" /> <Compile Include="packets\send\player\SetHasGoobbuePacket.cs" />
<Compile Include="packets\send\player\SetHasChocoboPacket.cs" /> <Compile Include="packets\send\player\SetHasChocoboPacket.cs" />
<Compile Include="packets\send\player\SetLatestAchievementsPacket.cs" /> <Compile Include="packets\send\player\SetLatestAchievementsPacket.cs" />
<Compile Include="packets\send\player\SetPlayerItemStoragePacket.cs" />
<Compile Include="packets\send\player\SetPlayerDreamPacket.cs" /> <Compile Include="packets\send\player\SetPlayerDreamPacket.cs" />
<Compile Include="packets\send\player\SetPlayerTitlePacket.cs" /> <Compile Include="packets\send\player\SetPlayerTitlePacket.cs" />
<Compile Include="packets\send\player\SetSpecialEventWorkPacket.cs" /> <Compile Include="packets\send\player\SetSpecialEventWorkPacket.cs" />

View File

@ -537,16 +537,17 @@ namespace FFXIVClassic_Map_Server.Actors
playerSession.QueuePacket(debugSpawn); playerSession.QueuePacket(debugSpawn);
playerSession.QueuePacket(worldMasterSpawn); playerSession.QueuePacket(worldMasterSpawn);
//Inn Packets (Dream, Cutscenes, Armoire)
if (zone.isInn) if (zone.isInn)
{ {
SetCutsceneBookPacket cutsceneBookPacket = new SetCutsceneBookPacket(); SetCutsceneBookPacket cutsceneBookPacket = new SetCutsceneBookPacket();
for (int i = 0; i < 2048; i++) for (int i = 0; i < 2048; i++)
cutsceneBookPacket.cutsceneFlags[i] = true; cutsceneBookPacket.cutsceneFlags[i] = true;
SubPacket packet = cutsceneBookPacket.BuildPacket(actorId, "<Path Companion>", 11, 1, 1); SubPacket packet = cutsceneBookPacket.BuildPacket(actorId, "<Path Companion>", 11, 1, 1);
packet.DebugPrintSubPacket(); packet.DebugPrintSubPacket();
QueuePacket(packet); QueuePacket(packet);
QueuePacket(SetPlayerItemStoragePacket.BuildPacket(actorId));
} }
if (zone.GetWeatherDirector() != null) if (zone.GetWeatherDirector() != null)

View File

@ -0,0 +1,29 @@
using FFXIVClassic.Common;
using System;
using FFXIVClassic.Common;
using System.IO;
namespace FFXIVClassic_Map_Server.packets.send.player
{
class SetPlayerItemStoragePacket
{
public const ushort OPCODE = 0x01A5;
public const uint PACKET_SIZE = 0x50;
public static SubPacket BuildPacket(uint playerActorID)
{
byte[] data = new byte[PACKET_SIZE - 0x20];
using (MemoryStream mem = new MemoryStream(data))
{
using (BinaryWriter binWriter = new BinaryWriter(mem))
{
binWriter.Write(new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F}); //All items enabled
}
}
return new SubPacket(OPCODE, playerActorID, playerActorID, data);
}
}
}