44 lines
1.2 KiB
Elixir
44 lines
1.2 KiB
Elixir
defmodule Odinsea.Database.Schema.WzMobSkillData do
|
|
@moduledoc """
|
|
Ecto schema for the wz_mobskilldata table.
|
|
Represents monster skill data from WZ files.
|
|
"""
|
|
|
|
use Ecto.Schema
|
|
import Ecto.Changeset
|
|
|
|
@primary_key {:id, :id, autogenerate: true}
|
|
|
|
schema "wz_mobskilldata" do
|
|
field :skillid, :integer
|
|
field :level, :integer
|
|
field :hp, :integer, default: 100
|
|
field :mpcon, :integer, default: 0
|
|
field :x, :integer, default: 1
|
|
field :y, :integer, default: 1
|
|
field :time, :integer, default: 0
|
|
field :prop, :integer, default: 100
|
|
field :limit, :integer, default: 0
|
|
field :spawneffect, :integer, default: 0
|
|
field :interval, :integer, default: 0
|
|
field :summons, :string, default: ""
|
|
field :ltx, :integer, default: 0
|
|
field :lty, :integer, default: 0
|
|
field :rbx, :integer, default: 0
|
|
field :rby, :integer, default: 0
|
|
field :once, :integer, default: 0
|
|
end
|
|
|
|
@doc """
|
|
Changeset for WZ mob skill data.
|
|
"""
|
|
def changeset(wz_mob_skill_data, attrs) do
|
|
wz_mob_skill_data
|
|
|> cast(attrs, [
|
|
:skillid, :level, :hp, :mpcon, :x, :y, :time, :prop, :limit,
|
|
:spawneffect, :interval, :summons, :ltx, :lty, :rbx, :rby, :once
|
|
])
|
|
|> validate_required([:skillid, :level])
|
|
end
|
|
end
|