feat(isac): add gear mod data management
This commit is contained in:
@@ -684,6 +684,42 @@ CREATE TABLE IF NOT EXISTS weapon_mod_effect_quality_values (
|
||||
value REAL NOT NULL,
|
||||
PRIMARY KEY(effect_id,quality)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS gear_mods (
|
||||
id TEXT PRIMARY KEY,
|
||||
name TEXT NOT NULL,
|
||||
active INTEGER NOT NULL DEFAULT 1 CHECK(active IN (0,1)),
|
||||
created_at TEXT NOT NULL,
|
||||
updated_at TEXT NOT NULL
|
||||
);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS gear_mods_name_nocase_idx ON gear_mods(name COLLATE NOCASE);
|
||||
CREATE TABLE IF NOT EXISTS gear_mod_quality_values (
|
||||
gear_mod_id TEXT NOT NULL REFERENCES gear_mods(id) ON DELETE CASCADE,
|
||||
quality TEXT NOT NULL CHECK(quality IN ('Standard','Specialized','Superior','High-end')),
|
||||
primary_level_1_min REAL NOT NULL,
|
||||
primary_level_1_max REAL NOT NULL,
|
||||
primary_level_20_min REAL NOT NULL,
|
||||
primary_level_20_max REAL NOT NULL,
|
||||
PRIMARY KEY(gear_mod_id,quality),
|
||||
CHECK(primary_level_1_max>=primary_level_1_min),
|
||||
CHECK(primary_level_20_max>=primary_level_20_min),
|
||||
CHECK(primary_level_20_min>=primary_level_1_min),
|
||||
CHECK(primary_level_20_max>=primary_level_1_max)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS gear_mod_secondary_options (
|
||||
gear_mod_id TEXT NOT NULL REFERENCES gear_mods(id) ON DELETE CASCADE,
|
||||
stat_attribute_id TEXT NOT NULL REFERENCES stat_attributes(id),
|
||||
PRIMARY KEY(gear_mod_id,stat_attribute_id)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS gear_mod_secondary_quality_values (
|
||||
gear_mod_id TEXT NOT NULL,
|
||||
stat_attribute_id TEXT NOT NULL,
|
||||
quality TEXT NOT NULL CHECK(quality IN ('Standard','Specialized','Superior','High-end')),
|
||||
min_value REAL NOT NULL,
|
||||
max_value REAL NOT NULL,
|
||||
PRIMARY KEY(gear_mod_id,stat_attribute_id,quality),
|
||||
FOREIGN KEY(gear_mod_id,stat_attribute_id) REFERENCES gear_mod_secondary_options(gear_mod_id,stat_attribute_id) ON DELETE CASCADE,
|
||||
CHECK(max_value>=min_value)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS game_data_icons (
|
||||
entity_type TEXT NOT NULL CHECK(entity_type IN ('talent', 'brand_set', 'os_protocol', 'skill_chip')),
|
||||
entity_id TEXT NOT NULL,
|
||||
|
||||
Reference in New Issue
Block a user