defmodule Odinsea.Game.Movement.Absolute do @moduledoc """ Absolute life movement - normal walking, flying, etc. Ported from Java AbsoluteLifeMovement.java This is the most common movement type for: - Normal walking (command 0) - Flying (commands 37-42) - Rush skills (when not instant) Contains position, velocity, and offset information. """ @type t :: %__MODULE__{ command: integer(), # Movement command type (0, 37-42) x: integer(), # Target X position y: integer(), # Target Y position vx: integer(), # X velocity (pixels per second) vy: integer(), # Y velocity (pixels per second) unk: integer(), # Unknown short value 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, :offset_x, :offset_y, :stance, :duration ] end