Started implementing LS management. Rank change works.

This commit is contained in:
Filip Maj
2017-01-08 23:13:15 -05:00
parent 68772a2011
commit 61e4effd74
10 changed files with 258 additions and 7 deletions

View File

@@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace FFXIVClassic_World_Server.Packets.WorldPackets.Receive.Group
{
class LinkshellLeavePacket
{
public bool invalidPacket = false;
public bool isDisband;
public string lsName;
public LinkshellLeavePacket(byte[] data)
{
using (MemoryStream mem = new MemoryStream(data))
{
using (BinaryReader binReader = new BinaryReader(mem))
{
try
{
isDisband = binReader.ReadUInt16() == 1;
lsName = Encoding.ASCII.GetString(binReader.ReadBytes(0x20)).Trim(new[] { '\0' });
}
catch (Exception)
{
invalidPacket = true;
}
}
}
}
}
}

View File

@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace FFXIVClassic_World_Server.Packets.WorldPackets.Receive.Group
{
class LinkshellRankChangePacket
{
public bool invalidPacket = false;
public string name;
public string lsName;
public byte rank;
public LinkshellRankChangePacket(byte[] data)
{
using (MemoryStream mem = new MemoryStream(data))
{
using (BinaryReader binReader = new BinaryReader(mem))
{
try
{
name = Encoding.ASCII.GetString(binReader.ReadBytes(0x20)).Trim(new[] { '\0' });
lsName = Encoding.ASCII.GetString(binReader.ReadBytes(0x20)).Trim(new[] { '\0' });
rank = binReader.ReadByte();
}
catch (Exception)
{
invalidPacket = true;
}
}
}
}
}
}