Game Opcodes:Command Result (x01 Log/Effect)

From FFXIV Classic Wiki
Revision as of 22:07, 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 (x10 Log/Effect) and Command Result (x18 Log/Effect) all have the same properties, only the maximum amount of effects/logs changes.

Opcode - 0x139
Source - Server
Data Size - 0x58 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 4 Bytes resultTargetActorID The actorID this result is happening to. IE: If an actor died, it will use the actorID's name.
0x2C uint16 2 Bytes resultAmount Used for amount results (damage done, heal done, exp gained, etc).
0x2E uint16 2 Bytes resultWorldMasterTextID The textID to display in the log.
0x30 uint32 4 Bytes resultEffectID The effect animation to display.
0x34 byte 1 Bytes resultParam Used in switched cases in various logs. For example sets the direction an attack was done from.
0x35 byte 1 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 resultTargetActorID resultAmount resultWorldMasterTextID
0x30 resultEffectID resultParam resultHitNum 00 00