Game Opcodes:Command Result (x10 Log/Effect)

From FFXIV Classic Wiki
Revision as of 23:38, 28 January 2019 by Ioncannon (talk | contribs) (Visual Layout)
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 Battle Action Result packet; usually Command Result (No Log/Effect).

This packet as well as Command Result (x01 /Effect) and Command Result (x18 /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 unknown Always 1?

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 resultParam unknown 00 00