Обновление схемы

This commit is contained in:
2025-04-11 15:32:29 +04:00
parent 83c41c6504
commit 46927ab3d2
+131 -38
View File
@@ -107,6 +107,13 @@ Table frequency {
Используется для подключения полей из таблиц схем {Item.feat} и {Item.action}'''
}
// Duration
Table duration {
id int [pk, ref: - entity.id]
}
// Languages
Table language {
id int [pk]
@@ -115,6 +122,10 @@ Table language {
}
// Trainings
Table trainings {
id int [pk]
key varchar
}
// ----------------------------------------------
@@ -202,7 +213,6 @@ Table ancestry_items {
ancestry_id int [pk, ref: > ancestry.id]
item_id int [pk, ref: > entity.id]
level int [not null]
}
// Background
@@ -290,6 +300,7 @@ Table class {
hp int [note: "{}.hp"]
perception int [note: "{}.perception"]
spellcasting bool [note: "{}.spellcasting"]
additionalTrainedSkills int [note: "{}.trainedSkills.additional"]
Note: '''{} = Item.class.system
@@ -307,14 +318,16 @@ Table class {
{}.attacks.[!other] -> class_trainings
{}.defenses -> class_trainings
{}.savingThrows -> class_trainings
Рассмотреть:
{}.keyAbility
{}.attacks.other
Не использованы поля:
{}.trainedSkills.[value|custom] -> class_trainings
{}.keyAbility.value -> class_key_abilities
'''
}
Table class_key_abilities {
id int [pk]
class_id int [ref: > class.id]
value varchar(3) [not null]
}
Table class_progression {
id int [pk, increment]
class_id int [ref: > class.id]
@@ -324,8 +337,11 @@ Table class_progression {
}
Table class_trainings {
id int [pk, increment]
class_id int [ref: class.id]
item varchar [note: "Возможно нужна связь с чем-то ещё"]
class_id int [ref: > class.id]
item int [null, ref: > trainings.id]
name varchar [null, note: "{}.attacks.other"]
stage: int [note: "0-untrained, 1-trained..."]
}
Enum class_progression_type {
@@ -341,7 +357,7 @@ Enum class_progression_type {
Table condition {
id int [pk, ref: - entity.id]
group condition_group
group condition_group [null]
Note: '''{} = Item.condition.system
@@ -370,8 +386,11 @@ Enum condition_group {
Table deity {
id int [pk, ref: - entity.id]
category deity_category
category deity_category [not null, note: "{}.category"]
font deity_fonts [not null, note: "{}.font"]
sanctification_must bool [not null, note: "{}.sanctification.modal"]
sanctification_type deity_sanctification [not null, note: "{}.sanctification.what"]
Note: '''{} = Item.deity.system
@@ -383,22 +402,16 @@ Table deity {
{}.skill -> deity_skills
{}.spells -> deity_spells
{}.weapons -> deity_weapons
Рассмотреть:
{}.domains - нужная другая таблица?
{}.font
{}.sanctification
Не использованы поля:
{}.domains -> deity_domains
'''
}
Table deity_attributes {
deity_id int [pk, ref: > deity.id]
attribute varchar(3) [pk]
attribute varchar(3) [pk]
}
Table deity_skills {
deity_id int [pk, ref: > deity.id]
skill varchar [pk]
skill_id trainings [pk, ref: > trainings.id]
}
Table deity_spells {
id int [pk, increment]
@@ -411,25 +424,44 @@ Table deity_weapons {
deity_id int [ref: > deity.id]
weapon varchar
}
Table deity_domains {
id int [pk, increment]
deity_id int [not null, ref: > deity.id]
is_primary bool [not null, note: "true = primary; false = alternate"]
value varchar [not null]
}
Enum deity_category {
deity
pantheon
covenant
philosophy
}
Enum deity_fonts {
none
heal
harm
any
}
Enum deity_sanctification {
holy
unholy
any
}
// Feat
Table feat {
id int [pk, ref: - entity.id]
action_type feat_action_type [note: "{}.actionType.value"]
action_type feat_action_type [not null, note: "{}.actionType.value"]
actions int [null, note: "{}.actions?.value"]
category feat_category [not null, note: "{}.category"]
level int [not null, note: "{}.level.value"]
level_taker int [null, note: "{}.level.taken"] // Всего 2 значения: 1, 2
level_taken int [null, note: "{}.level.taken"] // Всего 2 значения: 1, 2
max_takable int [null, note: "{}.level.maxTakable"]
location varchar(12) [null, note: "{}.level.location"]
only_level_1 bool [null, note: "{}.onlyLevel1"]
extra text [null, note: "json для того, что надо рассмотреть"]
Note: '''{} = Item.feat.system
@@ -438,16 +470,20 @@ Table feat {
{}.traits -> entity_traits
{}.frequency -> frequency
{}.prerequisites -> feat_prerequisites
Рассмотреть:
{}.prerequisites
{}.selfEffect
{}.duration
{}.start - .value всегда 103462347
{}.target
{}.subfeatures
{}.duration - только у одного
{}.start - только у одного
Не использованы поля:
{}.subfeatures - пишем в описании пока что, потом подключение таблицы
{}.actionCategory - всегда пробел???
{}.actionCategory - всегда пустое
{}.identified - всегда true
{}.target - всегда null
{}.selfEffect
'''
}
Enum feat_action_type {
@@ -469,6 +505,15 @@ Enum feat_category {
curse
pfsboon
}
Table feat_prerequisites {
id int [pk, increment]
feat_id int [not null, ref: > feat.id]
value varchar [not null, note: "{}.[].value"]
Note: "{} = Item.feat.system.prerequisites.value"
}
// Heritage
Table heritage {
@@ -481,10 +526,6 @@ Table heritage {
Перенаправление:
{}.publication -> entity_sources
{}.traits -> entity_traits
Рассмотреть:
Не использованы поля:
'''
}
@@ -510,25 +551,77 @@ Table spell {
{}.publication -> entity_sources
{}.traits -> entity_traits
Рассмотреть:
{}.area
damage
defense
{}.area -> spell_area
{}.damage -> spell_damage
{}.ritual -> spell_ritual
{}.defense -> spell_defense
Не использованы поля:
heightening
overlays
{}.heightening
{}.overlays
'''
}
Table spell_area {
spell_id int [pk, ref: - spell.id]
details varchar [null, note: "{}.details"]
type spell_area_type [not null, note: "{}.type"]
value int [not null, note: "{}.value"]
Note: "{} = Item.spell.system.area"
}
Table spell_damage {
id int [pk, increment]
spell_id int [ref: > spell.id]
key varchar [not null, note: "{}.[key]"]
apply_mod bool [null, note: "{}.[value].applyMod"]
category spell_damage_category [null, note: "{}.[value].category"]
formula varchar [not null, note: "{}.[value].formula"]
kinds spell_damage_kinds [not null, note: "{}.[value].kinds"]
materials varchar [null, note: "{}.[value].materials"]
type varchar [not null, note: "{}.[value].type"]
Note: "{} = Item.spell.system.damage"
}
Table spell_ritual {
spell_id int [pk, ref: - spell.id]
primary_check varchar [note: "{}.primary.check"]
secondary_casters int [note: "{}.secondary.casters"]
secondary_checks varchar [note: "{}.secondary.checks"]
Note: "{} = Item.spell.system.ritual"
}
Table spell_defense {
id int [pk, increment]
spell_id int [ref: > spell.id]
is_passive bool [not null, note: "true = {}.passive; true = {}.save"]
is_basic bool [null, note: "{}.save?.basic"]
statistic varchar [not null, note: "{}.[save|passive].statistic"]
Note: "{} = Item.spell.system.defense"
}
Enum spell_area_type {
burst
emanation
cone
line
square
cube
cylinder
}
Enum spell_damage_category {
persistent
splash
}
Enum spell_damage_kinds {
damage
healing
any
}