parent
e29499bbc3
commit
f11b5b28bf
@ -0,0 +1 @@ |
||||
DISCORD_TOKEN=MTAyODUyNDI3NDIzMjg2ODkyNg.GRkc8K.3IJk3BTDR4sQOyVExvZOUQ5lsgrbJNO97Lz1Pw |
@ -0,0 +1,5 @@ |
||||
databaseChangeLog: |
||||
- includeAll: |
||||
path: migrations |
||||
relativeToChangelogFile: true |
||||
errorIfMissingOrEmpty: true |
Binary file not shown.
Binary file not shown.
@ -0,0 +1,7 @@ |
||||
# PostgreSQL |
||||
classpath: lib/postgresql-42.5.0.jar |
||||
driver: org.postgresql.Driver |
||||
url: jdbc:postgresql://free-tier11.gcp-us-east1.cockroachlabs.cloud:26257/nomrpg-chesting?options=--cluster%3Ddeliciousreya-nom-rpg-2220&sslmode=verify-full |
||||
username: reya |
||||
changeLogFile: configuration.yml |
||||
liquibase.hub.mode=off |
@ -0,0 +1,215 @@ |
||||
--liquibase formatted sql |
||||
|
||||
--changeset reya:users_table runInTransaction:false |
||||
CREATE TABLE IF NOT EXISTS users |
||||
( |
||||
id UUID NOT NULL PRIMARY KEY DEFAULT gen_random_uuid(), |
||||
discord_snowflake INT NOT NULL, |
||||
INDEX discord_users (discord_snowflake) |
||||
); |
||||
--rollback DROP TABLE IF EXISTS users; |
||||
|
||||
--changeset reya:types_table runInTransaction:false |
||||
CREATE TABLE IF NOT EXISTS types |
||||
( |
||||
id INT NOT NULL PRIMARY KEY, |
||||
name STRING NOT NULL, |
||||
color STRING NOT NULL, |
||||
display_order INT NOT NULL, |
||||
immunities INT[] NOT NULL DEFAULT '{}', |
||||
resistances INT[] NOT NULL DEFAULT '{}', |
||||
weaknesses INT[] NOT NULL DEFAULT '{}' |
||||
); |
||||
--rollback DROP TABLE IF EXISTS types; |
||||
|
||||
--changeset reya:types_values runInTransaction:true |
||||
INSERT INTO types (id, name, color, display_order) |
||||
VALUES (0, 'Basic', '', 0), |
||||
(1, 'Sassy', '', 1), |
||||
(2, 'Gentle', '', 2), |
||||
(3, 'Sexy', '', 3), |
||||
(4, 'Muscle', '', 4), |
||||
(5, 'Glam', '', 5), |
||||
(6, 'Punk', '', 6), |
||||
(7, 'Glutton', '', 7), |
||||
(8, 'Dumb', '', 8), |
||||
(9, 'Drone', '', 9), |
||||
(10, 'Spooky', '', 10), |
||||
(11, 'Lively', '', 11), |
||||
(12, 'Smart', '', 12), |
||||
(13, 'Cool', '', 13), |
||||
(14, 'Bully', '', 14), |
||||
(15, 'Mythic', '', 15), |
||||
(16, 'Toy', '', 16), |
||||
(17, 'Cute', '', 17); |
||||
--rollback DELETE FROM types WHERE id in (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) |
||||
|
||||
--changeset reya:difficulties_table runInTransaction:false |
||||
CREATE TABLE IF NOT EXISTS difficulties |
||||
( |
||||
id INT NOT NULL PRIMARY KEY, |
||||
name STRING NOT NULL, |
||||
description STRING NOT NULL, |
||||
display_order INT NOT NULL, |
||||
endo_only BOOLEAN NOT NULL DEFAULT false, |
||||
regenerate_talent BOOLEAN NOT NULL DEFAULT false, |
||||
lose_proficiency_percent FLOAT NOT NULL DEFAULT 0, |
||||
lose_exp_percent FLOAT NOT NULL DEFAULT 0, |
||||
lose_money_percent FLOAT NOT NULL DEFAULT 0, |
||||
allow_reformation BOOLEAN NOT NULL DEFAULT true |
||||
); |
||||
--rollback DROP TABLE IF EXISTS difficulties; |
||||
|
||||
--changeset reya:difficulties_values runInTransaction:true |
||||
INSERT INTO difficulties |
||||
(id, name, description, display_order, endo_only, regenerate_talent, lose_proficiency_percent, lose_exp_percent, |
||||
lose_money_percent, allow_reformation) |
||||
VALUES (0, 'Endo Only', 'You can never be digested. You always come out sooner or later.', 0, true, false, 0, 0, 0, |
||||
true), |
||||
(1, 'Very Safe', |
||||
'You''ll be completely safe. The only downsides to being digested? Inconvenience. And smug predators.', 1, |
||||
false, false, 0, 0, 0, true), |
||||
(2, 'Safe', |
||||
'Your noggin will get rattled around, sure, and you might drop some of your cash, but it''s a small price to pay for being able to come back.', |
||||
2, false, true, 10, 0, 10, true), |
||||
(3, 'Risky', |
||||
'Getting digested is going to mess with your head, for sure. You''ll come back a bit weakened from the experience, and your wallet will notice. This is the recommended difficulty.', |
||||
3, false, true, 25, 10, 25, true), |
||||
(4, 'Dangerous', |
||||
'Digestion is something to be avoided at all costs. You''ll lose half your money, your stats will have atrophied, and you''ll lose some of your memories.', |
||||
4, false, true, 50, 25, 50, true), |
||||
(5, 'Very Dangerous', |
||||
'Being a meal is not just humiliating - it''s a nightmare. You''re lucky you get to hold on to anything.', 5, |
||||
false, true, 90, 50, 90, true), |
||||
(6, 'Extremely Dangerous', |
||||
'If you get devoured and you don''t get out, you''ll lose just about everything. Be very, very careful...', 6, |
||||
false, true, 100, 100, 100, true), |
||||
(7, 'Impossible', |
||||
'There is nothing to look forward to after digestion but an eternity on someone else''s thighs. When you''re digested, your life is over. There''s no coming back. Ever.', |
||||
7, false, true, 100, 100, 100, false); |
||||
--rollback DELETE FROM difficulties WHERE id IN (0, 1, 2, 3, 4, 5, 6, 7); |
||||
|
||||
--changeset reya:preferences_table runInTransaction:false |
||||
CREATE TABLE IF NOT EXISTS preferences |
||||
( |
||||
id INT NOT NULL PRIMARY KEY, |
||||
name STRING NOT NULL, |
||||
description STRING NOT NULL, |
||||
display_order INT NOT NULL, |
||||
can_use_vore BOOLEAN NOT NULL, |
||||
can_receive_vore BOOLEAN NOT NULL |
||||
); |
||||
--rollback DROP TABLE IF EXISTS preferences; |
||||
|
||||
--changeset reya:preferences_values runInTransaction:true |
||||
INSERT INTO preferences (id, name, description, display_order, can_use_vore, can_receive_vore) |
||||
VALUES (0, 'Observer', 'You can neither eat nor be eaten.', 0, false, false), |
||||
(1, 'Prey Only', 'You can only be eaten, not eat.', 1, false, true), |
||||
(2, 'Pred Only', 'You can only eat, not be eaten.', 2, true, false), |
||||
(3, 'Switch', 'You can both eat and be eaten.', 3, true, true); |
||||
--rollback DELETE FROM preferences WHERE id IN (0, 1, 2, 3); |
||||
|
||||
--changeset reya:genders_table runInTransaction:false |
||||
CREATE TABLE IF NOT EXISTS genders |
||||
( |
||||
id INT NOT NULL PRIMARY KEY, |
||||
name STRING NOT NULL, |
||||
display_order INT NOT NULL, |
||||
use_plural BOOLEAN NOT NULL, |
||||
subjective STRING NOT NULL, |
||||
adjective STRING NOT NULL, |
||||
possessive STRING NOT NULL, |
||||
reflexive STRING NOT NULL, |
||||
objective STRING NOT NULL |
||||
); |
||||
--rollback DROP TABLE IF EXISTS genders; |
||||
|
||||
--changeset reya:genders_values runInTransaction:true |
||||
INSERT INTO genders (id, name, display_order, use_plural, subjective, adjective, possessive, reflexive, objective) |
||||
VALUES (0, 'Non-binary (name only)', 0, false, '@@', '@@''s', '@@''s', '@@''s self', '@@'), |
||||
(1, 'Female (she/her)', 1, false, 'she', 'her', 'hers', 'herself', 'her'), |
||||
(2, 'Non-binary (they/them)', 2, true, 'they', 'their', 'theirs', 'themself', 'them'), |
||||
(3, 'Male (he/him)', 3, false, 'he', 'his', 'his', 'himself', 'him'), |
||||
(4, 'Object (it/its)', 4, false, 'it', 'its', 'its', 'itself', 'it'), |
||||
(5, 'Herm (shi/hir)', 5, false, 'shi', 'hir', 'hirs', 'hirself', 'hir'), |
||||
(6, 'Non-binary (ae/aer)', 6, false, 'ae', 'aer', 'aers', 'aerself', 'aer'), |
||||
(7, 'Non-binary (fae/faer)', 7, false, 'fae', 'faer', 'faers', 'faerself', 'faer'), |
||||
(8, 'Non-binary (e/em)', 8, false, 'e', 'eir', 'eirs', 'emself', 'em'), |
||||
(9, 'Non-binary (ey/em)', 9, false, 'ey', 'eir', 'eirs', 'emself', 'em'), |
||||
(10, 'Non-binary (per/per)', 10, false, 'per', 'pers', 'pers', 'perself', 'per'), |
||||
(11, 'Non-binary (ve/ver)', 11, false, 've', 'vis', 'vis', 'verself', 'ver'), |
||||
(12, 'Non-binary (xe/xem)', 12, false, 'xe', 'xyr', 'xyrs', 'xemself', 'xem'), |
||||
(13, 'Non-binary (ze/hir)', 13, false, 'ze', 'hir', 'hirs', 'hirself', 'hir'), |
||||
(14, 'Non-binary (zie/hir)', 14, false, 'zie', 'hir', 'hirs', 'hirself', 'hir'), |
||||
(15, 'Non-binary (zie/zim)', 15, false, 'zie', 'zir', 'zis', 'zieself', 'zim'), |
||||
(16, 'Non-binary (sie/sie)', 16, false, 'sie', 'hir', 'hirs', 'hirself', 'sie'), |
||||
(17, 'Non-binary (te/ter)', 17, false, 'te', 'tem', 'ters', 'terself', 'ter'); |
||||
--rollback DELETE FROM genders WHERE id IN (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17); |
||||
|
||||
--changeset reya:characters_table runInTransaction:false |
||||
CREATE TABLE IF NOT EXISTS characters |
||||
( |
||||
id UUID NOT NULL PRIMARY KEY, |
||||
user_id UUID NOT NULL REFERENCES users (id) ON DELETE CASCADE, |
||||
name STRING NOT NULL, |
||||
title STRING NOT NULL, |
||||
profile STRING NOT NULL, |
||||
gender_id INT NOT NULL REFERENCES genders (id) ON DELETE RESTRICT, |
||||
difficulty_id INT NOT NULL REFERENCES difficulties (id) ON DELETE RESTRICT, |
||||
preference_id INT NOT NULL REFERENCES preferences (id) ON DELETE RESTRICT, |
||||
type1_id INT NOT NULL REFERENCES types (id) ON DELETE RESTRICT, |
||||
type2_id INT NOT NULL REFERENCES types (id) ON DELETE RESTRICT, |
||||
experience INT NOT NULL DEFAULT 0, |
||||
money INT NOT NULL DEFAULT 0, |
||||
|
||||
-- stats: base |
||||
base_confidence INT NOT NULL DEFAULT 70, |
||||
base_health INT NOT NULL DEFAULT 70, |
||||
base_stamina INT NOT NULL DEFAULT 70, |
||||
base_brawn INT NOT NULL DEFAULT 70, |
||||
base_durability INT NOT NULL DEFAULT 70, |
||||
base_intensity INT NOT NULL DEFAULT 70, |
||||
base_resilience INT NOT NULL DEFAULT 70, |
||||
base_speed INT NOT NULL DEFAULT 70, |
||||
-- stats: banked talent points |
||||
min_confidence_talent INT NOT NULL DEFAULT 0, |
||||
min_health_talent INT NOT NULL DEFAULT 0, |
||||
min_stamina_talent INT NOT NULL DEFAULT 0, |
||||
min_brawn_talent INT NOT NULL DEFAULT 0, |
||||
min_durability_talent INT NOT NULL DEFAULT 0, |
||||
min_intensity_talent INT NOT NULL DEFAULT 0, |
||||
min_resilience_talent INT NOT NULL DEFAULT 0, |
||||
min_speed_talent INT NOT NULL DEFAULT 0, |
||||
-- stats: current talent points |
||||
confidence_talent INT NOT NULL DEFAULT floor(random() * 32)::INT, --min_confidence_talent + floor(random() * (32 - min_confidence_talent)), |
||||
health_talent INT NOT NULL DEFAULT floor(random() * 32)::INT, --min_health_talent + floor(random() * (32 - min_health_talent)), |
||||
stamina_talent INT NOT NULL DEFAULT floor(random() * 32)::INT, --min_stamina_talent + floor(random() * (32 - min_stamina_talent)), |
||||
brawn_talent INT NOT NULL DEFAULT floor(random() * 32)::INT, --min_brawn_talent + floor(random() * (32 - min_brawn_talent)), |
||||
durability_talent INT NOT NULL DEFAULT floor(random() * 32)::INT, --min_durability_talent + floor(random() * (32 - min_durability_talent)), |
||||
intensity_talent INT NOT NULL DEFAULT floor(random() * 32)::INT, --min_intensity_talent + floor(random() * (32 - min_intensity_talent)), |
||||
resilience_talent INT NOT NULL DEFAULT floor(random() * 32)::INT, --min_resilience_talent + floor(random() * (32 - min_resilience_talent)), |
||||
speed_talent INT NOT NULL DEFAULT floor(random() * 32)::INT, --min_speed_talent + floor(random() * (32 - min_speed_talent)), |
||||
-- stats: current proficiency points |
||||
confidence_proficiency INT NOT NULL DEFAULT 0, |
||||
health_proficiency INT NOT NULL DEFAULT 0, |
||||
stamina_proficiency INT NOT NULL DEFAULT 0, |
||||
brawn_proficiency INT NOT NULL DEFAULT 0, |
||||
durability_proficiency INT NOT NULL DEFAULT 0, |
||||
intensity_proficiency INT NOT NULL DEFAULT 0, |
||||
resilience_proficiency INT NOT NULL DEFAULT 0, |
||||
speed_proficiency INT NOT NULL DEFAULT 0, |
||||
|
||||
FAMILY character_base (id, user_id, name, title, profile, gender_id, type1_id, type2_id, base_confidence, |
||||
base_health, |
||||
base_stamina, base_brawn, base_durability, base_intensity, base_resilience, base_speed), |
||||
FAMILY character_reformation_stats ( |
||||
min_confidence_talent, min_health_talent, min_stamina_talent, min_brawn_talent, |
||||
min_durability_talent, min_intensity_talent, min_resilience_talent, |
||||
min_speed_talent, |
||||
confidence_talent, health_talent, stamina_talent, brawn_talent, |
||||
durability_talent, intensity_talent, resilience_talent, speed_talent), |
||||
FAMILY character_live_stats (difficulty_id, preference_id, experience, money, confidence_proficiency, |
||||
health_proficiency, stamina_proficiency, brawn_proficiency, durability_proficiency, |
||||
intensity_proficiency, resilience_proficiency, speed_proficiency) |
||||
); |
||||
--rollback DROP TABLE IF EXISTS characters_table; |
Loading…
Reference in new issue