Hello
I've spent some hours trying to figure out the battelist structure for the latest Tibia client. Last time I did this kind of stuff was some years ago, so there have been some changed which I've noticed
There is some values that are still unknown for me. Does anyone of you know what they can be?
Code:private class Offset { public const uint Id = 0x00; public const uint Type = 0x03; public const uint Name = 0x04; public const uint PositionZ = 0x24; public const uint PositionY = 0x28; public const uint PositionX = 0x2C; public const uint DisplacementY = 0x30; public const uint DisplacementX = 0x34; public const uint Direction = 0x38; // Seems to be set to a specific time after each movement of the creature // If the creature moves straight they are set to the same value // If the creature moves diagonally they are set to different values. UnknownB is always 564 (for my character atleast) greater than UnknownA. // My guess is that these are being set to the time when the creature can make a new movement // UnknownA is for the time the creature can make a straight move // UnknownB is for the time the creature can make a diagonal move // (Or the other way around - Is the delay greater when making 2 diagonal moves or when making 2 straight moves?) public const uint UnknownA = 0x3C; public const uint UnknownB = 0x40; public const uint WalkingDirectionY = 0x44; // 0x20 if moved in Y otherwise 0x00 public const uint WalkingDirectionX = 0x48; // 0x20 if moved in X otherwise 0x00 public const uint GroundSpeed = 0x4C; public const uint IsWalking = 0x50; public const uint LastWalkedDirection = 0x54; // These seems to change when (other) players changes floor // Almost always one of the values: // 0x0, 0x7FFFFFFF, 0xFFFFFFFF. So some kind of bit masking/shifting/or similiar? public const uint UnknownC = 0x58; public const uint UnknownD = 0x5C; public const uint LookType = 0x60; public const uint LookHead = 0x64; public const uint LookBody = 0x68; public const uint LookLegs = 0x6C; public const uint LookFeet = 0x70; public const uint LookAddon = 0x74; public const uint LookMount = 0x78; public const uint LightRadius = 0x7C; public const uint LightColor = 0x80; public const uint UnknownE = 0x84; public const uint ShowBlackBorderUntilThisTime= 0x88; // Better name? :) public const uint HPPercent = 0x8C; public const uint WalkSpeed = 0x90; public const uint IsBlocking = 0x94; public const uint SkullFlag = 0x98; public const uint PartyFlag = 0x9C; public const uint GuildWarFlag = 0xA0; public const uint IsVisible = 0xA4; public const uint BorderColorRed = 0xA8; public const uint BorderColorGreen = 0xAC; public const uint BorderColorBlue = 0xB0; public const uint BorderVisible = 0xB4; public const uint NumInGuildOrParty = 0xB8; public const uint TypeB = 0xBC; }