mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-16 22:18:20 +00:00
svn -> git Migration
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
using EQExtractor2.InternalTypes;
|
||||
using EQExtractor2.OpCodes;
|
||||
using EQPacket;
|
||||
using MyUtils;
|
||||
|
||||
namespace EQExtractor2.Patches
|
||||
{
|
||||
class PatchFeb082011Decoder : PatchDec072010Decoder
|
||||
{
|
||||
public PatchFeb082011Decoder()
|
||||
{
|
||||
Version = "EQ Client Build Date February 8 2011.";
|
||||
|
||||
PatchConfFileName = "patch_Feb8-2011.conf";
|
||||
|
||||
ExpectedPPLength = 28176;
|
||||
|
||||
PPZoneIDOffset = 20844;
|
||||
}
|
||||
|
||||
override public IdentificationStatus Identify(int OpCode, int Size, PacketDirection Direction)
|
||||
{
|
||||
if ((OpCode == OpManager.OpCodeNameToNumber("OP_ZoneEntry")) && (Direction == PacketDirection.ClientToServer))
|
||||
{
|
||||
IDStatus = IdentificationStatus.Tentative;
|
||||
return IdentificationStatus.Tentative;
|
||||
}
|
||||
|
||||
if (IDStatus != IdentificationStatus.Tentative)
|
||||
return IdentificationStatus.No;
|
||||
|
||||
if ((OpCode == OpManager.OpCodeNameToNumber("OP_PlayerProfile")) && (Direction == PacketDirection.ServerToClient) &&
|
||||
(Size == ExpectedPPLength))
|
||||
return IdentificationStatus.Yes;
|
||||
|
||||
return IdentificationStatus.No;
|
||||
}
|
||||
|
||||
override public Item DecodeItemPacket(byte[] PacketBuffer)
|
||||
{
|
||||
ByteStream Buffer = new ByteStream(PacketBuffer);
|
||||
|
||||
Item NewItem = new Item();
|
||||
|
||||
Buffer.SetPosition(30);
|
||||
NewItem.MerchantSlot = Buffer.ReadByte(); // 13
|
||||
NewItem.Price = Buffer.ReadUInt32(); // 14
|
||||
Buffer.SkipBytes(5);
|
||||
NewItem.Quantity = Buffer.ReadInt32(); // 23
|
||||
Buffer.SetPosition(97);
|
||||
NewItem.Name = Buffer.ReadString(true);
|
||||
NewItem.Lore = Buffer.ReadString(true);
|
||||
NewItem.IDFile = Buffer.ReadString(true);
|
||||
Buffer.SkipBytes(1);
|
||||
NewItem.ID = Buffer.ReadUInt32();
|
||||
|
||||
return NewItem;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user