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

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