Game Opcodes:Command Result (x18 Log/Effect)

From FFXIV Classic Wiki
Revision as of 22:08, 29 January 2019 by Ioncannon (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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 (x10 Log/Effect) all have the same properties, only the maximum amount of effects/logs changes. This packets stores up to 18 results.

Opcode - 0x13B
Source - Server
Data Size - 0x148 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 * 18 72 Bytes resultTargetActorID The actorID this result is happening to. IE: If an actor died, it will use the actorID's name.
0x70 uint16 * 18 36 Bytes resultAmount Used for amount results (damage done, heal done, exp gained, etc).
0x94 uint16 * 18 36 Bytes resultWorldMasterTextID The textID to display in the log.
0xB8 uint32 * 18 72 Bytes resultEffectID The effect animation to display.
0x100 byte * 18 18 Bytes resultParam Used in switched cases in various logs. For example sets the direction an attack was done from.
0x112 byte * 18 18 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

(See the other fields, but multiply by 18 not 10)