• 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)