Временное сохранение схемы

This commit is contained in:
2025-04-11 11:50:08 +04:00
parent 0e72b0afa7
commit 6c50cb7dd6
+131 -119
View File
@@ -60,7 +60,8 @@ Table source {
Table entity_sources { Table entity_sources {
entity_id int [ref: > entity.id] entity_id int [ref: > entity.id]
source_id int [ref: > source.id] source_id int [ref: > source.id]
suffix varchar [default: ""] suffix varchar [default: "", note: "Для источников Foundry - полный UUID объекта"]
md5 varchar [not null, note: "Для контроля обновлений"]
} }
// External links // External links
@@ -113,6 +114,7 @@ Table language {
rarity entity_rarity rarity entity_rarity
} }
// Trainings
// ---------------------------------------------- // ----------------------------------------------
@@ -149,7 +151,7 @@ Enum action_category {
familiar familiar
} }
// Ancestery // Ancestry
Table ancestry { Table ancestry {
id int [pk, ref: - entity.id] id int [pk, ref: - entity.id]
@@ -164,16 +166,14 @@ Table ancestry {
Перенаправление: Перенаправление:
{}.publication -> entity_sources {}.publication -> entity_sources
{}.traits -> entity_traits {}.traits -> entity_traits
{}.languages -> ancestry_languages
{}.additionalLanguages -> ancestry_languages {}.additionalLanguages -> ancestry_languages
{}.languages -> ancestry_languages
{}.boosts -> ancestry_boosts {}.boosts -> ancestry_boosts
{}.flaws -> ancestry_boosts {}.flaws -> ancestry_boosts
Рассмотреть: {}.items -> ancestry_items
{}.items - TODO добавить в определение dict-типа
Не использованы поля:
{}.additionalLanguages
''' '''
} }
Enum ancestry_size { Enum ancestry_size {
@@ -190,74 +190,19 @@ Enum ancestry_vision {
Table ancestry_languages { Table ancestry_languages {
ancestry_id int [pk, ref: > ancestry.id] ancestry_id int [pk, ref: > ancestry.id]
language_id int [pk, ref: > language.id] language_id int [pk, ref: > language.id]
additional bool [not null] is_additional bool [not null]
} }
Table ancestry_boosts { Table ancestry_boosts {
id int [pk, increment] id int [pk, increment]
ancestry_id int [ref: > ancestry.id] ancestry_id int [ref: > ancestry.id]
boost bool [not null, default: true, note: "false = flaw"] boost bool [not null, default: true, note: "false = flaw"]
value varchar(3) [null, note: "null = free boost (all 6 values in foundry)"] 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 // Background
@@ -267,14 +212,12 @@ Table background {
Note: '''{} = Item.background.system Note: '''{} = Item.background.system
Перенаправление: Перенаправление:
{}.boosts -> background_boosts
{}.publication -> entity_sources {}.publication -> entity_sources
{}.traits -> entity_traits {}.traits -> entity_traits
{}.items -> background_items {}.items -> background_items
{}.trainedSkills -> background_skills {}.trainedSkills -> background_skills
Рассмотреть:
{}.boosts
Не использованы поля: Не использованы поля:
''' '''
} }
@@ -284,8 +227,7 @@ Table background_items {
entity_id int [ref: > entity.id, note: "{}.name"] entity_id int [ref: > entity.id, note: "{}.name"]
level int [note: "{}.level"] level int [note: "{}.level"]
name string [note: "{}.name (?)"] // name string [note: "{}.name (?)"]
Note: "{} = Item.background.system.items" Note: "{} = Item.background.system.items"
} }
@@ -298,56 +240,24 @@ Table background_skills {
Note: "{} = Item.background.system.items.[lore|value]" Note: "{} = Item.background.system.items.[lore|value]"
} }
Table background_boosts {
// Backpack id int [pk, increment]
Table backpack { background_id int [ref: > background.id]
id int [pk, ref: - entity.id] value varchar(3) [null, note: "null = free boost (all 6 values in foundry)"]
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
} }
// Campaign Feature // Campaign Feature
Table campaign_feature { Table campaign_feature {
id int [pk, ref: - entity.id] id int [pk, ref: - entity.id]
level int [note: "{}.level"] level int [null, note: "{}.level"]
type action_type [note: "{}.actionType"] type action_type [not null, note: "{}.actionType"]
action int [note: "{}.actions"] actions int [note: "{}.actions"]
category campaign_feature_category [note: "{}.category"] category campaign_feature_category [note: "{}.category"]
prerequisites varchar [null, note: "{}.prerequisites"]
Note: '''{} = Item.campaignFeature.system Note: '''{} = Item.campaignFeature.system
@@ -360,16 +270,17 @@ Table campaign_feature {
но, похоже, просто одиночное value но, похоже, просто одиночное value
Не использованы поля: Не использованы поля:
{}.campaign - всегда "kingmaker"
{}.requirements - всегда пустое {}.requirements - всегда пустое
{}.trigger - всегда пустое {}.trigger - всегда пустое
''' '''
} }
Enum campaign_feature_category { Enum campaign_feature_category {
army_tactic // army-tactic army_tactic // army-tactic
army_war_action // army-war-action army_war_action // army-war-action
kingdom_activity // kingdom-activity kingdom_activity // kingdom-activity
kingdom_feat // kingdom-feat kingdom_feat // kingdom-feat
kingdom_feature // kingdom-feature kingdom_feature // kingdom-feature
} }
// Class // Class
@@ -621,6 +532,7 @@ Table spell_ritual {
// effect???
/* /*
Table template { 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? // consumable -> equipment?
// effect???
// equipment // equipment
// kit -> equipment // kit -> equipment
// shield -> equipment // shield -> equipment