Difference between revisions of "Game Opcodes:Set Actor SubState"
From FFXIV Classic Wiki
(→Visual Layout) |
m (Added a note to the chant tag) |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | Sets the actor's | + | Sets the actor's SubState parameters. These effect various passive animations. |
:; Opcode - 0x144 | :; Opcode - 0x144 | ||
Line 17: | Line 17: | ||
| 0x00 || bitfield || 0x1 Bytes || breakage || Turns off and on the partsBreak flags for the model. Used to disable body parts as they are damaged (IE: Ifrit's Horn). Up to 8 flags. | | 0x00 || bitfield || 0x1 Bytes || breakage || Turns off and on the partsBreak 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 || 0x1 Bytes || chant || Sets the casting animation for a model's left and right hands. HiNibble: Right hand, LoNibble: Left hand. You can check the bid file of a monster to find the animations. | + | | 0x01 || hi/lo nibble || 0x1 Bytes || chant || Sets the casting animation for a model's left and right hands. HiNibble: Right hand, LoNibble: Left hand. You can check the bid file of a monster to find the animations. Also sets the state of the crafting ball. |
|- | |- | ||
| 0x02 || hi nibble || 1/2 Bytes || modeNumBools || Allocates a number of bits for bitfield use in the mode field. Doesn't seem to effect gameplay, rather used for debugging purposes (cmdDev). | | 0x02 || hi nibble || 1/2 Bytes || modeNumBools || Allocates a number of bits for bitfield use in the mode field. Doesn't seem to effect gameplay, rather used for debugging purposes (cmdDev). | ||
Line 23: | Line 23: | ||
| 0x02 || lo nibble || 1/2 Bytes || guard || 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 || lo nibble || 1/2 Bytes || guard || Sets the guarding animation for a model's left or right hands. Used for when guarding was manual. Bit0: Right Hand, Bit1: Left Hand. | ||
|- | |- | ||
− | | 0x03 || byte || 0x1 Bytes || waste || Dims the main weapon to signify damage. Unused in retail. Values go from 0-3, only HiNibble changes anything. | + | | 0x03 || byte || 0x1 Bytes || waste || Dims the main weapon to signify damage. Unused in retail. Values go from 0-3, only HiNibble changes anything. Used to change the amount of arrows appearing in a quiver. |
|- | |- | ||
| 0x04 || bitfield/value || 0x1 Bytes || mode || Sets various passive graphical options for a model. Eg: Ifrit's Plumes, his glow, and HellFire. Can be a value or a bitfield, but the latter seems to be used 99% of the time. | | 0x04 || bitfield/value || 0x1 Bytes || mode || Sets various passive graphical options for a model. Eg: Ifrit's Plumes, his glow, and HellFire. Can be a value or a bitfield, but the latter seems to be used 99% of the time. | ||
Line 51: | Line 51: | ||
|- | |- | ||
| | | | ||
− | ! 0x0 !! 0x1 | + | ! 0x0 !! 0x1 !! colspan="2" | 0x2 !! 0x3 !! 0x4 !! 0x5 !! 0x6 !! 0x7 |
|- | |- | ||
! 0x00 | ! 0x00 | ||
Line 58: | Line 58: | ||
| colspan="1" style="background:#8FA6E8" | '''modeBools''' | | colspan="1" style="background:#8FA6E8" | '''modeBools''' | ||
| colspan="1" style="background:#8FA6E8" | '''guard''' | | colspan="1" style="background:#8FA6E8" | '''guard''' | ||
+ | | colspan="1" style="background:#8FA6E8" | '''waste''' | ||
| colspan="1" style="background:#8FA6E8" | '''mode''' | | colspan="1" style="background:#8FA6E8" | '''mode''' | ||
| colspan="1" style="background:#8FA6E8" | '''unknown''' | | colspan="1" style="background:#8FA6E8" | '''unknown''' |
Latest revision as of 01:01, 25 March 2020
Sets the actor's SubState 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 | breakage | Turns off and on the partsBreak 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 | 0x1 Bytes | chant | Sets the casting animation for a model's left and right hands. HiNibble: Right hand, LoNibble: Left hand. You can check the bid file of a monster to find the animations. Also sets the state of the crafting ball. |
0x02 | hi nibble | 1/2 Bytes | modeNumBools | Allocates a number of bits for bitfield use in the mode field. Doesn't seem to effect gameplay, rather used for debugging purposes (cmdDev). |
0x02 | lo nibble | 1/2 Bytes | guard | Sets the guarding animation for a model's left or right hands. Used for when guarding was manual. Bit0: Right Hand, Bit1: Left Hand. |
0x03 | byte | 0x1 Bytes | waste | Dims the main weapon to signify damage. Unused in retail. Values go from 0-3, only HiNibble changes anything. Used to change the amount of arrows appearing in a quiver. |
0x04 | bitfield/value | 0x1 Bytes | mode | Sets various passive graphical options for a model. Eg: Ifrit's Plumes, his glow, and HellFire. Can be a value or a bitfield, but the latter seems to be used 99% of the time. |
0x05 | byte | 0x1 Bytes | unknown | |
0x06 | uint16 | 0x2 Bytes | motionPack | Sets the idle animation for this actor. Used by most event NPCs. Seems to only open "<model>/cmn/fid/<mpackID>" animations. Strangely the lua "get" method only returns a byte. |
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 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | breakage | chant | modeBools | guard | waste | mode | unknown | motionPack |