Table of Contents

Send Skills (0x3A)

Moongate Packet Classes

  • SkillListPacket (Outgoing, Variable, length -1) from src/Moongate.Network.Packets/Outgoing/Entity/SkillListPacket.cs

Current Moongate Behavior

Moongate currently has packet classes for this opcode.

Packet Build

Server Version:

Type Field
BYTE[1] Command
BYTE[2] Length
BYTE[1] Type

Repeat next for each skill

Type Field
BYTE[2] Skill ID Number
BYTE[2] Skill Value * 10
BYTE[2] Unmodified Value * 10
BYTE[1] Skill Lock

If (Type==2 || Type==0xDF)

Type Field
BYTE[2] Skill Cap
BYTE[2] Null Terminated(0000) (ONLY IF TYPE == 0x00)

Client Version (sets skill lock states):

Type Field
BYTE[1] Command
BYTE[2] Length
BYTE[2] Skill ID Number
BYTE[1] Skill Lock State

Subcommand Build

N/A

Notes

Type

0x00: Full List of skills

0xFF: Single skill update

0x02: Full List of skills with skill cap for each skill

0xDF: Single skill update with skill cap for skill

Skill Lock State

0x0: Up

0x1: Down

0x2: Locked