33 lines
800 B
Elixir
33 lines
800 B
Elixir
defmodule Odinsea.Game.Movement.Teleport do
|
|
@moduledoc """
|
|
Teleport movement - instant position change.
|
|
Ported from Java TeleportMovement.java
|
|
|
|
Used for:
|
|
- Rush skills (command 3)
|
|
- Teleport (command 4)
|
|
- Assassinate (command 8)
|
|
- Special skills (commands 100, 101)
|
|
|
|
Note: Duration is always 0 for teleports.
|
|
"""
|
|
|
|
@type t :: %__MODULE__{
|
|
command: integer(), # Movement command type (3, 4, 8, 100, 101)
|
|
x: integer(), # Target X position
|
|
y: integer(), # Target Y position
|
|
vx: integer(), # X velocity (visual effect)
|
|
vy: integer(), # Y velocity (visual effect)
|
|
stance: integer() # New stance/move action
|
|
}
|
|
|
|
defstruct [
|
|
:command,
|
|
:x,
|
|
:y,
|
|
:vx,
|
|
:vy,
|
|
:stance
|
|
]
|
|
end
|