256 lines
10 KiB
Elixir
256 lines
10 KiB
Elixir
defmodule Odinsea.Repo.Migrations.CreateGameDataTables do
|
|
use Ecto.Migration
|
|
|
|
def up do
|
|
# ============================================================================
|
|
# DROP DATA
|
|
# ============================================================================
|
|
|
|
create table(:drop_data) do
|
|
add :dropperid, :integer, null: false
|
|
add :itemid, :integer, null: false, default: 0
|
|
add :minimum_quantity, :integer, null: false, default: 1
|
|
add :maximum_quantity, :integer, null: false, default: 1
|
|
add :questid, :integer, null: false, default: 0
|
|
add :chance, :integer, null: false, default: 0
|
|
end
|
|
|
|
create index(:drop_data, [:dropperid], name: :mobid)
|
|
|
|
create table(:drop_data_global) do
|
|
add :continent, :integer, null: false
|
|
add :droptype, :integer, null: false, default: 0
|
|
add :itemid, :integer, null: false, default: 0
|
|
add :minimum_quantity, :integer, null: false, default: 1
|
|
add :maximum_quantity, :integer, null: false, default: 1
|
|
add :questid, :integer, null: false, default: 0
|
|
add :chance, :integer, null: false, default: 0
|
|
add :comments, :string, size: 45
|
|
end
|
|
|
|
create index(:drop_data_global, [:continent], name: :mobid_global)
|
|
|
|
create table(:reactordrops) do
|
|
add :reactorid, :integer, null: false
|
|
add :itemid, :integer, null: false
|
|
add :chance, :integer, null: false
|
|
add :questid, :integer, null: false, default: -1
|
|
end
|
|
|
|
create index(:reactordrops, [:reactorid])
|
|
|
|
# ============================================================================
|
|
# SHOP DATA
|
|
# ============================================================================
|
|
|
|
create table(:shops) do
|
|
add :npcid, :integer, default: 0
|
|
end
|
|
|
|
create table(:shopitems) do
|
|
add :shopid, :integer, null: false, default: 0
|
|
add :itemid, :integer, null: false, default: 0
|
|
add :price, :integer, null: false, default: 0
|
|
add :position, :integer, null: false, default: 0
|
|
add :reqitem, :integer, null: false, default: 0
|
|
add :reqitemq, :integer, null: false, default: 0
|
|
add :rank, :integer, null: false, default: 0
|
|
end
|
|
|
|
create index(:shopitems, [:shopid])
|
|
|
|
create table(:shopranks) do
|
|
add :shopid, :integer, null: false, default: 0
|
|
add :rank, :integer, null: false, default: 0
|
|
add :name, :string, size: 255, null: false, default: ""
|
|
add :itemid, :integer, null: false, default: 0
|
|
end
|
|
|
|
# ============================================================================
|
|
# WZ DATA TABLES (GAME DATA)
|
|
# ============================================================================
|
|
|
|
create table(:wz_itemdata) do
|
|
add :itemid, :integer, null: false, primary_key: true
|
|
add :name, :string, size: 255
|
|
add :msg, :string, size: 4096
|
|
add :desc, :string, size: 4096
|
|
add :slotmax, :integer, null: false, default: 1
|
|
add :price, :string, size: 255, null: false, default: "-1.0"
|
|
add :wholeprice, :integer, null: false, default: -1
|
|
add :statechange, :integer, null: false, default: 0
|
|
add :flags, :integer, null: false, default: 0
|
|
add :karma, :boolean, null: false, default: false
|
|
add :meso, :integer, null: false, default: 0
|
|
add :monsterbook, :integer, null: false, default: 0
|
|
add :itemmakelevel, :integer, null: false, default: 0
|
|
add :questid, :integer, null: false, default: 0
|
|
add :scrollreqs, :string, size: 255
|
|
add :consumeitem, :string, size: 255
|
|
add :totalprob, :integer, null: false, default: 0
|
|
add :incskill, :string, size: 255, null: false, default: ""
|
|
add :replaceid, :integer, null: false, default: 0
|
|
add :replacemsg, :string, size: 255, null: false, default: ""
|
|
add :create, :integer, null: false, default: 0
|
|
add :afterimage, :string, size: 255, null: false, default: ""
|
|
end
|
|
|
|
create table(:wz_itemadddata) do
|
|
add :itemid, :integer, null: false
|
|
add :key, :string, size: 30, null: false
|
|
add :value1, :integer, null: false, default: 0
|
|
add :value2, :integer, null: false, default: 0
|
|
end
|
|
|
|
create table(:wz_itemequipdata) do
|
|
add :itemid, :integer, null: false
|
|
add :itemlevel, :integer, null: false, default: -1
|
|
add :key, :string, size: 30, null: false
|
|
add :value, :integer, null: false, default: 0
|
|
end
|
|
|
|
create table(:wz_itemrewarddata) do
|
|
add :itemid, :integer, null: false
|
|
add :item, :integer, null: false
|
|
add :prob, :integer, null: false, default: 0
|
|
add :quantity, :integer, null: false, default: 0
|
|
add :period, :integer, null: false, default: -1
|
|
add :worldmsg, :string, size: 255, null: false, default: ""
|
|
add :effect, :string, size: 255, null: false, default: ""
|
|
end
|
|
|
|
create table(:wz_questdata) do
|
|
add :questid, :integer, null: false, primary_key: true
|
|
add :name, :string, size: 1024, null: false, default: ""
|
|
add :autostart, :boolean, null: false, default: false
|
|
add :autoprecomplete, :boolean, null: false, default: false
|
|
add :viewmedalitem, :integer, null: false, default: 0
|
|
add :selectedskillid, :integer, null: false, default: 0
|
|
add :blocked, :boolean, null: false, default: false
|
|
add :autoaccept, :boolean, null: false, default: false
|
|
add :autocomplete, :boolean, null: false, default: false
|
|
end
|
|
|
|
create table(:wz_questactdata) do
|
|
add :questid, :integer, null: false, default: 0
|
|
add :name, :string, size: 127, null: false, default: ""
|
|
add :type, :integer, null: false, default: 0
|
|
add :intstore, :integer, null: false, default: 0
|
|
add :applicablejobs, :string, size: 1024, null: false, default: ""
|
|
add :uniqueid, :integer, null: false, default: 0
|
|
end
|
|
|
|
create index(:wz_questactdata, [:questid], name: :wz_questactdata_questid_index)
|
|
|
|
create table(:wz_questactitemdata) do
|
|
add :itemid, :integer, null: false, default: 0
|
|
add :count, :integer, null: false, default: 0
|
|
add :period, :integer, null: false, default: 0
|
|
add :gender, :integer, null: false, default: 2
|
|
add :job, :integer, null: false, default: -1
|
|
add :jobex, :integer, null: false, default: -1
|
|
add :prop, :integer, null: false, default: -1
|
|
add :uniqueid, :integer, null: false, default: 0
|
|
end
|
|
|
|
create table(:wz_questactquestdata) do
|
|
add :quest, :integer, null: false, default: 0
|
|
add :state, :integer, null: false, default: 2
|
|
add :uniqueid, :integer, null: false, default: 0
|
|
end
|
|
|
|
create table(:wz_questactskilldata) do
|
|
add :skillid, :integer, null: false, default: 0
|
|
add :skilllevel, :integer, null: false, default: -1
|
|
add :masterlevel, :integer, null: false, default: -1
|
|
add :uniqueid, :integer, null: false, default: 0
|
|
end
|
|
|
|
create table(:wz_questreqdata) do
|
|
add :questid, :integer, null: false, default: 0
|
|
add :name, :string, size: 127, null: false, default: ""
|
|
add :type, :integer, null: false, default: 0
|
|
add :stringstore, :string, size: 1024, null: false, default: ""
|
|
add :intstoresfirst, :string, size: 1024, null: false, default: ""
|
|
add :intstoressecond, :string, size: 1024, null: false, default: ""
|
|
end
|
|
|
|
create index(:wz_questreqdata, [:questid], name: :wz_questreqdata_questid_index)
|
|
|
|
create table(:wz_questpartydata) do
|
|
add :questid, :integer, null: false, default: 0
|
|
add :rank, :string, size: 1, null: false, default: ""
|
|
add :mode, :string, size: 13, null: false, default: ""
|
|
add :property, :string, size: 255, null: false, default: ""
|
|
add :value, :integer, null: false, default: 0
|
|
end
|
|
|
|
create index(:wz_questpartydata, [:questid], name: :wz_questpartydata_questid_index)
|
|
|
|
create table(:wz_mobskilldata) do
|
|
add :skillid, :integer, null: false
|
|
add :level, :integer, null: false
|
|
add :hp, :integer, null: false, default: 100
|
|
add :mpcon, :integer, null: false, default: 0
|
|
add :x, :integer, null: false, default: 1
|
|
add :y, :integer, null: false, default: 1
|
|
add :time, :integer, null: false, default: 0
|
|
add :prop, :integer, null: false, default: 100
|
|
add :limit, :integer, null: false, default: 0
|
|
add :spawneffect, :integer, null: false, default: 0
|
|
add :interval, :integer, null: false, default: 0
|
|
add :summons, :string, size: 1024, null: false, default: ""
|
|
add :ltx, :integer, null: false, default: 0
|
|
add :lty, :integer, null: false, default: 0
|
|
add :rbx, :integer, null: false, default: 0
|
|
add :rby, :integer, null: false, default: 0
|
|
add :once, :boolean, null: false, default: false
|
|
end
|
|
|
|
create table(:wz_oxdata) do
|
|
add :questionset, :integer, null: false, default: 0
|
|
add :questionid, :integer, null: false, default: 0
|
|
add :question, :string, size: 200, null: false, default: ""
|
|
add :display, :string, size: 200, null: false, default: ""
|
|
add :answer, :string, size: 1, null: false
|
|
end
|
|
|
|
create unique_index(:wz_oxdata, [:questionset, :questionid])
|
|
|
|
# ============================================================================
|
|
# SERVER CONFIG
|
|
# ============================================================================
|
|
|
|
create table(:auth_server_channel_ip) do
|
|
add :channelid, :integer, null: false, default: 0
|
|
add :name, :string, size: 255, null: false
|
|
add :value, :string, size: 255, null: false
|
|
end
|
|
|
|
create index(:auth_server_channel_ip, [:channelid])
|
|
end
|
|
|
|
def down do
|
|
drop table(:auth_server_channel_ip)
|
|
drop table(:wz_oxdata)
|
|
drop table(:wz_mobskilldata)
|
|
drop table(:wz_questpartydata)
|
|
drop table(:wz_questreqdata)
|
|
drop table(:wz_questactskilldata)
|
|
drop table(:wz_questactquestdata)
|
|
drop table(:wz_questactitemdata)
|
|
drop table(:wz_questactdata)
|
|
drop table(:wz_questdata)
|
|
drop table(:wz_itemrewarddata)
|
|
drop table(:wz_itemequipdata)
|
|
drop table(:wz_itemadddata)
|
|
drop table(:wz_itemdata)
|
|
drop table(:shopranks)
|
|
drop table(:shopitems)
|
|
drop table(:shops)
|
|
drop table(:reactordrops)
|
|
drop table(:drop_data_global)
|
|
drop table(:drop_data)
|
|
end
|
|
end
|