Files
tartarus-app/src/sql/cards.sql

86 lines
3.0 KiB
MySQL
Raw Normal View History

\set title cards
DROP TABLE IF EXISTS cards;
DROP SEQUENCE IF EXISTS cards_record_num_sequence;
CREATE SEQUENCE cards_record_num_sequence;
CREATE SEQUENCE cards_card_id_sequence;
CREATE TABLE cards (
record_num INTEGER PRIMARY KEY DEFAULT nextval('cards_record_num_sequence'),
card_id INTEGER NOT NULL DEFAULT nextval('cards_card_id_sequence'),
data_id VARCHAR(100) NOT NULL,
lore_name VARCHAR(20),
lore_description VARCHAR(255),
placement_flags SMALLINT, -- 2^0 => empty cell, 2^1 => near track, 2^2 => near building, 2^3 => on track
hstore HSTORE, -- Store any kind of card specific data?? resources, minions, enemies generated, etc...
created_timestamp TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
);
DROP TABLE IF EXISTS units;
DROP SEQUENCE IF EXISTS units_record_num_sequence;
DROP SEQUENCE IF EXISTS units_unit_id_sequence;
CREATE SEQUENCE units_record_num_sequence;
CREATE SEQUENCE units_unit_id_sequence;
CREATE TABLE units (
record_num INTEGER PRIMARY KEY DEFAULT nextval('units_record_num_sequence'),
unit_id INTEGER NOT NULL DEFAULT nextval('units_unit_id_sequence'),
data_id VARCHAR(100) NOT NULL,
lore_name VARCHAR(20),
lore_description VARCHAR(255),
attack_damage REAL,
attack_speed REAL,
crit_chance REAL,
crit_damage REAL,
max_health REAL,
movement_speed REAL, --- Should also be responsible for dodge chance.
armor REAL,
armor_shred REAL,
created_timestamp TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
);
DROP TABLE IF EXISTS combos;
DROP SEQUENCE IF EXISTS combos_record_num_sequence;
CREATE SEQUENCE combos_record_num_sequence;
CREATE TABLE combos (
record_num INTEGER PRIMARY KEY DEFAULT nextval('combos_record_num_sequence'),
parent_data_id VARCHAR(100) NOT NULL,
combo_data_id VARCHAR(100) NOT NULL,
result_data_id VARCHAR(100) NOT NULL,
CHECK (parent_data_id <> result_data_id)
);
DROP TABLE IF EXISTS resources;
DROP SEQUENCE IF EXISTS resources_record_num_sequence;
DROP SEQUENCE IF EXISTS resources_resource_id_sequence;
CREATE SEQUENCE resources_record_num_sequence;
CREATE SEQUENCE resources_resource_id_sequence;
CREATE TABLE resources (
record_num INTEGER PRIMARY KEY DEFAULT nextval('resources_record_num_sequence'),
resource_id INTEGER NOT NULL DEFAULT nextval('resources_resource_id_sequence'),
lore_name VARCHAR(30),
lore_description VARCHAR(255),
created_timestamp TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
);
DROP TABLE IF EXISTS themes;
DROP SEQUENCE IF EXISTS themes_record_num_sequence;
DROP SEQUENCE IF EXISTS themes_theme_id_sequence;
CREATE SEQUENCE themes_record_num_sequence;
CREATE SEQUENCE themes_theme_id_sequence;
CREATE TABLE themes (
record_num INTEGER PRIMARY KEY DEFAULT nextval('themes_record_num_sequence'),
theme_id INTEGER DEFAULT nextval('themes_theme_id_sequence'),
name VARCHAR(100),
created_timestamp TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
);