Classified Messages

Directory

0024 - Destroy Object
0037 - Local Chat
0043 - Set Character Flag
0057 - Equip
005E - Attack
0197 - Adjust Stack Size
019E - Player Kill
01B5 - Broadcast Text
01E0 - Indirect Text
01E2 - Emote Text
022D - Unknown Object Action 1
0229 - Unknown Object Action 2
0237 - Update Statistic
023B - Update Last Attacker
023D - Update Last Corpse Location
023E - Skill Experience
0241 - Update Attribute
0243 - Update Secondary Attribute
0244 - Vital Statistic Update
F619 - Lifestone Materialize
F625 - Change Model
F62C - Server Text
F653 - End 3D Mode
F658 - Character List
F659 - Login Failure - Character still in world.
F65A - Message of the Day
F745 - Create Object
F746 - Login Character
F747 - Remove Item
F748 - Set Position and Motion
F749 - Wield Object
F74A - Move object into inventory.
F74B - Toggle Portal Animation
F74C - Animation
F74E - Jumping
F750 - Apply Sound Effect
F751 - Enter Portal Mode
F755 - Apply Visual/Sound Effect
F7B0 - Game Event
0x0013 - Login Character
0x0016 - Transaction Message
0x001C - Action Failure
0x0020 - Allegiance Info
0x0022 - Insert Inventory Item
0x0023 - Wear Item
0x0038 - Direct Chat
0x004C - Add Spell to Spellbook / Cast Spell
0x004D - Delete Spell from Spellbook
0x004E - Add Enchantment
0x004F - Remove Enchantment
0x0062 - Approach Vendor
0x009C - End Portal Storm
0x009D - Mild Portal Storm
0x009E - Heavy Portal Storm
0x009F - Portal Stormed
0x00A0 - Failure to Give Item
0x00A7 - Quit Fellowship
0x00AF - Create Fellowship
0x00B0 - Recruit Member
0x00B1 - Dismiss Member
0x00B3 - Disband Fellowship
0x00B4 - Read Table of Contents
0x00B8 - Read Page
0x00C9 - Identify Object
0x014A - Group Chat
0x0196 - Set Pack Contents
0x019A - Drop from Inventory
0x01A4 - Remove Enchantment (Silent)
0x01A6 - Remove Multiple Enchantments
0x01A7 - Attack Completed
0x01AD - Kill/Death Message
0x01AC - Your death.
0x01AE - Add Multiple Enchantments List
0x01B1 - Inflict Melee Damage
0x01B2 - Receive Melee Damage
0x01B3 - Other Melee Evade
0x01B4 - Self Melee Evade
0x01B8 - Start Melee Attack
0x01C0 - Update Health
0x01C3 - Age Command Result
0x01C7 - Read. Previous action complete
0x01F4 - Squelched Users List
0x01FD - Enter Trade
0x01FF - End Trade
0x0200 - Add Trade Item
0x0202 - Accept Trade
0x0205 - Reset Trade
0x0207 - Failure to trade an item
0x0264 - Updates the mana bar on the selected item.
0xF643 - Create Character
0xF655 - Delete Character
F7C7 - Start 3D Mode
FF33 - Exit portal mode.

Messages

