Table of Contents

Draw Object (0x78)

Moongate Packet Classes

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

Current Moongate Behavior

Moongate currently has packet classes for this opcode.

Packet Build

Type Field
BYTE[1] Command
BYTE[2] Length
BYTE[4] Object Serial
BYTE[2] Graphic ID
BYTE[2] X
BYTE[2] Y
BYTE[1] Z
BYTE[1] Direction/Facing
BYTE[2] Color
BYTE[1] Status Flag (bitwise flag)
BYTE[1] Notoriety

If (BYTE[4] == 0x00 0x00 0x00 0x00)

Type Field
BYTE[1] 0x0

Otherwise loop until above BYTE[4] is satisfied.

Type Field
BYTE[4] Serial
BYTE[2] Graphic
BYTE[1] Layer
BYTE[2] Color (this byte only needed if (Graphic&0x8000)
BYTE[4] 0x00000000

Subcommand Build

N/A

Notes

Status Options

0x00: Normal

0x01: Unknown

0x02: Can Alter Paperdoll

0x04: Poisoned

0x08: Golden Health

0x10: Unknown

0x20: Unknown

0x40: War Mode

Notoriety

0x1: Innocent (Blue)

0x2: Friend (Green)

0x3: Grey (Grey - Animal)

0x4: Criminal (Grey)

0x5: Enemy (Orange)

0x6: Murderer (Red)

0x7: Invulnerable (Yellow)

01-10-2007

Interesting, 0x12 Status Flag was a guild mates mount not in war mode.

0x52 is for the same pets status flag while in war mode. Poisoned it stayed the same appropriately in each. 0x12 and 0x52