Game Opcodes:Command Result (x10 Log/Effect)

From FFXIV Classic Wiki
Jump to: navigation, search

Plays animations, appends log messages, and show various effects as a result of some command. For example a player could do an ability which would play an animation (the attack) and have a bunch of effects; damage done, enemy death, exp gain, and a level up. State changes must follow a Command Result packet; usually Command Result (No Log/Effect).

This packet as well as Command Result (x01 Log/Effect) and Command Result (x18 Log/Effect) all have the same properties, only the maximum amount of effects/logs changes. This packets stores up to 10 results.

Opcode - 0x13A
Source - Server
Data Size - 0xD8 bytes
Requirements - None

Data

Offset Data Type Length Variable Description
0x00 actorID 4 Bytes sourceActorID The actorID that caused this result to fire.
0x04 uint32 4 Bytes animationId An animationID for the source actor to play.
0x08 uint32 4 Bytes unknown
0x0C uint32 4 Bytes unknown
0x10 float 4 Bytes unknown May be a string?
0x14 float 4 Bytes unknown
0x18 float 4 Bytes unknown
0x1C float 4 Bytes unknown Definitely a float.
0x20 uint32 4 Bytes numResults The number of results in this packet. Always 1 for this packet unless you are wasting bandwidth.
0x24 uint16 2 Bytes commandID The commandID that triggered this result to fire.
0x26 uint16 2 Bytes unknown Always 0x810.

Result Data

Offset Data Type Length Variable Description
0x28 actorID * 10 40 Bytes resultTargetActorID The actorID this result is happening to. IE: If an actor died, it will use the actorID's name.
0x50 uint16 * 10 20 Bytes resultAmount Used for amount results (damage done, heal done, exp gained, etc).
0x64 uint16 * 10 20 Bytes resultWorldMasterTextID The textID to display in the log.
0x78 uint32 * 10 40 Bytes resultEffectID The effect animation to display.
0xA0 byte * 10 10 Bytes resultParam Used in switched cases in various logs. For example sets the direction an attack was done from.
0xAA byte * 10 10 Bytes resultHitNum Which hit in a sequence of hits this is.

Notes

  • If updating state, set animation id to 0x7C000062.
  • In the header there may be a string. Last value may be a float.

Visual Layout

Game Opcode layout
0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xA 0xB 0xC 0xD 0xE 0xF
0x00 actorID animationID 00 00 00 00 00 00 00 00
0x10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x20 numResults commandID unknown
0x30 resultTargetActorID
0x40
0x50 resultAmount
0x60
0x70 resultWorldMasterTextID resultEffectID
0x80
0x90
0xA0 resultParam resultHitNum