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. This is the command debugger text:
// devc set [target] mode [number] [booleans] Set ActorSubStat-Mode of [Target] to [number], [booleans] [number] is a numerical part, [booleans] is a boolean part It is specified as 01011. Specify a hyphen (-) when not specified. Example) // dev set <t> mode 30 01011 Example) // dev set <t> mode - 1110000
Visual Layout
Game Opcode layout | |||||||||||||||||
0x0 | 0x1 | 0x2 | 0x3 | 0x4 | 0x5 | 0x6 | 0x7 | 0x8 | 0x9 | 0xA | 0xB | 0xC | 0xD | 0xE | 0xF | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | breakage | chant | modeBools | guard | mode | unknown | motionPack |