48 lines
1.5 KiB
C#
48 lines
1.5 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using PSO2SERVER.Json;
|
|
using PSO2SERVER.Models;
|
|
|
|
namespace PSO2SERVER.Protocol.Packets
|
|
{
|
|
class PartySetQuestPacket : Packet
|
|
{
|
|
public uint Name { get; set; }
|
|
public uint Difficulty { get; set; }
|
|
public QuestType QuestType { get; set; }
|
|
public QuestDef QuestDefiniton { get; set; }
|
|
public QuestDiff QuestDifficulty { get; set; }
|
|
public ObjectHeader Player { get; set; }
|
|
public ushort unk1 { get; set; } = 0;
|
|
public ushort unk2 { get; set; } = 0;
|
|
|
|
public PartySetQuestPacket(uint name, uint difficulty, QuestData questDate, uint player_id)
|
|
{
|
|
Name = name;
|
|
Difficulty = difficulty;
|
|
QuestDefiniton = questDate.QuestDefiniton;
|
|
QuestDifficulty = questDate.Difficulty;
|
|
Player = new ObjectHeader(player_id, ObjectType.Player);
|
|
}
|
|
|
|
public override byte[] Build()
|
|
{
|
|
PacketWriter pkt = new PacketWriter();
|
|
pkt.Write(Name); // Unknown
|
|
pkt.Write(Difficulty); // Unknown
|
|
pkt.Write((uint)QuestType);
|
|
QuestDefiniton.WriteToStream(pkt);
|
|
QuestDifficulty.WriteToStream(pkt);
|
|
pkt.WriteObjectHeader(Player);
|
|
pkt.Write(unk1);
|
|
pkt.Write(unk2);
|
|
return pkt.ToArray();
|
|
}
|
|
|
|
public override PacketHeader GetHeader()
|
|
{
|
|
return new PacketHeader(0x0E, 0x31, PacketFlags.None);
|
|
}
|
|
}
|
|
}
|