Server Packet 0x08: Update Attributes - hybrasyl/server GitHub Wiki

Description

This packet updates the attributes shown in the attributes pane.

Syntax

Data Type Value
Byte UpdateFlags

The following block should be included if 0x20 is set in UpdateFlags:

Data Type Value
Byte Unknown1
Byte Unknown2
Byte Unknown3
Byte Level
Byte Ability
UInt32 MaximumHP
UInt32 MaximumMP
Byte STR
Byte INT
Byte WIS
Byte CON
Byte DEX
Boolean HasLevelUpPoints
Byte LevelUpPoints
UInt16 MaximumWeight
UInt16 CarryingWeight
UInt32 Unknown4

The following block should be included if 0x10 is set in UpdateFlags:

Data Type Value
UInt32 HP
UInt32 MP

The following block should be included if 0x08 is set in UpdateFlags:

Data Type Value
UInt32 EXP
UInt32 ToNextLevel
UInt32 AP
UInt32 ToNextAbility
UInt32 GP
UInt32 Gold

The following block should be included if 0x04 is set in UpdateFlags:

Data Type Value
Byte Unknown5
Byte BlindValue
Byte Unknown6
Byte Unknown7
Byte Unknown8
Byte MailFlags
Byte AttackElement
Byte DefenseElement
SByte MR
Boolean UserShopActive
SByte AC
Byte DMG
Byte HIT

Parameters

UpdateFlags
A bitmask containing information about which sections of the packet are included as well as other flags. Possible values include:

  • 0x01: Unread mail or unclaimed parcel
  • 0x02: Unknown
  • 0x04: Secondary attributes (Shift+G)
  • 0x08: Experience, game points, gold
  • 0x10: Current HP and MP
  • 0x20: Primary attributes
  • 0x40: Builder mode
  • 0x80: Builder mode

When ONE builder mode flag is set, all client-side collisions will be disabled and a highlight button is added to bulletin boards. When BOTH builder mode flags are set, client-side swimming is enabled.

Unknown1
This is an unknown and probably unused value.

Unknown2
This is an unknown and probably unused value.

Unknown3
This is an unknown and probably unused value.

Level
The player's current level.

Ability
The player's current ability level.

MaximumHP
The player's maximum HP.

MaximumMP
The player's maximum MP.

STR
The player's strength attribute.

INT
The player's intelligence attribute.

WIS
The player's wisdom attribute.

CON
The player's constitution attribute.

DEX
The player's dexterity attribute.

HasLevelUpPoints
This should be true if the player has any available level up points.

LevelUpPoints
The number of level up points the player has available.

MaximumWeight
The maximum amount of weight the player can carry in their inventory and equipment.

CarryingWeight
The combined amount of weight the player is currently carrying in their inventory and equipment.

Unknown4
This is an unknown and probably unused value.

HP
The player's current HP.

MP
The player's current MP.

EXP
The player's current amount of experience points.

ToNextLevel
The remaining amount of experience points required to advance to the next level.

AP
The player's current amount of ability points.

ToNextAbility
The remaining amount of ability points required to advance to the next ability level.

GP
The player's current amount of game points (unused in USDA server.)

Gold
The amount of gold the player is carrying.

Unknown5
This is an unknown and probably unused value.

BlindValue
When this value is 0x08, the player's viewport will be rendered black.

Unknown6
This is an unknown and probably unused value.

Unknown7
This is an unknown and probably unused value.

Unknown8
This is an unknown and probably unused value.

MailFlags
A bitmask containing information regarding unread mail and unclaimed parcels. Possible values include:

  • 0x01: Used to display unclaimed parcel indicator (no longer used in the client)
  • 0x10: Displays unread mail indicator

This value is ignored if UpdateFlags does not contain the 0x01 flag.

AttackElement
The player's attack element.

DefenseElement
The player's defense element.

MR
The player's magic resistance attribute. This number is multiplied by 10 in the client (for example, a value of 42 would be displayed in the client as 420.)

UserShopActive
This value is true when the player has a shop open. When this value is true, client-side movement is disabled.

AC
The player's armor class attribute.

DMG
The player's DMG attribute.

HIT
The player's HIT attribute.