Files
odinsea-elixir/lib/odinsea/database/schema/inventory_equipment.ex
2026-02-14 23:58:01 -07:00

59 lines
2.1 KiB
Elixir

defmodule Odinsea.Database.Schema.InventoryEquipment do
@moduledoc """
Ecto schema for the inventoryequipment table.
Represents equipment stats for inventory items.
"""
use Ecto.Schema
import Ecto.Changeset
@primary_key {:inventoryequipmentid, :id, autogenerate: true}
schema "inventoryequipment" do
field :inventoryitemid, :integer, default: 0
field :upgradeslots, :integer, default: 0
field :level, :integer, default: 0
field :str, :integer, default: 0
field :dex, :integer, default: 0
field :int, :integer, default: 0
field :luk, :integer, default: 0
field :hp, :integer, default: 0
field :mp, :integer, default: 0
field :watk, :integer, default: 0
field :matk, :integer, default: 0
field :wdef, :integer, default: 0
field :mdef, :integer, default: 0
field :acc, :integer, default: 0
field :avoid, :integer, default: 0
field :hands, :integer, default: 0
field :speed, :integer, default: 0
field :jump, :integer, default: 0
field :vicioushammer, :integer, default: 0, source: :ViciousHammer
field :itemexp, :integer, default: 0, source: :itemEXP
field :durability, :integer, default: -1
field :enhance, :integer, default: 0
field :potential1, :integer, default: 0
field :potential2, :integer, default: 0
field :potential3, :integer, default: 0
field :hp_r, :integer, default: 0, source: :hpR
field :mp_r, :integer, default: 0, source: :mpR
field :incskill, :integer, default: -1, source: :incSkill
field :charmexp, :integer, default: -1, source: :charmEXP
field :pvpdamage, :integer, default: 0, source: :pvpDamage
end
@doc """
Changeset for creating/updating inventory equipment.
"""
def changeset(inventory_equipment, attrs) do
inventory_equipment
|> cast(attrs, [
:inventoryitemid, :upgradeslots, :level, :str, :dex, :int, :luk,
:hp, :mp, :watk, :matk, :wdef, :mdef, :acc, :avoid, :hands, :speed, :jump,
:vicioushammer, :itemexp, :durability, :enhance, :potential1, :potential2,
:potential3, :hp_r, :mp_r, :incskill, :charmexp, :pvpdamage
])
|> validate_required([:inventoryitemid])
end
end