41 lines
1.0 KiB
Elixir
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
|