Game Opcodes:Command Result (x10 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 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
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 * 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 |