Add Essence 520 race/class reference data, starters, and lvlupgain.
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
-- Справочники рас/классов и стартовые наборы (L2J / Essence, protocol 520).
|
||||
-- Основные шаблоны всё равно в XML datapack; это минимум для БД и отладки.
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ref_races (
|
||||
race_id SMALLINT NOT NULL PRIMARY KEY,
|
||||
code VARCHAR(20) NOT NULL UNIQUE,
|
||||
name_en VARCHAR(40) NOT NULL,
|
||||
name_ru VARCHAR(40) NOT NULL,
|
||||
enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
spawn_x INTEGER NOT NULL,
|
||||
spawn_y INTEGER NOT NULL,
|
||||
spawn_z INTEGER NOT NULL,
|
||||
spawn_heading INTEGER NOT NULL DEFAULT 0
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ref_classes (
|
||||
class_id INTEGER NOT NULL PRIMARY KEY,
|
||||
code VARCHAR(40) NOT NULL,
|
||||
name_en VARCHAR(60) NOT NULL,
|
||||
name_ru VARCHAR(60) NOT NULL,
|
||||
race_id SMALLINT NOT NULL REFERENCES ref_races (race_id),
|
||||
parent_id INTEGER REFERENCES ref_classes (class_id),
|
||||
class_level SMALLINT NOT NULL DEFAULT 0,
|
||||
is_mage BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
is_summoner BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
can_create BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
sex_restrict SMALLINT NOT NULL DEFAULT 0,
|
||||
CONSTRAINT chk_sex_restrict CHECK (sex_restrict IN (0, 1, 2))
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_ref_classes_race ON ref_classes (race_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_ref_classes_parent ON ref_classes (parent_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_ref_classes_create ON ref_classes (can_create) WHERE can_create;
|
||||
|
||||
-- Совместимость со старыми инсталляторами L2J
|
||||
CREATE TABLE IF NOT EXISTS class_list (
|
||||
id INTEGER NOT NULL PRIMARY KEY,
|
||||
class_name VARCHAR(40) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS starter_equipment (
|
||||
id SERIAL PRIMARY KEY,
|
||||
class_id INTEGER NOT NULL REFERENCES ref_classes (class_id),
|
||||
sex SMALLINT NOT NULL DEFAULT 0,
|
||||
item_id INTEGER NOT NULL,
|
||||
amount BIGINT NOT NULL DEFAULT 1,
|
||||
enchant_level INTEGER NOT NULL DEFAULT 0,
|
||||
equipped BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
paperdoll_slot SMALLINT NOT NULL DEFAULT 0,
|
||||
UNIQUE (class_id, sex, item_id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS starter_skills (
|
||||
class_id INTEGER NOT NULL REFERENCES ref_classes (class_id),
|
||||
skill_id INTEGER NOT NULL,
|
||||
skill_level INTEGER NOT NULL DEFAULT 1,
|
||||
PRIMARY KEY (class_id, skill_id)
|
||||
);
|
||||
|
||||
-- Упрощённые приросты HP/MP на 1–20 ур. (если сервер читает из БД)
|
||||
CREATE TABLE IF NOT EXISTS lvlupgain (
|
||||
class_id INTEGER NOT NULL,
|
||||
level SMALLINT NOT NULL,
|
||||
hp_gain DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||
mp_gain DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||
cp_gain DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (class_id, level)
|
||||
);
|
||||
Reference in New Issue
Block a user