Game Opcodes:Set Actor SubState
From FFXIV Classic Wiki
Sets the actor's SubStat parameters. These effect various passive animations.
- Opcode - 0x144
- Source - Server
- Data Size - 0x28 bytes
- Requirements - Must play an Battle Effect packet after for animations to take effect.
Data
Offset | Data Type | Length | Variable | Description |
---|---|---|---|---|
0x00 | bitfield | 0x1 Bytes | substatBreakage | Turns off and on the parts flags for the model. Used to disable body parts as they are damaged (IE: Ifrit's Horn). Up to 8 flags. |
0x01 | hi/lo nibble | 1 Bytes | substatChant | Sets the casting animation for a model's left and right hands. HiNibble: Left hand, LoNibble: Right hand. |
0x02 | lo nibble | 1/2 Bytes | substatGuard | Sets the guarding animation for a model's left or right hands. Used for when guarding was manual. Bit0: Right Hand, Bit1: Left Hand. |
0x02 | hi nibble | 1/2 Bytes | substatModeFlags | Seems to allocate certain bits for flags starting from the most sig bit. |
0x03 | hi/lo nibble | 0x1 Bytes | substatWaste | Dims the main weapon to signify damage. Unused in retail. Values go from 0-3, only HiNibble changes. |
0x04 | byte | 0x1 Bytes | substatMode | Sets various passive graphical options for a model. Eg: Ifrit's Plumes, his glow, and HellFire. Seems to act like bitflags. |
0x05 | byte | 0x1 Bytes | unknown | |
0x06 | byte | 0x1 Bytes | substatMotionPack | Sets the idle animation for this actor. Used by most event NPCs. Seems to only open "<model>/cmn/fid/<mpackID>" animations. |
Notes
_getSubStatObject: Returns the second byte; 2 values up to 3 for the HiByte, and a third one just for the LoByte. Labeled: State1, State2, ExtraState. _getSubStatMode: Can be a mix of booleans and a number. Configured by byte 0x3's HiNibble. It sets a value from 0-8, allocating the high area of byte 0x6 for bools. The remaining is for a number.
Visual Layout
Game Opcode layout | ||||||||||||||||
0x0 | 0x1 | 0x2 | 0x3 | 0x4 | 0x5 | 0x6 | 0x7 | 0x8 | 0x9 | 0xA | 0xB | 0xC | 0xD | 0xE | 0xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | unknown |