0024 - Destroy Object
Sent every time an object you are aware of ceases to exist. Merely running out of range does not generate this message - in that case, the client just automatically stops tracking it after receiving no updates for a while (which I presume is a very short while).
Object destroyed The object that ceases to exist.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
0037 - Local Chat
Contains a message, type, person's name and source person ID. If this is local chat or spellcasting, the radar filtering is done on the client (so actually hear talking within 2 landblocks).
String text The message text.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String senderName Character name of the speaker.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
Object sender Character ID of the speaker.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
LocalChat type Type of text.
LocalChat (DWORD)
The chat type is indetified by a number. This only appears to control color.
0x02 Local Chat
0x11 Spellcasting
0043 - Set Character Flag
Set a flag for a character
Object character The character getting it's flags changed (including yourself).
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
FlagType flag The getting changed, this may be a mask into an actual mask somewhere.
FlagType (DWORD)
The type of a flag
0x04 PK
DWORD Set 1 to set the flag, 0 to clear the flag.
0057 - Equip
An item was equipped
Object item Source item
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
EquipAction method Method used
EquipAction (DWORD)
The action for equipping an item.
0x02 Unequips
0x03 Equips
0x11 Gets spell from.
Object equipper Receiver of the equipment
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
005E - Attack
A player has attacked a monster (or player).
Object target Object ID of the monster (or player) being attacked.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD unknown unknown - 0x00000019
Object attacker Object ID of the attacking player.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
0197 - Adjust Stack Size
For stackable items, this changes the number of items in the stack.
BYTE sequence Seems to be a sequence number of some sort
Object item Item getting it's stack adjusted.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD count New number of items in the stack.
DWORD value New value for the item.
019E - Player Kill
A Player Kill occurred nearby (also sent for suicides). This could be interesting to monitor for tournements.
String text The death message (is blank for suicides causing a blank line on your scrolling window).
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
Object killee The ID of the departed.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
Object killer The ID of the character doing the killing.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
01B5 - Broadcast Text
Used for leather crafter and collector advertisements.
String message The text for display.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String senderName Name of the speaker.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
Object sender Character ID of the sender - used for squelch and radar filtering.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
float unknown1 Unknown - Usually 20.0.
Color color Color the client uses for displaying the text.
Color (DWORD)
These values choose a color.
0x00 Green
0x04 Dark Yellow
0x06 Red
0x07 Light Blue
0x0C Dim White
0x0D Cyan
01E0 - Indirect Text
Indirect '/e' text.
Object sender The ID of the character performing the emote - used for squelch/radar filtering.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
String senderName Name of the character performing the emote.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String text Text representation of the emote.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
01E2 - Emote Text
Contains the text associated with an emote action.
Object sender The ID of the character performing the emote - used for squelch/radar filtering.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
String senderName Name of the character performing the emote.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String text Text representation of the emote.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
022D - Unknown Object Action 1
Researching. Object action. Seen when equipping and unequipping items as well as when an item is dropped/given/received
BYTE sequence Seems to be a sequence number of some sort
Object object The ID of the object this message refers to.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD unknown Unknown value.
Object container The ID of the container this item is being placed into.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD unknown2 Unknown value.
0229 - Unknown Object Action 2
Researching. Object action. Seen when equipping and unequipping items
BYTE sequence Seems to be a sequence number of some sort
Object object The ID of the object this message refers to.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD unknown Unknown value.
Coverage coverage If this item can be worn or wielded, the mask of slots it occupies.
Coverage (DWORD)
The body parts covered by a piece of clothing.
0x00000001 Head
0x00000002 Chest - Underwear
0x00000004 Girth - Underwear
0x00000008 Upper Arms - Underwear
0x00000010 Lower Arms - Underwear
0x00000020 Hands
0x00000040 Upper Legs - Underwear
0x00000080 Lower Legs - Underwear
0x00000100 Feet
0x00000200 Chest - Outerwear
0x00000400 Girth - Outerwear
0x00000800 Upper Arms - Outerwear
0x00001000 Lower Arms - Outerwear
0x00002000 Upper Legs - Outerwear
0x00004000 Lower Legs - Outerwear
0x00008000 Necklace
0x00010000 Bracelet - Right
0x00020000 Bracelet - Left
0x00040000 Ring - Right
0x00080000 Ring - Left
0x00100000 Weapon
0x00200000 Shield
0x00400000 Projectile Weapon
0x00800000 Ammunition
0x01000000 Focus Weapon
0237 - Update Statistic
Record a stat changing
BYTE sequence Seems to be a sequence number of some sort
Statistic statistic Statistic being set.
Statistic (DWORD)
Select an experience category from the following table.
0x05 Total Burden
0x14 Total Pyreal
0x15 Total Experience
0x16 Unassigned Experience
0x18 Unassigned Skill Points
0x19 Level
0x1e Rank
DWORD value Replacement value.
023B - Update Last Attacker
Sent whenever the last attacker changes
BYTE sequence Seems to be a sequence number of some sort
DWORD unknown An unknown value (0x000000B0 in testing).
Object objectID Previous attackers ObjectID
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD unknown2 An unknown value
023D - Update Last Corpse Location
Sent whenever you leave a corpse (wasn't tested in a dungeon).
DWORD unknown Unknown - 0x0000000E
Location location Location of the (outdoor) corpse you just left.
Location
Structure that defines an absolute location in the world
DWORD landblock Your landblock as per /loc.
X, Y, Z - When outside: the The position within the landblock measure from the south-west corner. Each landblock is 192.0x192.0 units. The Z-axis measures height. When inside: the offset from the current building block. The actual position can be calculated by adding this location to the offset of the building within the landblock.
float xOffset The x-offset from the west edge of the landblock.
float yOffset The y-offset from the south edge of the landblock.
float zOffset The z-height from virtual sea-level.
Heading - This is a heading quaternion - or a 4-dimension absolute heading (experimental)
float xHeading Experimental.
float yHeading Experimental.
float zHeading Experimental.
float wHeading Experimental.
023E - Skill Experience
Experience directly applied to your skill
Skill skill Your skill that's receiving XP
Skill (WORD)
Skill are identified by numbers
0x01 Axe
0x02 Bow
0x03 Crossbow
0x04 Dagger
0x05 Mace
0x06 Melee Defense
0x07 Missile Defense
0x09 Spear
0x0A Staff
0x0B Sword
0x0C Thrown Weapons
0x0D Unarmed Combat
0x0E Arcane Lore
0x0F Magic Defense
0x10 Mana Conversion
0x12 Appraise Item
0x13 Assess Person
0x14 Deception
0x15 Healing
0x16 Jump
0x17 Lockpick
0x18 Run
0x1B Assess Creature
0x1C Appraise Weapon
0x1D Appraise Armor
0x1E Appraise Magic Item
0x1F Creature Enchantment
0x20 Item Enchantment
0x21 Life Magic
0x22 War Magic
0x23 Leadership
0x24 Loyalty
0x25 Fletching
0x26 Alchemy
0x27 Cooking
BYTE unknown Unknown filler. Always 0 for me.
BYTE sequence Seems to be a sequence number of some sort
DWORD skillOffset The offset from the attribute base.
TrainingType skillTrained Skill disposition
TrainingType (DWORD)
The training level for a skill.
0x01 Unusable/Untrained
0x02 Trained
0x03 Specialized
DWORD appliedXP experience applied towards this skill so far
DWORD freeXP experience given during character creation
DWORD difficulty probably used in the xp timer calculation
0241 - Update Attribute
Sent every time you upgrade one of the 6 primary attributes.
AttributeID Attribute Atribute being set.
AttributeID (WORD)
Attributes are identified by numbers
0x01 Strength
0x02 Endurance
0x03 Quickness
0x04 Coordination
0x05 Focus
0x06 Self
BYTE SpaceHolder Space holder for byte alignment.
BYTE sequence Sequence number.
DWORD NewValue What this Attribute's value is now
DWORD StartingValue What this Attribute's value was on creation.
DWORD TotalAppliedXP How much XP has been applied directly to this attribute.
0243 - Update Secondary Attribute
Sent every time you upgrade one of the 3 secondary attributes.
SecondaryAttribID Attribute Attribute being set.
SecondaryAttribID (WORD)
Secondary Attributes are identified by numbers
0x01 Health
0x03 Stamina
0x05 Mana
BYTE SpaceHolder Space holder for byte alignment.
BYTE sequence Sequence number.
DWORD PointsAdded Number of total points added to this attribute.
DWORD Unknown Not enough data yet.
DWORD TotalAppliedXP How much XP has been applied directly to this attribute.
DWORD NewValue The new value of this attribute.
0244 - Vital Statistic Update
Sent whenever the current value of a vital statistic changes
BYTE sequence Seems to be a sequence number of some sort
VitalStat vital The Vital Statistic being updated.
VitalStat (DWORD)
The vital statistic to update, selected from the list.
0x02 Current Health
0x04 Current Stamina
0x06 Current Mana
DWORD value The new value.
DWORD unknown An unknown value
F619 - Lifestone Materialize
Sent when a character rematerializes at the lifestone after death.
Object objectID ObjectID of the character doing the animation
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD unknown Unknown - 0x00000034
Location location Location at which the character is materializing.
Location
Structure that defines an absolute location in the world
DWORD landblock Your landblock as per /loc.
X, Y, Z - When outside: the The position within the landblock measure from the south-west corner. Each landblock is 192.0x192.0 units. The Z-axis measures height. When inside: the offset from the current building block. The actual position can be calculated by adding this location to the offset of the building within the landblock.
float xOffset The x-offset from the west edge of the landblock.
float yOffset The y-offset from the south edge of the landblock.
float zOffset The z-height from virtual sea-level.
Heading - This is a heading quaternion - or a 4-dimension absolute heading (experimental)
float xHeading Experimental.
float yHeading Experimental.
float zHeading Experimental.
float wHeading Experimental.
DWORD unknown2 Unknown
DWORD unknown3 Unknown
DWORD unknown4 Unknown
DWORD unknown5 Unknown
F625 - Change Model
Sent whenever a character changes their clothes. It contains the entire description of what their wearing (and possibly their facial features as well). This message is only sent for changes, when the character is first created, the body of this message is included inside the creation message.
Object dresser The ID of character changing their clothing.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
BYTE eleven The number eleven
BYTE paletteCount The number of palettes associated with this object
BYTE textureCount The number of textures associated with this object
BYTE modelCount The number of models associated with this object
palettes: vector of length paletteCount
WORD newPalette The Portal.dat ID of the palette we are drawing entries from.
BYTE offset The offset into both palettes for copying entries.
BYTE length The number of entries to copy.
Choose valid sections by masking against paletteCount
0xFF
WORD unknown1 unknown
textures: vector of length textureCount
BYTE modelIndex The index of the model we are replacing the texture in.
WORD oldTexture The ID of the texture to replace.
WORD newTexture The ID of the new texture.
models: vector of length modelCount
BYTE modelIndex The index of the model to replace.
WORD newModel The portal.dat ID of the new type 1 model.
WORD modelSequenceType Unknown stream number. Used to sequence model changes on an object.
WORD modelSequence Increments for every model change.
F62C - Server Text
Contains the text and then a number for the type (which I would expect just translates to a color).
String text The message for display.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
Color color The color for displaying th message.
Color (DWORD)
These values choose a color.
0x00 Green
0x04 Dark Yellow
0x06 Red
0x07 Light Blue
0x0C Dim White
0x0D Cyan
F653 - End 3D Mode
Instructs the client to return to 2D mode - the character list.
F658 - Character List
What follows is your list of characters, their IDs and what I guess is deletion status. This is sent during login.
DWORD unknown1 Unknown - Always 0
DWORD characterCount Number of characters in the list. On the login screen, these characters are sorted in alphabetical order. The order in the message is not sorted in any particular way.
characters: vector of length characterCount
Object character The character ID for this entry.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
String name The name of this character.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
DWORD deleteTimeout When 0, this character is not being deleted (not shown crossed out). Otherwise, it's a countdown timer in the number of seconds until the character is submitted for deletion.
DWORD reserved The number of slots reserved by not yet deleted characters.
DWORD slotCount The total count of character slots.
F659 - Login Failure - Character still in world.
Failure to log in due to the server still registering your character in the world.
F65A - Message of the Day
The message of the day during logon. There are 2 strings, one for the number of clients connected, the second is the message of the day.
String connections The number of connections: 'Currently xxx clients connected.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String message The remaining message of the day text. As far as I can tell, the 2 strings are concatenanted (with a line break) and thrown into the text box on the login screen.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
F745 - Create Object
Create an object somewhere in the world
Object object Object's GUID
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
BYTE eleven The number eleven
BYTE paletteCount The number of palettes associated with this object
BYTE textureCount The number of textures associated with this object
BYTE modelCount The number of models associated with this object
palettes: vector of length paletteCount
WORD newPalette The Portal.dat ID of the palette we are drawing entries from.
BYTE offset The offset into both palettes for copying entries.
BYTE length The number of entries to copy.
Choose valid sections by masking against paletteCount
0xFF
WORD unknown1 unknown
textures: vector of length textureCount
BYTE modelIndex The index of the model we are replacing the texture in.
WORD oldTexture The ID of the texture to replace.
WORD newTexture The ID of the new texture.
models: vector of length modelCount
BYTE modelIndex The index of the model to replace.
WORD newModel The portal.dat ID of the new type 1 model.
DWORD flags1 First flag values
DWORD unknown2 Unknown value
Choose valid sections by masking against flags1
0x00010000
DWORD unknownCount Count of unknown bytes following this field
unknowns: vector of length unknownCount
BYTE unknownByte unknown
DWORD unknownDword unknown
0x00020000
DWORD unknown unknown
0x00008000
Location location Object location and heading.
Location
Structure that defines an absolute location in the world
DWORD landblock Your landblock as per /loc.
X, Y, Z - When outside: the The position within the landblock measure from the south-west corner. Each landblock is 192.0x192.0 units. The Z-axis measures height. When inside: the offset from the current building block. The actual position can be calculated by adding this location to the offset of the building within the landblock.
float xOffset The x-offset from the west edge of the landblock.
float yOffset The y-offset from the south edge of the landblock.
float zOffset The z-height from virtual sea-level.
Heading - This is a heading quaternion - or a 4-dimension absolute heading (experimental)
float xHeading Experimental.
float yHeading Experimental.
float zHeading Experimental.
float wHeading Experimental.
0x00000002
DWORD unknown_grey unknown grey
0x00000800
DWORD unknown_yellow unknown yellow
0x00001000
DWORD unknown_blue unknown blue
0x00000001
DWORD unknown_skyblue unknown skyblue
0x00000020
Object wielder The character wielding this object.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
WieldingSlot wieldingSlot The location of this weapon.
WieldingSlot (DWORD)
The slot a weapon of shield is wielded.
0x01 Weapon
0x02 Missile Weapon
0x03 Shield
0x00000040
DWORD count_purple Count for purple
purples: vector of length count_purple
DWORD unknown_purple1 Unknown purple 1
DWORD unknown_purple2 Unknown purple 2
0x00000080
float unknown_green Unknown green
0x00000100
DWORD unknown_darkbrown unknown darkbrown
0x00000200
DWORD unknown_brightpurple unknown bright purple
0x00040000
DWORD unknown_lightgrey lightgrey
0x00000004
DWORD unknown_trio1_1 Unknown trio 1 1
DWORD unknown_trio1_2 Unknown trio 1 2
DWORD unknown_trio1_3 Unknown trio 1 3
0x00000008
DWORD unknown_trio2_1 Unknown trio 2 1
DWORD unknown_trio2_2 Unknown trio 2 2
DWORD unknown_trio2_3 Unknown trio 2 3
0x00000010
DWORD unknown_trio3_1 Unknown trio 3 1
DWORD unknown_trio3_2 Unknown trio 3 2
DWORD unknown_trio3_3 Unknown trio 3 3
0x00002000
DWORD unknown_medgrey unknown medgrey
0x00004000
DWORD unknown_bluegrey unknown bluegrey
WORD unknown_seagreen1 unknown_seagreen1
WORD unknown_seagreen2 unknown_seagreen2
WORD unknown_seagreen3 unknown_seagreen3
WORD unknown_seagreen4 unknown_seagreen4
WORD unknown_seagreen5 unknown_seagreen5
WORD unknown_seagreen6 unknown_seagreen6
WORD unknown_seagreen7 unknown_seagreen7
WORD unknown_seagreen8 unknown_seagreen8
DWORD unknown3 unknown3
DWORD flags2 Flags 2
String objectName Name of this object
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
WORD model ID of the model for this object
WORD icon ID of the icon for this object.
ObjectFlags1 unknown_v0_2 unknown v0 2
ObjectFlags1 (DWORD)
Part one of an object's flags
0x00000001 Melee Weapons
0x00000002 Armor
0x00000004 Clothing
0x00000008 Jewelry
0x00000010 Monster
0x00000020 Food
0x00000040 Pyreal
0x00000080 Miscellaneous
0x00000100 Missile Weapons
0x00000200 Containers
0x00000400 unknown - fletching
0x00000800 Gems
0x00001000 Spell Components
0x00002000 Writable
0x00004000 Keys
0x00008000 unknown
0x00010000 Portal
0x00020000 Lockable
0x00040000 Trade Notes
0x00080000 Mana Stones
0x00100000 Services
0x00200000 Plants
0x00400000 Base Cooking Item
0x00800000 Base Alchemy Item
0x01000000 Base Fletching Item
0x02000000 Crafted Cooking Item
0x04000000 Crafted Alchemy Item
0x08000000 Crafted Fletching Item
0xF0000000 unknown
ObjectFlags2 unknown_v0_3 unknown v0 3
ObjectFlags2 (DWORD)
Flags related to the use of the item.
0x00000001 container
0x00000002 can be inscribed
0x00000004 cannot be picked up
0x00000008 player
0x00000010 unknown - can be selected
0x00000020 unknown
0x00000040 unknown
0x00000080 unknown - cannot be selected
0x00000100 readable
0x00000200 vendor
0x00000400 unknown
0x00000800 unknown
0x00001000 door
0x00002000 corpse
0x00004000 lifestone
0x00008000 food
0x00010000 healing kit
0x00020000 lockpick
0x00040000 portal
0xFFF80000 unknown
Choose valid sections by masking against flags2
0x00000001
String secondaryName Secondary name of this object
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x00000002
BYTE itemSlots Number of item slots in this container, -1 if you can't tell.
0x00000004
BYTE packSlots Number of pack slots in this container, -1 if you can't tell. (Pack slot meaning a slot which can hold a pack).
0x00000008
DWORD value Value of the object or stack of objects.
0x00000010
DWORD unknown_v2 The total value of the item or stack of items.
0x00000020
DWORD unknown_v3 unknown v2
0x00080000
DWORD unknown_v5 unknown v5
0x00000080
DWORD unknown_v4 unknown v4
0x00000100
BYTE unknown_b1 unknown byte 1
0x00000200
EquipmentType equipmentType If this item can be equiped, what slot.
EquipmentType (BYTE)
The slot used by this equipment.
0x01 Melee Weapon
0x02 Missile Weapon
0x03 Arrows
0x04 Sheild
0x00000400
WORD usesLeft The number of uses remaining in this item (for picks, keys, healing kits, etc)
0x00000800
WORD totalUses The total uses that this item had.
0x00001000
WORD stackCount The number of items in this stack of objects (for spell components, pyreals, etc)
0x00002000
WORD stackMax The total number of this type of object which can stack.
0x00004000
Object container The GUID of the object which contains this one.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
0x00008000
Object owner The GUID of the object which is equipping this one (such as a player).
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
0x00010000
Coverage coverage1 Still more coverage information
Coverage (DWORD)
The body parts covered by a piece of clothing.
0x00000001 Head
0x00000002 Chest - Underwear
0x00000004 Girth - Underwear
0x00000008 Upper Arms - Underwear
0x00000010 Lower Arms - Underwear
0x00000020 Hands
0x00000040 Upper Legs - Underwear
0x00000080 Lower Legs - Underwear
0x00000100 Feet
0x00000200 Chest - Outerwear
0x00000400 Girth - Outerwear
0x00000800 Upper Arms - Outerwear
0x00001000 Lower Arms - Outerwear
0x00002000 Upper Legs - Outerwear
0x00004000 Lower Legs - Outerwear
0x00008000 Necklace
0x00010000 Bracelet - Right
0x00020000 Bracelet - Left
0x00040000 Ring - Right
0x00080000 Ring - Left
0x00100000 Weapon
0x00200000 Shield
0x00400000 Projectile Weapon
0x00800000 Ammunition
0x01000000 Focus Weapon
0x00020000
Coverage coverage2 If this item can be worn or wielded, the mask of slots it occupies.
Coverage (DWORD)
The body parts covered by a piece of clothing.
0x00000001 Head
0x00000002 Chest - Underwear
0x00000004 Girth - Underwear
0x00000008 Upper Arms - Underwear
0x00000010 Lower Arms - Underwear
0x00000020 Hands
0x00000040 Upper Legs - Underwear
0x00000080 Lower Legs - Underwear
0x00000100 Feet
0x00000200 Chest - Outerwear
0x00000400 Girth - Outerwear
0x00000800 Upper Arms - Outerwear
0x00001000 Lower Arms - Outerwear
0x00002000 Upper Legs - Outerwear
0x00004000 Lower Legs - Outerwear
0x00008000 Necklace
0x00010000 Bracelet - Right
0x00020000 Bracelet - Left
0x00040000 Ring - Right
0x00080000 Ring - Left
0x00100000 Weapon
0x00200000 Shield
0x00400000 Projectile Weapon
0x00800000 Ammunition
0x01000000 Focus Weapon
0x00040000
Coverage coverage3 Coverage information for armor and clothing.
Coverage (DWORD)
The body parts covered by a piece of clothing.
0x00000001 Head
0x00000002 Chest - Underwear
0x00000004 Girth - Underwear
0x00000008 Upper Arms - Underwear
0x00000010 Lower Arms - Underwear
0x00000020 Hands
0x00000040 Upper Legs - Underwear
0x00000080 Lower Legs - Underwear
0x00000100 Feet
0x00000200 Chest - Outerwear
0x00000400 Girth - Outerwear
0x00000800 Upper Arms - Outerwear
0x00001000 Lower Arms - Outerwear
0x00002000 Upper Legs - Outerwear
0x00004000 Lower Legs - Outerwear
0x00008000 Necklace
0x00010000 Bracelet - Right
0x00020000 Bracelet - Left
0x00040000 Ring - Right
0x00080000 Ring - Left
0x00100000 Weapon
0x00200000 Shield
0x00400000 Projectile Weapon
0x00800000 Ammunition
0x01000000 Focus Weapon
0x00100000
BYTE unknown5 unknown5
0x00800000
DWORD unknown_v6 unknown v6
0x01000000
DWORD unknown6 unknown6
0x00200000
DWORD tradenoteVendor For trade notes, this is the ID of the vendor who sold the note.
0x00400000
DWORD associatedSpell The spell effect of this item (for wells, the spell cast. For scrolls, the spell learned. For wands, ???.
0x02000000
DWORD unknown7 unknown7
0x04000000
DWORD unknown8 THIS IS INCORRECT - there's a bunch of stuff here but I'm tired
0x08000000
WORD unknown9 unknown8
0x10000000
WORD unknown10 unknown9
0x20000000
DWORD unknown11 unknown10
F746 - Login Character
Object character
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
F747 - Remove Item
Sent whenever an object is removed from the scene.
Object object The character or monster who was recently erased.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD unknown Unknown - Always 0
F748 - Set Position and Motion
Set position - the server pathologically sends these after every actions - sometimes more than once. If has options for setting a fixed velocity or an arc for thrown weapons and arrows.
Object object The object with the position changing.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD flags I had guessed this was flags that determined the rest of the message beyond the quaternion.
Location position The current or starting location.
Location
Structure that defines an absolute location in the world
DWORD landblock Your landblock as per /loc.
X, Y, Z - When outside: the The position within the landblock measure from the south-west corner. Each landblock is 192.0x192.0 units. The Z-axis measures height. When inside: the offset from the current building block. The actual position can be calculated by adding this location to the offset of the building within the landblock.
float xOffset The x-offset from the west edge of the landblock.
float yOffset The y-offset from the south edge of the landblock.
float zOffset The z-height from virtual sea-level.
Heading - This is a heading quaternion - or a 4-dimension absolute heading (experimental)
float xHeading Experimental.
float yHeading Experimental.
float zHeading Experimental.
float wHeading Experimental.
F749 - Wield Object
Multipurpose message. So far object wielding has been decoded. Lots of unknowns
Object owner
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
Object object
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD unknown1
DWORD unknown2
DWORD unknown3
DWORD unknown4
F74A - Move object into inventory.
Object object
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
F74B - Toggle Portal Animation
Signals your client to end the portal animation for you or another char
Object character The character exiting portal animation.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
WORD portalType Type of portal user is exiting. For begin it's 0x4410, for end it's 0x0408
WORD unknown_1 Unknown word - Always 0x64
WORD totalLogins Total times this user has logged in AC
WORD loginPortals Number of portals user has entered during this login
F74C - Animation
These are animations. Whenever a human, monster or object moves - one of these little messages is sent. Even idle emotes (like head scratching and nodding) are sent in this manner.
Object character ID of the character moving
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
WORD unknown1 unknown
WORD sequence Number of character animations this login
DWORD number1 another animation counter?
WORD unknown2 unknown
Animation animation Stance or animation.
Animation (WORD)
The animation or stance for a character or monster.
0x3C Combat
0x3D Standing
0x49 Spellcasting
F74E - Jumping
An object has jumped
Object source ID of the object jumping
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD unknown_1 Always zero
DWORD direction_1 Direction you are jumping. Zero for stationary jump
DWORD height How high the object jumped
DWORD unknown_3 Always zero
DWORD unknown_4 Always zero
DWORD unknown_5 Always zero
WORD totalLogins Number of times you've logged into AC
WORD jumpNumber Number of times you've jumped since logging into AC
F750 - Apply Sound Effect
Applies a sound effect.
Object source ID of the object from which the effect originates. Can be you, another char/npc or an item.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
Effect effect The particle effect ID.
Effect (DWORD)
Audio/Visual Effect ID
0x04 War Launch
0x05 War Land
0x0A Yellow Bubbles Rising
0x0E Light Blue Bubbles Rising
0x10 Purple Bubbles Rising
0x1A Light Blue Fuzzies
0x21 Blue Stars Outward
0x22 Yellow Stars Inward
0x24 Red Star Rotation
0x26 Blue Star Rotation
0x28 Yellow Star Rotation
0x4B Yellow Stars Outward/Blue Starts Inward
0x50 Spell Fizzle
0x58 Item Dissolve
0x73 Portal Bubbles
0x76 Increase Skill/Attribute
0x77 Equip Item
0x78 Unequip Item
0x7A Pick Up Item
0x7B Drop Item
0x81 Spell Expire
float parameter Some sort of parameter to the effect, possibly speed or color.
F751 - Enter Portal Mode
Instructs the client to show the portal graphic.
F755 - Apply Visual/Sound Effect
Applies an effect with visual and sound.
Object source ID of the object from which the effect originates. Can be you, another char/npc or an item.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
Effect effect The particle effect ID.
Effect (DWORD)
Audio/Visual Effect ID
0x04 War Launch
0x05 War Land
0x0A Yellow Bubbles Rising
0x0E Light Blue Bubbles Rising
0x10 Purple Bubbles Rising
0x1A Light Blue Fuzzies
0x21 Blue Stars Outward
0x22 Yellow Stars Inward
0x24 Red Star Rotation
0x26 Blue Star Rotation
0x28 Yellow Star Rotation
0x4B Yellow Stars Outward/Blue Starts Inward
0x50 Spell Fizzle
0x58 Item Dissolve
0x73 Portal Bubbles
0x76 Increase Skill/Attribute
0x77 Equip Item
0x78 Unequip Item
0x7A Pick Up Item
0x7B Drop Item
0x81 Spell Expire
float parameter Some sort of parameter to the effect, possibly speed or color.
F7B0 - Game Event
This is a varied message. You get them for inventory, attribute change (both the experience changes and the level changes), received tells (tell, patron, vassal and monarch chat - but not the reflections) and for inspections.
Object character ID of the character receiving the message, should be you.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD sequence The global sequence number for this event, I think it's tied to the character ID, so it's not necessarily linear if you missed some of the intermediate events.
GameEvent event The ID for the actual message the client is responding to.
GameEvent (DWORD)
The game event type defines the fields for the rest of the message
0x0013 Login Character
0x0016 Transaction Message
0x001C Action Failure
0x0020 Allegiance Info
0x0022 Insert Inventory Item
0x0023 Wear Item
0x0038 Direct Chat
0x004C Add Spell to Spellbook / Cast Spell
0x004D Delete Spell from Spellbook
0x004E Add Enchantment
0x004F Remove Enchantment
0x0062 Approach Vendor
0x009C End Portal Storm
0x009D Mild Portal Storm
0x009E Heavy Portal Storm
0x009F Portal Stormed
0x00A0 Failure to Give Item
0x00A7 Quit Fellowship
0x00AF Create Fellowship
0x00B0 Recruit Member
0x00B1 Dismiss Member
0x00B3 Disband Fellowship
0x00B4 Read Table of Contents
0x00B8 Read Page
0x00C9 Identify Object
0x014A Group Chat
0x0196 Set Pack Contents
0x019A Drop from Inventory
0x01A4 Remove Enchantment (Silent)
0x01A6 Remove Multiple Enchantments
0x01A7 Attack Completed
0x01AC Your death.
0x01AD Kill/Death Message
0x01AE Add Multiple Enchantments List
0x01B1 Inflict Melee Damage
0x01B2 Receive Melee Damage
0x01B3 Other Melee Evade
0x01B4 Self Melee Evade
0x01B8 Start Melee Attack
0x01C0 Update Health
0x01C3 Age Command Result
0x01C7 Read. Previous action complete
0x01CA Unknown - While Idling
0x01CB Unknown
0x01EA Unknown
0x01F4 Squelched Users List
0x01FD Enter Trade
0x01FF End Trade
0x0200 Add Trade Item
0x0202 Accept Trade
0x0205 Reset Trade
0x0207 Failure to trade an item
0x0264 Updates the mana bar on the selected item.
0xF643 Create Character
0xF655 Delete Character
Choose the section from the value of event
0x0013 - Login Character
Sent right after you choose login, it contains the bulk of you stats, appearance and inventory.
DWORD loginMask1 This mask determines values for the rest of the message
DWORD unknown1 Unknown - always 0x0A
WORD countStats Count of entries in the next section
WORD unknownStats Probably indicates what type of data is in this section
stats: vector of length countStats
Statistic key What the next value represents. 0x15=totalExp, 0x16=unassignedExp, 0x19=level, 0x1E=rank
Statistic (DWORD)
Select an experience category from the following table.
0x05 Total Burden
0x14 Total Pyreal
0x15 Total Experience
0x16 Unassigned Experience
0x18 Unassigned Skill Points
0x19 Level
0x1e Rank
DWORD value The value
WORD count2 Count of entries in the next section
WORD unknown2 Probably indicates what type of data is in this section
section2: vector of length count2
DWORD key What the next value represents
DWORD value The value
WORD countStrings Count of string entries in the next section
WORD unknownStrings Probably indicates what type of data is in this section
strings: vector of length countStrings
CharacterString key What the next string represents. 1=name, 3=gender, 4=race, 5=class
CharacterString (DWORD)
Type of string describing the character.
0x01 Character Name
0x03 Gender
0x04 Race
0x05 Class
String string String data.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
WORD count4 Count of entries in the next section
WORD unknown4 Probably indicates what type of data is in this section
section4: vector of length count4
DWORD key What the next value represents
DWORD value The value
Choose valid sections by masking against loginMask1
0x0040
WORD count5 Count of entries in the next section
WORD unknown5 Probably indicates what type of data is in this section
section5: vector of length count5
DWORD key What the next value represents. 18=monarch, 19=patron
DWORD value The value
0x0020
WORD countCorpse Count of entries in the next section
WORD unknownCorpse Probably indicates what type of data is in this section
corpses: vector of length countCorpse
DWORD corpse_14 unknown field - 0x0000000E
Location lastCorpse the Location of your last outdoor corpse
Location
Structure that defines an absolute location in the world
DWORD landblock Your landblock as per /loc.
X, Y, Z - When outside: the The position within the landblock measure from the south-west corner. Each landblock is 192.0x192.0 units. The Z-axis measures height. When inside: the offset from the current building block. The actual position can be calculated by adding this location to the offset of the building within the landblock.
float xOffset The x-offset from the west edge of the landblock.
float yOffset The y-offset from the south edge of the landblock.
float zOffset The z-height from virtual sea-level.
Heading - This is a heading quaternion - or a 4-dimension absolute heading (experimental)
float xHeading Experimental.
float yHeading Experimental.
float zHeading Experimental.
float wHeading Experimental.
DWORD loginMask2 Determines values for spell related info.
DWORD unknown14 Unknown - always 1.
DWORD attributeMask The attributes included in the character description - this is always 0x1FF
DWORD currentStrength Strength.
DWORD initialStrength Strength at character creation.
DWORD expStrength Total exp invested in Strength.
DWORD currentEndurance Endurance.
DWORD initialEndurance Endurance at character creation.
DWORD expEndurance Total exp invested in Endurance.
DWORD currentQuickness Quickness.
DWORD initialQuickness Quickness at character creation.
DWORD expQuickness Total exp invested in Quickness.
DWORD currentCoordination Coordination.
DWORD initialCoordination Coordination at character creation.
DWORD expCoordination Total exp invested in Coordination.
DWORD currentFocus Focus.
DWORD initialFocus Focus at character creation.
DWORD expFocus Total exp invested in Focus.
DWORD currentSelf Self.
DWORD initialSelf Self at character creation.
DWORD expSelf Total exp invested in Self.
DWORD incHealth Health added to base.
DWORD unknownHealth Unknown Health related value - always 0.
DWORD expHealth Total experience invested in Health.
DWORD currentHealth Current Health.
DWORD incStamina Stamina added to base.
DWORD unknownStamina Unknown Stamina related value - always 0.
DWORD expStamina Total experience invested in Health.
DWORD currentStamina Current Stamina.
DWORD incMana Mana added to base.
DWORD unknownMana Unknown Mana related value - always 0.
DWORD expMana Total experience invested in Mana.
DWORD currentMana Current Mana.
WORD skillCount The number of skill records, always 0x23
WORD skillUnknown Unknown - always 0x020
skills: vector of length skillCount
Skill skill The skill we are setting values for.
Skill (WORD)
Skill are identified by numbers
0x01 Axe
0x02 Bow
0x03 Crossbow
0x04 Dagger
0x05 Mace
0x06 Melee Defense
0x07 Missile Defense
0x09 Spear
0x0A Staff
0x0B Sword
0x0C Thrown Weapons
0x0D Unarmed Combat
0x0E Arcane Lore
0x0F Magic Defense
0x10 Mana Conversion
0x12 Appraise Item
0x13 Assess Person
0x14 Deception
0x15 Healing
0x16 Jump
0x17 Lockpick
0x18 Run
0x1B Assess Creature
0x1C Appraise Weapon
0x1D Appraise Armor
0x1E Appraise Magic Item
0x1F Creature Enchantment
0x20 Item Enchantment
0x21 Life Magic
0x22 War Magic
0x23 Leadership
0x24 Loyalty
0x25 Fletching
0x26 Alchemy
0x27 Cooking
DWORD increment The number of points over base this skill has been incremented.
TrainingType trained The training status of this skill. 1 = Untrained/Unusable, 2 = Trained, 3 = Specialized
TrainingType (DWORD)
The training level for a skill.
0x01 Unusable/Untrained
0x02 Trained
0x03 Specialized
DWORD exp Total exp invested.
DWORD freeXP Free XP given during character creation.
DWORD unknown2
double unknown3 This looks like a double.
Choose valid sections by masking against loginMask2
0x00000100
WORD spellbookCount The number of spells in your Spellbook
WORD spellbookUnknown Probably indicates what type of data is in this section
spellbook: vector of length spellbookCount
DWORD spell The Spell ID.
float charge The spell's charge. Ranges from 0.0 to 1.0
DWORD unknown2 (not sure yet) 0 or 1
DWORD unknown3 Always 0
0x00000200
DWORD enchantmentMask Enchantment mask.
Choose valid sections by masking against enchantmentMask
0x00000001
DWORD lifeSpellCount Number of Life Magic enchantments in effect.
lifeSpells: vector of length lifeSpellCount
Enchantment enchantment Information about the spell.
Enchantment
Information about enchantments
Spell spell The ID of the spell being added.
WORD layers The index of this exact spell on the on the player/item. It will increment one each time the spell is cast if there is one already on the player/item.
DWORD family The set of related spells that this spell belongs to, see the mask field for picking out the one with precidence.
DWORD difficulty The difficulty of the spell.
double timeElapsed How long this spell has been in effect.
double duration The duration of the spell's effect.
Object source The entity casting the spell on you.
DWORD unknown3 Unknown - Always 0
DWORD unknown4 Unknown - This number depends on the spell.
double startTime The starting time of this enchentment, according to the server's 'age' in seconds.
EnchantmentEffectMask flags Chooses what the next field represents.
DWORD affected Chooses the stat, attribute or life magic affected by the enchantment.
float adjustment General purpose floating point field which accepts the adjustment flags be they percentage or absolute values. The spell economy is factored in and you get a great deal more precision than the displayed integer.
0x00000002
DWORD creatureSpellCount Number of Creature Magic enchantments in effect.
creatureSpells: vector of length creatureSpellCount
Enchantment enchantment Information about the spell.
Enchantment
Information about enchantments
Spell spell The ID of the spell being added.
WORD layers The index of this exact spell on the on the player/item. It will increment one each time the spell is cast if there is one already on the player/item.
DWORD family The set of related spells that this spell belongs to, see the mask field for picking out the one with precidence.
DWORD difficulty The difficulty of the spell.
double timeElapsed How long this spell has been in effect.
double duration The duration of the spell's effect.
Object source The entity casting the spell on you.
DWORD unknown3 Unknown - Always 0
DWORD unknown4 Unknown - This number depends on the spell.
double startTime The starting time of this enchentment, according to the server's 'age' in seconds.
EnchantmentEffectMask flags Chooses what the next field represents.
DWORD affected Chooses the stat, attribute or life magic affected by the enchantment.
float adjustment General purpose floating point field which accepts the adjustment flags be they percentage or absolute values. The spell economy is factored in and you get a great deal more precision than the displayed integer.
0x00000004
Enchantment vitae Vitae Penalty.
Enchantment
Information about enchantments
Spell spell The ID of the spell being added.
WORD layers The index of this exact spell on the on the player/item. It will increment one each time the spell is cast if there is one already on the player/item.
DWORD family The set of related spells that this spell belongs to, see the mask field for picking out the one with precidence.
DWORD difficulty The difficulty of the spell.
double timeElapsed How long this spell has been in effect.
double duration The duration of the spell's effect.
Object source The entity casting the spell on you.
DWORD unknown3 Unknown - Always 0
DWORD unknown4 Unknown - This number depends on the spell.
double startTime The starting time of this enchentment, according to the server's 'age' in seconds.
EnchantmentEffectMask flags Chooses what the next field represents.
DWORD affected Chooses the stat, attribute or life magic affected by the enchantment.
float adjustment General purpose floating point field which accepts the adjustment flags be they percentage or absolute values. The spell economy is factored in and you get a great deal more precision than the displayed integer.
DWORD loginMask3 0x00000004 or 0x00000005.
Choose valid sections by masking against loginMask3
0x00000004
CharacterOptionsFlag options The options in the Character tab (F11 by default)
CharacterOptionsFlag (DWORD)
The type of a flag
0x00000001 Automatically Create Shortcuts
0x00000002 Automatically Repeat Attacks
0x00000004 Accept Allegiance Requests (Inverted)
0x00000008 Accept Fellowship Requests (Inverted)
0x00000010 Invert Mouse Look Up/Down
0x00000020 Unknown
0x00000040 Let Other Players Give You Items
0x00000080 Automatically keep combat targets in view
0x00000100 Display Tooltips
0x00000200 Attempt to Deceive Other Players
0x00000400 Run as Default Movement
0x00000800 Stay in Chat Mode after sending a Message
0x00001000 Advanced Combet Interface (No Panel)
0x00002000 Auto Target
0x00004000 Right0click mouselook
0x00008000 Vivid Targeting Indicator
0x00010000 Disable Most Weather Effects
0x00020000 Ignore All Trade Requests
0x00040000 Share Fellowship Experience
0x00080000 Accept Corpse-Looting Permissions
0x00100000 Share Fellowship Loot
0x00200000 Stretch UI
0x00400000 Show Coordinates Below The Radar
0x00800000 Display Spell Durations
0x01000000 Play Sounds Only When Active Application
0xFE000000 unused
0xFFE00000 unused
0x00000001
DWORD shortcutCount Number of shortcut items.
shortcuts: vector of length shortcutCount
DWORD position Position
Object target Object ID
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD unknown3 Typically 0 (is container?)
DWORD tab1Count Number of spells in the first spelltab.
tab1: vector of length tab1Count
DWORD spell The Spell's ID
DWORD tab2Count Number of spells in the second spelltab.
tab2: vector of length tab2Count
DWORD spell The Spell's ID
DWORD tab3Count Number of spells in the third spelltab.
tab3: vector of length tab3Count
DWORD spell The Spell's ID
DWORD tab4Count Number of spells in the fourth spelltab.
tab4: vector of length tab4Count
DWORD spell The Spell's ID
DWORD tab5Count Number of spells in the fifth spelltab.
tab5: vector of length tab5Count
DWORD spell The Spell's ID
Choose valid sections by masking against loginMask3
0x00000008
WORD compBuyerCount Number of components being tracked
WORD compBuyerUnknown
compBuyer: vector of length compBuyerCount
DWORD compModel Component ID
DWORD compRefill Number of this component for compbuyer to refill to
DWORD inventoryCount Number of items in your main pack.
inventory: vector of length inventoryCount
Object object
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD isContainer Whether or not this object is a container.
DWORD equipmentCount Number of items currently equipped.
equipment: vector of length equipmentCount
Object object
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
Coverage coverage
Coverage (DWORD)
The body parts covered by a piece of clothing.
0x00000001 Head
0x00000002 Chest - Underwear
0x00000004 Girth - Underwear
0x00000008 Upper Arms - Underwear
0x00000010 Lower Arms - Underwear
0x00000020 Hands
0x00000040 Upper Legs - Underwear
0x00000080 Lower Legs - Underwear
0x00000100 Feet
0x00000200 Chest - Outerwear
0x00000400 Girth - Outerwear
0x00000800 Upper Arms - Outerwear
0x00001000 Lower Arms - Outerwear
0x00002000 Upper Legs - Outerwear
0x00004000 Lower Legs - Outerwear
0x00008000 Necklace
0x00010000 Bracelet - Right
0x00020000 Bracelet - Left
0x00040000 Ring - Right
0x00080000 Ring - Left
0x00100000 Weapon
0x00200000 Shield
0x00400000 Projectile Weapon
0x00800000 Ammunition
0x01000000 Focus Weapon
DWORD unknown3
0x0016 - Transaction Message
Trade text
String text Text detailing parts of the trade, or that trades aren't being accepted
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x001C - Action Failure
The error message for when an aciton failure occurs, the message is displayed in the top-left corner.
ActionFailure reason The reason for the failure.
ActionFailure (DWORD)
Reason for action failure
0x001D Too Busy
0x001C Charged Too Far
0x0400 No Components
0x0401 Insufficient Mana
0x0402 Fizzle
0x0404 You are not a player killer.
0x0020 - Allegiance Info
Returns info related to your monarch, patron and vassals.
DWORD allegianceSize The number of allegiance members.
DWORD followers Your personal number of followers.
WORD recordCount Number of character allegiance records.
WORD unknown1 0030
DWORD unknown2 00000000
DWORD unknown3 00000000
DWORD unknown4 00000000
DWORD unknown5 00000000
DWORD unknown6 00000000
DWORD unknown7 00000000
records: vector of length recordCount
Object treeParent The Object ID for the parent character to this character. Used by the client to decide how to build the display in the Allegiance tab. 1 is the monarch.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
AllegianceInfo info Allegiance Data for this character.
AllegianceInfo
Information for a single character in the allegiance.
Object character Character ID
AllegianceType type If this record is your patron.
DWORD exp Total allegiance XP contribution.
OnlineStatus online If the character is online.
BYTE gender The gender of the character (for determining title).
BYTE race The race of the character (for determining title).
BYTE rank The numerical rank (1 is lowest).
WORD loyalty Character loyalty.
WORD leadership Character leadership.
double unknown
String name
0x0022 - Insert Inventory Item
Use to insert or locate an inventory item in your packs.
Object item The item being moved.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
Object destination The object ID of either the pack it's being placed in or you character ID if it's being placed into the main pack.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD slot The 0-based index of teh item it's being inserted before.
0x0023 - Wear Item
Wear Item.
Object item The item being equipped.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
Coverage slot Where it is being equipped.
Coverage (DWORD)
The body parts covered by a piece of clothing.
0x00000001 Head
0x00000002 Chest - Underwear
0x00000004 Girth - Underwear
0x00000008 Upper Arms - Underwear
0x00000010 Lower Arms - Underwear
0x00000020 Hands
0x00000040 Upper Legs - Underwear
0x00000080 Lower Legs - Underwear
0x00000100 Feet
0x00000200 Chest - Outerwear
0x00000400 Girth - Outerwear
0x00000800 Upper Arms - Outerwear
0x00001000 Lower Arms - Outerwear
0x00002000 Upper Legs - Outerwear
0x00004000 Lower Legs - Outerwear
0x00008000 Necklace
0x00010000 Bracelet - Right
0x00020000 Bracelet - Left
0x00040000 Ring - Right
0x00080000 Ring - Left
0x00100000 Weapon
0x00200000 Shield
0x00400000 Projectile Weapon
0x00800000 Ammunition
0x01000000 Focus Weapon
0x0038 - Direct Chat
Received when someone sends you an @tell.
String text The message text.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String sourceName The name of the person sending you the message.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
Object source The character ID for the person sending you the message.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
Object destination The person receiving the message - which should always be you.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
Color color The color of the message - should always be 0x04 for normal tells, but may change if a VIP is talking to you.
Color (DWORD)
These values choose a color.
0x00 Green
0x04 Dark Yellow
0x06 Red
0x07 Light Blue
0x0C Dim White
0x0D Cyan
0x004C - Add Spell to Spellbook / Cast Spell
Adds a spell to the spellbook. Also indicates you have cast a spell - a separate message contains the details on the spell.
Spell spell The ID of the spell
Spell (WORD)
Spell IDs are a uniqe number representing the spell and level. The table is found in the portal.dat.
0x004D - Delete Spell from Spellbook
Deletess a spell from the spellbook.
Spell spell The ID of the spell
Spell (WORD)
Spell IDs are a uniqe number representing the spell and level. The table is found in the portal.dat.
0x004E - Add Enchantment
Contains the details for spells cast of your character.
Enchantment enchantment enchantment info
Enchantment
Information about enchantments
Spell spell The ID of the spell being added.
WORD layers The index of this exact spell on the on the player/item. It will increment one each time the spell is cast if there is one already on the player/item.
DWORD family The set of related spells that this spell belongs to, see the mask field for picking out the one with precidence.
DWORD difficulty The difficulty of the spell.
double timeElapsed How long this spell has been in effect.
double duration The duration of the spell's effect.
Object source The entity casting the spell on you.
DWORD unknown3 Unknown - Always 0
DWORD unknown4 Unknown - This number depends on the spell.
double startTime The starting time of this enchentment, according to the server's 'age' in seconds.
EnchantmentEffectMask flags Chooses what the next field represents.
DWORD affected Chooses the stat, attribute or life magic affected by the enchantment.
float adjustment General purpose floating point field which accepts the adjustment flags be they percentage or absolute values. The spell economy is factored in and you get a great deal more precision than the displayed integer.
0x004F - Remove Enchantment
An active enchantment has expired. Sent to update the client list and display a message.
Spell spell The spell copy that's begin removed.
Spell (WORD)
Spell IDs are a uniqe number representing the spell and level. The table is found in the portal.dat.
WORD layer The index of this exact spell on the on the player/item. It will increment one each time the spell is cast if there is one already on the player/item.
0x0062 - Approach Vendor
Approach Vendor (Incomplete)
Object vendor Vendor who opened the transaction
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
ObjectFlags1 vendorBuyFlags Types of items the vendor will buy
ObjectFlags1 (DWORD)
Part one of an object's flags
0x00000001 Melee Weapons
0x00000002 Armor
0x00000004 Clothing
0x00000008 Jewelry
0x00000010 Monster
0x00000020 Food
0x00000040 Pyreal
0x00000080 Miscellaneous
0x00000100 Missile Weapons
0x00000200 Containers
0x00000400 unknown - fletching
0x00000800 Gems
0x00001000 Spell Components
0x00002000 Writable
0x00004000 Keys
0x00008000 unknown
0x00010000 Portal
0x00020000 Lockable
0x00040000 Trade Notes
0x00080000 Mana Stones
0x00100000 Services
0x00200000 Plants
0x00400000 Base Cooking Item
0x00800000 Base Alchemy Item
0x01000000 Base Fletching Item
0x02000000 Crafted Cooking Item
0x04000000 Crafted Alchemy Item
0x08000000 Crafted Fletching Item
0xF0000000 unknown
DWORD unknown_1 unknown
DWORD maxValue The highest value of an item the vendor can afford
DWORD unknown_3 unknown
float buy Ratio of value the vendor buys items
float sell Ratio of value the vendor sells items
DWORD itemsCount Total number of items vendor is selling
items: vector of length itemsCount
WORD unknownSlot unknown Possible display order when showing
WORD unknownSlot2 unknown Possible display flag
Object template ID for a unique object or for a template for stocked object.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD flags4 Flags 4
String objectName Name of this object
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
WORD model ID of the model for this object
WORD icon ID of the icon for this object.
ObjectFlags1 unknown_v0_2 unknown v0 2
ObjectFlags1 (DWORD)
Part one of an object's flags
0x00000001 Melee Weapons
0x00000002 Armor
0x00000004 Clothing
0x00000008 Jewelry
0x00000010 Monster
0x00000020 Food
0x00000040 Pyreal
0x00000080 Miscellaneous
0x00000100 Missile Weapons
0x00000200 Containers
0x00000400 unknown - fletching
0x00000800 Gems
0x00001000 Spell Components
0x00002000 Writable
0x00004000 Keys
0x00008000 unknown
0x00010000 Portal
0x00020000 Lockable
0x00040000 Trade Notes
0x00080000 Mana Stones
0x00100000 Services
0x00200000 Plants
0x00400000 Base Cooking Item
0x00800000 Base Alchemy Item
0x01000000 Base Fletching Item
0x02000000 Crafted Cooking Item
0x04000000 Crafted Alchemy Item
0x08000000 Crafted Fletching Item
0xF0000000 unknown
ObjectFlags2 unknown_v0_3 unknown v0 3
ObjectFlags2 (DWORD)
Flags related to the use of the item.
0x00000001 container
0x00000002 can be inscribed
0x00000004 cannot be picked up
0x00000008 player
0x00000010 unknown - can be selected
0x00000020 unknown
0x00000040 unknown
0x00000080 unknown - cannot be selected
0x00000100 readable
0x00000200 vendor
0x00000400 unknown
0x00000800 unknown
0x00001000 door
0x00002000 corpse
0x00004000 lifestone
0x00008000 food
0x00010000 healing kit
0x00020000 lockpick
0x00040000 portal
0xFFF80000 unknown
Choose valid sections by masking against flags4
0x00000001
String secondaryName Secondary name of this object
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x00000002
BYTE itemSlots Number of item slots in this container, -1 if you can't tell.
0x00000004
BYTE packSlots Number of pack slots in this container, -1 if you can't tell. (Pack slot meaning a slot which can hold a pack).
0x00000008
DWORD value Value of the object or stack of objects.
0x00000010
DWORD unknown_v2 unknown v2
0x00000020
DWORD unknown_v3 unknown v3
0x00000080
DWORD unknown_v4 unknown v4
0x00080000
DWORD unknown_v5 unknown v5
0x00800000
DWORD unknown_v6 unknown v6
0x00000100
BYTE unknown_b1 unknown byte 1
0x00000200
EquipmentType equipmentType If this item can be equiped, what slot.
EquipmentType (BYTE)
The slot used by this equipment.
0x01 Melee Weapon
0x02 Missile Weapon
0x03 Arrows
0x04 Sheild
0x00001000
WORD stackCount The number of items in this stack of objects (for spell components, pyreals, etc)
0x00002000
WORD stackMax The total number of this type of object which can stack.
0x00000800
WORD usesLeft The number of uses remaining in this item (for picks, keys, healing kits, etc)
WORD totalUses The total uses that this item had.
0x00004000
Object container The GUID of the object which contains this one.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
0x00008000
Object owner The GUID of the object which is equipping this one (such as a player).
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
0x00200000
DWORD tradenoteVendor For trade notes, this is the ID of the vendor who sold the note.
0x00040000
Coverage coverage1 Coverage information for armor and clothing.
Coverage (DWORD)
The body parts covered by a piece of clothing.
0x00000001 Head
0x00000002 Chest - Underwear
0x00000004 Girth - Underwear
0x00000008 Upper Arms - Underwear
0x00000010 Lower Arms - Underwear
0x00000020 Hands
0x00000040 Upper Legs - Underwear
0x00000080 Lower Legs - Underwear
0x00000100 Feet
0x00000200 Chest - Outerwear
0x00000400 Girth - Outerwear
0x00000800 Upper Arms - Outerwear
0x00001000 Lower Arms - Outerwear
0x00002000 Upper Legs - Outerwear
0x00004000 Lower Legs - Outerwear
0x00008000 Necklace
0x00010000 Bracelet - Right
0x00020000 Bracelet - Left
0x00040000 Ring - Right
0x00080000 Ring - Left
0x00100000 Weapon
0x00200000 Shield
0x00400000 Projectile Weapon
0x00800000 Ammunition
0x01000000 Focus Weapon
0x00020000
Coverage coverage2 If this item can be worn or wielded, the mask of slots it occupies.
Coverage (DWORD)
The body parts covered by a piece of clothing.
0x00000001 Head
0x00000002 Chest - Underwear
0x00000004 Girth - Underwear
0x00000008 Upper Arms - Underwear
0x00000010 Lower Arms - Underwear
0x00000020 Hands
0x00000040 Upper Legs - Underwear
0x00000080 Lower Legs - Underwear
0x00000100 Feet
0x00000200 Chest - Outerwear
0x00000400 Girth - Outerwear
0x00000800 Upper Arms - Outerwear
0x00001000 Lower Arms - Outerwear
0x00002000 Upper Legs - Outerwear
0x00004000 Lower Legs - Outerwear
0x00008000 Necklace
0x00010000 Bracelet - Right
0x00020000 Bracelet - Left
0x00040000 Ring - Right
0x00080000 Ring - Left
0x00100000 Weapon
0x00200000 Shield
0x00400000 Projectile Weapon
0x00800000 Ammunition
0x01000000 Focus Weapon
0x00010000
Coverage coverage3 Still more coverage information
Coverage (DWORD)
The body parts covered by a piece of clothing.
0x00000001 Head
0x00000002 Chest - Underwear
0x00000004 Girth - Underwear
0x00000008 Upper Arms - Underwear
0x00000010 Lower Arms - Underwear
0x00000020 Hands
0x00000040 Upper Legs - Underwear
0x00000080 Lower Legs - Underwear
0x00000100 Feet
0x00000200 Chest - Outerwear
0x00000400 Girth - Outerwear
0x00000800 Upper Arms - Outerwear
0x00001000 Lower Arms - Outerwear
0x00002000 Upper Legs - Outerwear
0x00004000 Lower Legs - Outerwear
0x00008000 Necklace
0x00010000 Bracelet - Right
0x00020000 Bracelet - Left
0x00040000 Ring - Right
0x00080000 Ring - Left
0x00100000 Weapon
0x00200000 Shield
0x00400000 Projectile Weapon
0x00800000 Ammunition
0x01000000 Focus Weapon
0x00400000
DWORD associatedSpell The spell effect of this item (for wells, the spell cast. For scrolls, the spell learned. For wands, ???.
0x009C - End Portal Storm
End Portal Storm - 'The Portal Storm has subsided' message
0x009D - Mild Portal Storm
Portal Storm warning - Level 1 of 3
float severity Could be severity - was 0.40 during testing
0x009E - Heavy Portal Storm
Portal Storm warning - Level 2 of 3
float severity Could be severity - was 0.60 during testing
0x009F - Portal Stormed
Character was portal stormed
String desc Portal storm description
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x00A0 - Failure to Give Item
Failure to give an item
Object item Item that could not be given
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD unknown1 Unknown, was 0x3EF when I tested
0x00A7 - Quit Fellowship
Fellowship quit
Object fellow Person who quit the fellowship
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
0x00AF - Create Fellowship
Create new fellowship
WORD unknown1 unknown
WORD unknown2 unknown
Object fellow Person starting the fellowship
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
WORD unknown3 unknown
WORD level Level of person starting the fellowship
String userName Name of person starting the fellowship
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String fellowship Fellowship name
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
Object member Only member of the fellowship
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
WORD share Should this fellowship share experience
WORD unknown4 unknown
0x00B0 - Recruit Member
Fellowship recruit member
Object fellow New fellowship member
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
WORD unknown1 unknown
WORD level Level of recruited member
String userName Name of person recruited to fellowship
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x00B1 - Dismiss Member
Fellowship dismissal
Object fellow Person who was dismissed from the fellowship
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
0x00B3 - Disband Fellowship
Fellowship was disbanded
0x00B4 - Read Table of Contents
Sent when you first open a book, contains the entire table of contents.
Object book The readable object you have just opened.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD totalPages The total number of pages in the book.
DWORD contentsPages The number of pages that appear in the contents.
DWORD unknown1 Unknown - Always 0x3E8, may be some sort of media type.
DWORD usedPages The number of used pages, and the number of content records.
pages: vector of length usedPages
Object author The character ID of the author. For preauthored books, this value is 0xFFFFFFFF.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
String authorName The character name of the author. Preauthored books often use this as a table of contents instead.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String zoneAccount The zone account name of the author (expect this to be remove in the near future - Cibo, October 20, 2000). For prewritten books, this is always 'prewritten'.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
DWORD unknown1 Unknown - Always 0
String comment The inscription comment and the book title.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
Object commentAuthor The author of the inscription (and not coincidentally, the book title).
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
String commentAuthorName The name of the inscription author.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x00B8 - Read Page
Contains the text of a single page of a book, parchment or sign.
Object book The object id for the readable object.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD page The 0-based index of the page you are currently viewing.
Object author The character ID of the author. For preauthored books, this value is 0xFFFFFFFF.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
String authorName The character name of the author. Preauthored books often use this as a table of contents instead.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String zoneAccount The zone account name of the author (expect this to be remove in the near future - Cibo, October 20, 2000). For prewritten books, this is always 'prewritten'.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
DWORD unknown1 Unknown - Always 1
String text The text of the page.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x00C9 - Identify Object
Returns details of any object except spell information.
Object object The object you are retreiving information for.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
ObjectIDMask flags These flags define the type of object and what fields follow to describe it.
ObjectIDMask (DWORD)
The following flags identify the type of the item - and the structure that follows to describe it.
0x00000001 This is a character or monster - exclusive with all other flags.
0x00000002 This item is a weapon.
0x00000004 Has elemental protections.
0x00000008 Has mass and value.
0x00000010 Has an inscription.
0x00000180 This item is readable and has a page count.
0x00000400 Has comment.
0x00008000 Has an armor level or shield level.
0x00010000 This item is a portal.
0x00020000 Has detailed description.
0x00040000 Has simple description.
0x00100000 Unknown spell-related field.
0x00200000 Unknown spell-related field 2.
0x00800000 Has enchantments.
0x01000000 This item is a mana stone or mana charge.
0x02000000 Has active enchantments.
DWORD success Set to 1 for a successful assess. This field does not control the information transmitted (the flags field does that) it's just a gross overview of how well you did.
Choose valid sections by masking against flags
0x00000001
CharacterIDMask characterFlags These Flags indication which fields will be available for assess.
CharacterIDMask (DWORD)
The flags indicate which fields were successfully assessed.
0x01 Extra Info
0x02 Human Info
0x04 Basic Info
Attribute Info
Choose valid sections by masking against characterFlags
0x04
DWORD level The current level, or 0 if character is PK and fails to assess.
DWORD currentHealth Current health
DWORD maxHealth Maximum health
0x08
DWORD strength Strength
DWORD endurance Endurance
DWORD quickness Quickness
DWORD coordination Coordination
DWORD focus Focus
DWORD self Self
DWORD currentStamina Current stamina
DWORD currentMana Current mana
DWORD maxStamina Maximum stamina
DWORD maxMana Maximum mana
Species species The species of the creature.
Species (DWORD)
This number indicates a particular species.
0x03 Drudge
0x09 Phyntos Wasp
0x0A Rat
0x19 Rabbit
0x1E Skeleton
Isparian
Choose valid sections by masking against characterFlags
0x02
DWORD rank Numeric rank - 0xFFFFFFFF for a character without a patron.
DWORD followers The followers of an allegiance monarch, otherwise 0xFFFFFFFF
DWORD loyalty The loyalty of characters without a patron, otherwise 0.
DWORD leadership The leadership of characters without a patron, otherwise 0.
DWORD PK 1 for PKs, 0 for NPKs
String gender The gender: male, female or unknown.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String race The race.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String class Character class (usually Adventurer).
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String fellowship Name of the current fellowship, or an empty string for none.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String monarch The name and title of person's monarch - or empty string for none.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String patron The name and rank of the person's patron - or empty string for none. If this field is the same as the monarch it is displayed monarch/patron.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
DWORD texture1
DWORD texture2
DWORD texture3
DWORD palette1
DWORD palette2
DWORD palette3
DWORD unknown6
0x01
DWORD extra No idea what's in this field, but you only get it on a successful assess - best guess right now is it's related to the red/green attributes but I'll have to do testing.
0x00000002
DamageMask damageType The type of damage done by this weapon.
DamageMask (DWORD)
Damage Types are selected from a mask, they can be combined for multi-damage type weapons (for example slash/pierce swords)
0x01 Slashing
0x02 Piercing
0x04 Bludgeoning
0x08 Cold
0x10 Fire
0x20 Acid
0x40 Electric
DWORD speed Weapon speed.
Skill skill The skill required to use or equip this weapon, or 0xFFFFFFFF for none (such as arrows and quarells).
Skill (WORD)
Skill are identified by numbers
0x01 Axe
0x02 Bow
0x03 Crossbow
0x04 Dagger
0x05 Mace
0x06 Melee Defense
0x07 Missile Defense
0x09 Spear
0x0A Staff
0x0B Sword
0x0C Thrown Weapons
0x0D Unarmed Combat
0x0E Arcane Lore
0x0F Magic Defense
0x10 Mana Conversion
0x12 Appraise Item
0x13 Assess Person
0x14 Deception
0x15 Healing
0x16 Jump
0x17 Lockpick
0x18 Run
0x1B Assess Creature
0x1C Appraise Weapon
0x1D Appraise Armor
0x1E Appraise Magic Item
0x1F Creature Enchantment
0x20 Item Enchantment
0x21 Life Magic
0x22 War Magic
0x23 Leadership
0x24 Loyalty
0x25 Fletching
0x26 Alchemy
0x27 Cooking
DWORD damage The maximum amount of damage done by the weapon.
double damageRange The percentage damage range - used to calculate the lower boudn for display.
double damageBonus I'm just speculating that this a double of some bonus I haven't seen.
double range Although the values seem to have nothing to do with range, the existance of a value corresponds to weapons with a range set.
double unknown1 Unknown Value 27.3 is a sample.
double defenseBonus Bonus to defense skill.
double attackBonus Bonus to attack skill.
DWORD highlights The still undocument hilights that decide which fields and red and which are green.
0x00000004
float slashProt Protection against slashing damage.
float pierceProt Protection against piercing damage.
float bludgeonProt Protection against bludgeoning damage.
float coldProt Protection against cold damage.
float fireProt Protection against fire damage.
float acidProt Protection against acid damage.
float electricalProt Protection against lightning damage.
0x00000008
DWORD worldMass Used for the worlds physics of the object.
DWORD value The value in pyreals
DWORD mass The weight in BU
0x00000100
DWORD usedPages The used pages in the book.
0x00000080
DWORD totalPages Total number of pages in the readable item
0x00008000
DWORD armourLevel The armour level or shield level of this item.
0x00004000
DWORD openState Set to 1 if this item (chest, door, etc.) is open, 0 otherwise.
0x00002000
DWORD unknown3 Unknown (0x01 = Draught, 0x02 = Potion, 0x04 = Elixir)?
0x00001000
DWORD unknown4 Unknown (Amount Restored)?
0x04000000
String creator Contains the name of the creator of this object.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x00000010
String inscription The inscription text on this item.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String inscriptionAuthor The author of the inscription.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String inscriptionUnknown Unknown inscription related string - always empty.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x00020000
String detailedDescription The Description string to display on a sucessful assess.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x00040000
String simpleDescription The Description string to display on a failed assess.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x00000400
String comment The 1 or 2 line description comment at the top of the inspection window.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x00100000
DWORD unknown Unknown spell related field.
0x00200000
DWORD unknown2 Unknown spell related field.
0x00800000
DWORD difficulty The arcane lore requirement.
DWORD spellcraft The spellcraft of the item.
DWORD rankRequirement An allegiance rank requirement or 0 for none.
DWORD storedMana The current level of stored mana.
DWORD maxMana The maximum amount of stored mana.
DWORD unknown Unknown - Always 0xFFFFFFFF.
float manaRate Number of seconds/point of mana consumed.
String raceRequirement Set the the name of the required race, or a NULL string for no race requirement.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
DWORD alternateSkillRequirement The amount of an alterante skill required to activate an item.
Skill alternateSkill An alternate skill requirement, or 0 for no alternate skill required.
Skill (WORD)
Skill are identified by numbers
0x01 Axe
0x02 Bow
0x03 Crossbow
0x04 Dagger
0x05 Mace
0x06 Melee Defense
0x07 Missile Defense
0x09 Spear
0x0A Staff
0x0B Sword
0x0C Thrown Weapons
0x0D Unarmed Combat
0x0E Arcane Lore
0x0F Magic Defense
0x10 Mana Conversion
0x12 Appraise Item
0x13 Assess Person
0x14 Deception
0x15 Healing
0x16 Jump
0x17 Lockpick
0x18 Run
0x1B Assess Creature
0x1C Appraise Weapon
0x1D Appraise Armor
0x1E Appraise Magic Item
0x1F Creature Enchantment
0x20 Item Enchantment
0x21 Life Magic
0x22 War Magic
0x23 Leadership
0x24 Loyalty
0x25 Fletching
0x26 Alchemy
0x27 Cooking
String spellNames The list of just spell names in the enchantments list.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String spellDescriptions The descriptions of each of the spells as they appear in the descriptions section of the ID window.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
double manaTransfer The mana transfer efficiency, always -100% for magic items.
0x00080000
DWORD usesRemaining The number of uses remaining on this item
DWORD usesTotal The total uses on this item
0x00010000
DWORD lowLevel The low level restriction for this portal, or 0xFFFFFFFF for none.
DWORD highLevel The high level restriction for this portal, or 0xFFFFFFFF for none.
String destination The destination string.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x02000000
String activeEnchantments The descritpion text for all active enchantments.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x01000000
double efficiency The mana transfer efficiency of this mana stone.
DWORD storage The current amount of stored mana.
0x014A - Group Chat
Allegiance and Fellowship chats come on these messages.
GroupChatMask group The type of group chat.
GroupChatMask (DWORD)
The relative source or destionation of this message.
0x0800 Fellowship
0x1000 Patron
0x2000 Vassal
0x4000 Follower
String senderName The name of the character sending you the message.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String text The text of the message.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x0196 - Set Pack Contents
Set Pack Contents
Object pack The pack we are setting the contents of. This pack objects and the contained objects may be created before or after the message.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD itemCount Number of items in the pack (does not reflect the capacity - see the pack creation message).
items: vector of length itemCount
Object item An item for the pack.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
InventoryType type The type of this inventory. In this message it will always be 0 since there are no subpacks currently.
InventoryType (DWORD)
The position of this inventory item.
0x00 Normal Item
0x01 Pack
0x019A - Drop from Inventory
Removes an item from inventory (when you place it on the ground or give it away)
Object item The item leaving your inventory.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
0x01A4 - Remove Enchantment (Silent)
An enchantment was removed (via magic item).
Spell spell The ID of the spell being removed.
Spell (WORD)
Spell IDs are a uniqe number representing the spell and level. The table is found in the portal.dat.
WORD layers Index of this spell (for layers).
0x01A6 - Remove Multiple Enchantments
Removes a bunch of enchantments to the list (when multiple spells expire simultaneously).
DWORD count The number of enchantments
enchantments: vector of length count
Spell spell The spell being removed.
Spell (WORD)
Spell IDs are a uniqe number representing the spell and level. The table is found in the portal.dat.
WORD layer Index of the spell being removed, if this index is 1 the enchantment is entirely removed.
0x01A7 - Attack Completed
Melee attack completed
DWORD unknown unknown - my sample was 00000000
0x01AD - Kill/Death Message
Message for a death, something you killed or your own death message.
String text The text of the nearby or present death message.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x01AC - Your death.
You just died.
String text Your (typically mocking) death message.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x01AE - Add Multiple Enchantments List
Unlike 0x004E which adds only a single enchantment at a time, this message adds a bunch in a single shot.
DWORD count The number of enchantments
enchantments: vector of length count
Spell spell The spell being added.
Spell (WORD)
Spell IDs are a uniqe number representing the spell and level. The table is found in the portal.dat.
WORD layer The number of time this spell has been added - when 1 this is the first time.
0x01B1 - Inflict Melee Damage
Inflict Melee Damage on an opponent.
String target The name of your opponent.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
DamageMask damage The type of damage you are inflicting.
DamageMask (DWORD)
Damage Types are selected from a mask, they can be combined for multi-damage type weapons (for example slash/pierce swords)
0x01 Slashing
0x02 Piercing
0x04 Bludgeoning
0x08 Cold
0x10 Fire
0x20 Acid
0x40 Electric
double severity A number between 0.0 and 1.0 that reflects the severity of the attack - this is reflected in both the message (graze vs. crush) and the noise.
DWORD amount The number of health points you took.
0x01B2 - Receive Melee Damage
When an opponent inflicts melee damage on your character.
String source The name of your opponent.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
DamageMask damage The type of damage you are receiving.
DamageMask (DWORD)
Damage Types are selected from a mask, they can be combined for multi-damage type weapons (for example slash/pierce swords)
0x01 Slashing
0x02 Piercing
0x04 Bludgeoning
0x08 Cold
0x10 Fire
0x20 Acid
0x40 Electric
double severity A number between 0.0 and 1.0 that reflects the severity of the attack - this is reflected in both the message (graze vs. crush) and the noise.
DWORD amount The number of health points you lost. (NOTE: the actual message that drop your health is sent separately)
DamageLocation location The location that you received damage on your body
DamageLocation (DWORD)
Location that Damage is recieved during melee Combat
0x00 Head
0x01 Chest
0x02 Abdomen
0x03 Upper Arm
0x04 Lower Arm
0x05 Hand
0x06 Upper Leg
0x07 Lower Leg
0x08 Foot
0x01B3 - Other Melee Evade
When you are evaded in melee combat.
String target The name of your opponent.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x01B4 - Self Melee Evade
When you evade an opponent in melee combat.
String source The name of your opponent.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x01B8 - Start Melee Attack
Start melee attack
0x01C0 - Update Health
Updates the health bar on your selected opponent.
Object selection Since you only get updates for the currently selected opponent, this indicates what you have selected.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
float health A number between 0.0 and 1.0 reflecting their total health.
0x01C3 - Age Command Result
Age Command Result - happens when you do /age in the game
String unknown Unknown - always seems to be a null string
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
String age Your age in the format 1mo 1d 1h 1m 1s
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
0x01C7 - Read. Previous action complete
Ready. Previous action complete
DWORD unknown Unknown - 0x00000000
0x01F4 - Squelched Users List
Squelched Users List
DWORD unknown1 Unknown Always 0
WORD squelchCount The number of squelched users.
WORD unknownFlags1 Unknown flags, sometimes 0x0020 is set
users: vector of length squelchCount
Object user The ID of the squelched user.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD unknown1 Unknown - Always 4.
DWORD unknown2 Unknown - Always 0xFFFFFFF.
DWORD unknown3 Unknown - Always 0xFFFFFFF.
DWORD unknown4 Unknown - Always 0xFFFFFFF.
DWORD unknown5 Unknown - Always 0xFFFFFFF.
String name Name of the squelched user.
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
DWORD unknown6 Unknown - Always 0.
0x01FD - Enter Trade
Send to begin a trade and display the trade window
Object trader Person initiating the trade
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
Object tradee Person receiving the trade
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD unknown1 unknown
DWORD unknown2 unknown
0x01FF - End Trade
End trading
EndTradeReason reason Reason trade was cancelled
EndTradeReason (DWORD)
The reason for ending a trade.
0x00 End trade normally.
0x02 Party entered combat mode.
0x51 Party moved out of range, or cancelled manually.
0x0200 - Add Trade Item
Item was added to trade window - you will receive a Create Object (0xF745) with details of the item
Object item The item being dropped into trade window
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD side Side of the trade window object was inserted (1 or 2)
DWORD unknown1 unknown, was zero when testing
0x0202 - Accept Trade
The trade was accepted
Object character Person who acepted the trade
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
0x0205 - Reset Trade
The trade window was reset
Object clearee Person who cleared the window
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
0x0207 - Failure to trade an item
Failure to trade an item
Object item Item that could not be added to trade window
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD reason The numeric reason it couldn't be traded.
0x0264 - Updates the mana bar on the selected item.
Updates the mana bar on the selected item.
Object selection Since you only get updates for the currently selected item, this indicates what you have selected.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
float mana A number between 0.0 and 1.0 reflecting its total mana.
DWORD enabled A value (0 or 1) which determines if the item uses mana and whether to show the items mana bar.
0xF643 - Create Character
Character was created on main screen
CharacterCreationResult success Success flag of creation
CharacterCreationResult (DWORD)
Results of your creation attempt.
0x01 Success
0x03 Name in use
0x04 Bad Name - typically profanity filter
Object character New character
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
String userName Name of new character
String
Strings begin and end with DWORD alignment. The first WORD is the string length including the NULL terminator. Then the character values follow inline (with NULL terminator) and the last DWORD is filled with 0s.
DWORD unknown_1 Always zero
0xF655 - Delete Character
Character was deleted on main screen
0x01CA - Unknown
0x01CB - Unknown
0x01EA - Unknown
F7C7 - Start 3D Mode
Sent to instruct the client to login. Client changes video mode and enter's portal mode.
FF33 - Exit portal mode.
Sent to terminate the whirling tunnel of portal mode.
Object character The character exiting portal mode - should be you.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
DWORD index The index of the enter/exit portal mode count.
DWORD sequence It's approximately the number of times you've portalled in your character's liftime - although I think it's too small for mine.

Retired Messages

Directory

000E - Update Statistic
0026 - Update Attribute
0028 - Skill Experience
0029 - Update Secondary Attribute
0033 - OLD Update Vital Statistic

Messages

000E - Update Statistic
RETIRED for 0237
Object character Character receiving the experience update.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
Statistic statistic Statistic being set.
Statistic (DWORD)
Select an experience category from the following table.
0x05 Total Burden
0x14 Total Pyreal
0x15 Total Experience
0x16 Unassigned Experience
0x18 Unassigned Skill Points
0x19 Level
0x1e Rank
DWORD value Replacement value.
0026 - Update Attribute
RETIRED for 241
Object character Character receiving the experience update.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
AttributeID attribute Statistic being set.
AttributeID (WORD)
Attributes are identified by numbers
0x01 Strength
0x02 Endurance
0x03 Quickness
0x04 Coordination
0x05 Focus
0x06 Self
DWORD newValue New Attribute Value.
DWORD baseValue Original Attirbute Value.
DWORD expSpent Total Exp Spent on this Attribute
0028 - Skill Experience
RETIRED for 023E
Object source Should be you
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
Skill skill Your skill that's receiving XP
Skill (WORD)
Skill are identified by numbers
0x01 Axe
0x02 Bow
0x03 Crossbow
0x04 Dagger
0x05 Mace
0x06 Melee Defense
0x07 Missile Defense
0x09 Spear
0x0A Staff
0x0B Sword
0x0C Thrown Weapons
0x0D Unarmed Combat
0x0E Arcane Lore
0x0F Magic Defense
0x10 Mana Conversion
0x12 Appraise Item
0x13 Assess Person
0x14 Deception
0x15 Healing
0x16 Jump
0x17 Lockpick
0x18 Run
0x1B Assess Creature
0x1C Appraise Weapon
0x1D Appraise Armor
0x1E Appraise Magic Item
0x1F Creature Enchantment
0x20 Item Enchantment
0x21 Life Magic
0x22 War Magic
0x23 Leadership
0x24 Loyalty
0x25 Fletching
0x26 Alchemy
0x27 Cooking
DWORD skillOffset The offset from the attribute base.
DWORD unknown1 unknown
DWORD experience experience earned
DWORD freeXP experience given during character creation
DWORD difficulty probably used in the xp timer calculation
0029 - Update Secondary Attribute
RETIRED for 0243
Object character Character receiving the experience update.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
SecondaryAttribID secondaryAttribute Statistic being set.
SecondaryAttribID (WORD)
Secondary Attributes are identified by numbers
0x01 Health
0x03 Stamina
0x05 Mana
DWORD step New increment step you just acheived.
DWORD unknown unknown - not effected by endurance other or the barons amulet or vitae
DWORD expSpent Total Exp Spent on this Attribute
DWORD currentValue Secondary Attribute Value - this is just what your current health/stam/mana is, not related to total past or present.
0033 - OLD Update Vital Statistic
RETIRED
Object character Character getting updates, this should be you.
Object (DWORD)
DWORD field containing a unique ID for an object in the game world. IDs are unique in the world but not permenantly - IDs can be reused for temporary type objects like monsters
VitalStat vital The Vital Statistic being updated.
VitalStat (DWORD)
The vital statistic to update, selected from the list.
0x02 Current Health
0x04 Current Stamina
0x06 Current Mana
DWORD value The new value.

Unclassified Messages

F72B - Unknown.