Game Opcodes:Command Result (x18 Log/Effect)
From FFXIV Classic Wiki
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 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
Contents
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)