Added receiving packets for GM stuff. Started implementing the recruitment packets.

This commit is contained in:
Filip Maj 2015-12-06 20:23:34 -05:00
parent de353c9909
commit 4eda13501c
11 changed files with 396 additions and 9 deletions

View file

@ -0,0 +1,49 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FFXIVClassic_Map_Server.packets.receive.recruitment
{
class RecruitmentSearchRequestPacket
{
public bool invalidPacket = false;
public uint purposeId;
public uint locationId;
public uint discipleId;
public uint classjobId;
public byte unknown1;
public byte unknown2;
public string text;
public RecruitmentSearchRequestPacket(byte[] data)
{
using (MemoryStream mem = new MemoryStream(data))
{
using (BinaryReader binReader = new BinaryReader(mem))
{
try{
purposeId = binReader.ReadUInt32();
locationId = binReader.ReadUInt32();
discipleId = binReader.ReadUInt32();
classjobId = binReader.ReadUInt32();
unknown1 = binReader.ReadByte();
unknown2 = binReader.ReadByte();
text = Encoding.ASCII.GetString(binReader.ReadBytes(0x20));
}
catch (Exception){
invalidPacket = true;
}
}
}
}
}
}

View file

@ -0,0 +1,56 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FFXIVClassic_Map_Server.packets.receive.recruitment
{
class StartRecruitingRequestPacket
{
public bool invalidPacket = false;
public uint purposeId;
public uint locationId;
public uint subTaskId;
public uint[] discipleId = new uint[4];
public uint[] classjobId = new uint[4];
public byte[] minLvl = new byte[4];
public byte[] maxLvl = new byte[4];
public byte[] num = new byte[4];
public string comment;
public StartRecruitingRequestPacket(byte[] data)
{
using (MemoryStream mem = new MemoryStream(data))
{
using (BinaryReader binReader = new BinaryReader(mem))
{
try{
purposeId = binReader.ReadUInt32();
locationId = binReader.ReadUInt32();
subTaskId = binReader.ReadUInt32();
for (int i = 0; i < 4; i++)
{
discipleId[i] = binReader.ReadUInt32();
classjobId[i] = binReader.ReadUInt32();
minLvl[i] = binReader.ReadByte();
maxLvl[i] = binReader.ReadByte();
num[i] = binReader.ReadByte();
binReader.ReadByte();
}
comment = Encoding.ASCII.GetString(binReader.ReadBytes(0x168));
}
catch (Exception){
invalidPacket = true;
}
}
}
}
}
}

View file

@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FFXIVClassic_Map_Server.packets.receive.supportdesk
{
class FaqBodyRequestPacket
{
public bool invalidPacket = false;
public uint faqIndex;
public uint langCode;
public FaqBodyRequestPacket(byte[] data)
{
using (MemoryStream mem = new MemoryStream(data))
{
using (BinaryReader binReader = new BinaryReader(mem))
{
try
{
faqIndex = binReader.ReadUInt32();
langCode = binReader.ReadUInt32();
}
catch (Exception){
invalidPacket = true;
}
}
}
}
}
}

View file

@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FFXIVClassic_Map_Server.packets.receive.supportdesk
{
class FaqListRequestPacket
{
public bool invalidPacket = false;
public uint langCode;
public uint unknown;
public FaqListRequestPacket(byte[] data)
{
using (MemoryStream mem = new MemoryStream(data))
{
using (BinaryReader binReader = new BinaryReader(mem))
{
try{
langCode = binReader.ReadUInt32();
unknown = binReader.ReadUInt32();
}
catch (Exception){
invalidPacket = true;
}
}
}
}
}
}

View file

@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FFXIVClassic_Map_Server.packets.receive.supportdesk
{
class GMTicketIssuesRequestPacket
{
public bool invalidPacket = false;
public uint langCode;
public GMTicketIssuesRequestPacket(byte[] data)
{
using (MemoryStream mem = new MemoryStream(data))
{
using (BinaryReader binReader = new BinaryReader(mem))
{
try{
langCode = binReader.ReadUInt32();
}
catch (Exception){
invalidPacket = true;
}
}
}
}
}
}