- Opcode: 0x024
- Short name: JUMP3
- Long name: Jump to 3-coordinate location
Argument
Destination walkmesh triangle ID (16-bit).
Stack
XCoord
YCoord
ZCoord
Jump duration (frames)
JUMP3
Description
Make this entity jump to an explicit 3D destination. The four stack values are popped as X, Y, Z (each stored as a fixed-point world coordinate at move_pos_x/y/z, entity+436/+440/+444, shifted left by 12) and a duration in frames on top (move_duration_frames, entity+472). The inline 16-bit argument is the destination walkmesh triangle ID (entity+508). The handler sets motion_state (entity+572) to 2 (jump) and clears the completion flag motion_substate (entity+542); on the first frame it returns 1 (wait, retry). Once the jump animation reports completion (motion_substate == 2) it clears motion_state and returns 3 (done + yield), pausing the script until the jump lands.
This differs from JUMP only in that JUMP takes a 2D target (X, Y) while JUMP3 also pops an explicit Z.
PC handler: SCRIPT_JUMP3.
Function addresses
| Function | Address | Description |
|---|---|---|
SCRIPT_JUMP3 | 0x525740 | Field script opcode handler (verified IDA function) |