From 6c50cb7dd69060c9262824e03361766e93b11939 Mon Sep 17 00:00:00 2001 From: kozhilya Date: Fri, 11 Apr 2025 11:50:08 +0400 Subject: [PATCH] =?UTF-8?q?=D0=92=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD?= =?UTF-8?q?=D0=BE=D0=B5=20=D1=81=D0=BE=D1=85=D1=80=D0=B0=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=81=D1=85=D0=B5=D0=BC=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dbml/schema.dbml | 250 +++++++++++++++++++++++++---------------------- 1 file changed, 131 insertions(+), 119 deletions(-) diff --git a/dbml/schema.dbml b/dbml/schema.dbml index f793912..2afebd0 100644 --- a/dbml/schema.dbml +++ b/dbml/schema.dbml @@ -60,7 +60,8 @@ Table source { Table entity_sources { entity_id int [ref: > entity.id] source_id int [ref: > source.id] - suffix varchar [default: ""] + suffix varchar [default: "", note: "Для источников Foundry - полный UUID объекта"] + md5 varchar [not null, note: "Для контроля обновлений"] } // External links @@ -113,6 +114,7 @@ Table language { rarity entity_rarity } +// Trainings // ---------------------------------------------- @@ -149,7 +151,7 @@ Enum action_category { familiar } -// Ancestery +// Ancestry Table ancestry { id int [pk, ref: - entity.id] @@ -164,16 +166,14 @@ Table ancestry { Перенаправление: {}.publication -> entity_sources {}.traits -> entity_traits - {}.languages -> ancestry_languages + {}.additionalLanguages -> ancestry_languages + {}.languages -> ancestry_languages + {}.boosts -> ancestry_boosts {}.flaws -> ancestry_boosts - Рассмотреть: - {}.items - TODO добавить в определение dict-типа - - Не использованы поля: - {}.additionalLanguages + {}.items -> ancestry_items ''' } Enum ancestry_size { @@ -190,74 +190,19 @@ Enum ancestry_vision { Table ancestry_languages { ancestry_id int [pk, ref: > ancestry.id] language_id int [pk, ref: > language.id] - additional bool [not null] + is_additional bool [not null] } Table ancestry_boosts { id int [pk, increment] ancestry_id int [ref: > ancestry.id] boost bool [not null, default: true, note: "false = flaw"] value varchar(3) [null, note: "null = free boost (all 6 values in foundry)"] - - } +Table ancestry_items { + ancestry_id int [pk, ref: > ancestry.id] + item_id int [pk, ref: > entity.id] + level int [not null] -// Armor -Table armor { - id int [pk, ref: - entity.id] - - ac_bonus int [not null, note: "{}.acBonus"] - strength int [null, note: "{}.strength"] - check_penalty int [not null, note: "{}.checkPenalty"] - dex_cap int [not null, note: "{}.dexCap"] - speed_penalty int [not null, note: "{}.speedPenalty"] - - bulk float [not null, note: "{}.bulk"] - category armor_category [not null, note: "{}.category"] - group armor_group [null, note: "{}.group"] // 16 без группы - level int [not null, note: "{}.level.value"] - price int [not null, note: "price({}.price.value)"] - size armor_size [not null, note: "{}.size"] - - Note: '''{} = Item.armor.system - - Перенаправление: - {}.publication -> entity_sources - {}.traits -> entity_traits - - Рассмотреть: - {}.base_item - возможно связь на себя - {}.material - {}.runes - {}.specific - - Не использованы поля: - {}.containerId - пустое - {}.hardness - всегда 0 - {}.hp - всегда 0 - {}.quantity - всегда 1 - - ''' -} -Enum armor_category { - light - heavy - medium - light_barding // light-barding - heavy_barding // heavy-barding - unarmored -} -Enum armor_group { - leather - plate - wood - chain - cloth - skeletal - composite -} -Enum armor_size { - med - lg } // Background @@ -267,14 +212,12 @@ Table background { Note: '''{} = Item.background.system Перенаправление: + {}.boosts -> background_boosts {}.publication -> entity_sources {}.traits -> entity_traits {}.items -> background_items {}.trainedSkills -> background_skills - Рассмотреть: - {}.boosts - Не использованы поля: ''' } @@ -284,8 +227,7 @@ Table background_items { entity_id int [ref: > entity.id, note: "{}.name"] level int [note: "{}.level"] - name string [note: "{}.name (?)"] - + // name string [note: "{}.name (?)"] Note: "{} = Item.background.system.items" } @@ -298,55 +240,23 @@ Table background_skills { Note: "{} = Item.background.system.items.[lore|value]" } - -// Backpack -Table backpack { - id int [pk, ref: - entity.id] - - level int [note: "{}.bulk.level.value"] - - capacity int [note: "{}.bulk.heldOrStowed"] - heldOrStowed float [note: "{}.bulk.heldOrStowed"] - ignored int [note: "{}.bulk.ignored"] - value float [note: "{}.bulk.value"] - hardness int [note: "{}.bulk.hardness"] - quantity int [note: "{}.bulk.quantity"] - - price int [note: "price({}.price.value)"] - size varchar [note: "{}.bulk.size (always med)"] - stowing bool [note: "{}.stowing"] - usage - - Note: '''{} = Item.backpack.system - - Перенаправление: - {}.publication -> entity_sources - {}.traits -> entity_traits - - Рассмотреть: - {}.material - - Не использованы поля: - {}.collapsed - всегда false - ''' -} -Enum backpack_usage { - wornbackpack - held_in_two_hands // held-in-two-hands - worn - held_in_one_hand // held-in-one-hand - worngarment +Table background_boosts { + id int [pk, increment] + background_id int [ref: > background.id] + value varchar(3) [null, note: "null = free boost (all 6 values in foundry)"] } // Campaign Feature Table campaign_feature { id int [pk, ref: - entity.id] - level int [note: "{}.level"] + level int [null, note: "{}.level"] - type action_type [note: "{}.actionType"] - action int [note: "{}.actions"] + type action_type [not null, note: "{}.actionType"] + actions int [note: "{}.actions"] category campaign_feature_category [note: "{}.category"] + + prerequisites varchar [null, note: "{}.prerequisites"] Note: '''{} = Item.campaignFeature.system @@ -360,16 +270,17 @@ Table campaign_feature { но, похоже, просто одиночное value Не использованы поля: + {}.campaign - всегда "kingmaker" {}.requirements - всегда пустое {}.trigger - всегда пустое ''' } Enum campaign_feature_category { - army_tactic // army-tactic - army_war_action // army-war-action + army_tactic // army-tactic + army_war_action // army-war-action kingdom_activity // kingdom-activity - kingdom_feat // kingdom-feat - kingdom_feature // kingdom-feature + kingdom_feat // kingdom-feat + kingdom_feature // kingdom-feature } // Class @@ -621,6 +532,7 @@ Table spell_ritual { +// effect??? /* Table template { @@ -639,8 +551,108 @@ Table template { } */ +// ----------------------------------------------------------- + +// Armor +Table armor { + id int [pk, ref: - entity.id] + + ac_bonus int [not null, note: "{}.acBonus"] + strength int [null, note: "{}.strength"] + check_penalty int [not null, note: "{}.checkPenalty"] + dex_cap int [not null, note: "{}.dexCap"] + speed_penalty int [not null, note: "{}.speedPenalty"] + + bulk float [not null, note: "{}.bulk"] + category armor_category [not null, note: "{}.category"] + group armor_group [null, note: "{}.group"] // 16 без группы + level int [not null, note: "{}.level.value"] + price int [not null, note: "price({}.price.value)"] + size armor_size [not null, note: "{}.size"] + + Note: '''{} = Item.armor.system + + Перенаправление: + {}.publication -> entity_sources + {}.traits -> entity_traits + + Рассмотреть: + {}.base_item - возможно связь на себя + {}.material + {}.runes + {}.specific + + Не использованы поля: + {}.containerId - пустое + {}.hardness - всегда 0 + {}.hp - всегда 0 + {}.quantity - всегда 1 + + ''' +} +Enum armor_category { + light + heavy + medium + light_barding // light-barding + heavy_barding // heavy-barding + unarmored +} +Enum armor_group { + leather + plate + wood + chain + cloth + skeletal + composite +} +Enum armor_size { + med + lg +} + +// Backpack +Table backpack { + id int [pk, ref: - entity.id] + + level int [note: "{}.bulk.level.value"] + + capacity int [note: "{}.bulk.heldOrStowed"] + heldOrStowed float [note: "{}.bulk.heldOrStowed"] + ignored int [note: "{}.bulk.ignored"] + value float [note: "{}.bulk.value"] + hardness int [note: "{}.bulk.hardness"] + quantity int [note: "{}.bulk.quantity"] + + price int [note: "price({}.price.value)"] + size varchar [note: "{}.bulk.size (always med)"] + stowing bool [note: "{}.stowing"] + usage + + Note: '''{} = Item.backpack.system + + Перенаправление: + {}.publication -> entity_sources + {}.traits -> entity_traits + + Рассмотреть: + {}.material + + Не использованы поля: + {}.collapsed - всегда false + ''' +} +Enum backpack_usage { + wornbackpack + held_in_two_hands // held-in-two-hands + worn + held_in_one_hand // held-in-one-hand + worngarment +} + + // consumable -> equipment? -// effect??? // equipment // kit -> equipment // shield -> equipment