Files
odinsea-elixir/lib/odinsea/game/movement/jump_down.ex
2026-02-14 23:12:33 -07:00

41 lines
1.0 KiB
Elixir

defmodule Odinsea.Game.Movement.JumpDown do
@moduledoc """
Jump down movement - falling through platforms.
Ported from Java JumpDownMovement.java
Used for:
- Jumping down through platforms (commands 13, 14)
- Controlled falling
Contains foothold information for landing detection.
"""
@type t :: %__MODULE__{
command: integer(), # Movement command type (13, 14)
x: integer(), # Target X position
y: integer(), # Target Y position
vx: integer(), # X velocity
vy: integer(), # Y velocity
unk: integer(), # Unknown short value
foothold: integer(), # Target foothold ID
offset_x: integer(), # X offset
offset_y: integer(), # Y offset
stance: integer(), # New stance/move action
duration: integer() # Movement duration in ms
}
defstruct [
:command,
:x,
:y,
:vx,
:vy,
:unk,
:foothold,
:offset_x,
:offset_y,
:stance,
:duration
]
end