30 lines
760 B
Elixir
30 lines
760 B
Elixir
defmodule Odinsea.Game.Movement.Relative do
|
|
@moduledoc """
|
|
Relative life movement - small position adjustments.
|
|
Ported from Java RelativeLifeMovement.java
|
|
|
|
Used for:
|
|
- Small adjustments (commands 1, 2)
|
|
- Float movements (commands 33, 34, 36)
|
|
- Fine-tuning position
|
|
|
|
Contains relative offset from current position.
|
|
"""
|
|
|
|
@type t :: %__MODULE__{
|
|
command: integer(), # Movement command type (1, 2, 33, 34, 36)
|
|
x: integer(), # X offset (delta from current)
|
|
y: integer(), # Y offset (delta from current)
|
|
stance: integer(), # New stance/move action
|
|
duration: integer() # Movement duration in ms
|
|
}
|
|
|
|
defstruct [
|
|
:command,
|
|
:x,
|
|
:y,
|
|
:stance,
|
|
:duration
|
|
]
|
|
end
|