generate character.kk from game data

This commit is contained in:
2026-01-06 10:25:16 -05:00
parent bfc497b6fc
commit 0cbc0f93b5
12 changed files with 75647 additions and 2178 deletions

View File

@@ -0,0 +1,41 @@
WITH uma_names AS (
SELECT
"index" AS "id",
"text" AS "name"
FROM text_data
WHERE category = 6 AND "index" BETWEEN 1000 AND 1999
-- Exclude characters who have no succession relations defined.
AND "index" IN (SELECT chara_id FROM succession_relation_member)
), trios AS (
SELECT
a.id AS id_a,
a.name AS name_a,
b.id AS id_b,
b.name AS name_b,
c.id AS id_c,
c.name AS name_c,
ra.relation_type
FROM uma_names a
JOIN uma_names b ON a.id != b.id
JOIN uma_names c ON a.id != c.id AND b.id != c.id
JOIN succession_relation_member ra ON a.id = ra.chara_id
JOIN succession_relation_member rb ON b.id = rb.chara_id
JOIN succession_relation_member rc ON c.id = rc.chara_id
WHERE
ra.relation_type = rb.relation_type
AND ra.relation_type = rc.relation_type
), affinity AS (
SELECT
id_a,
name_a,
id_b,
name_b,
id_c,
name_c,
SUM(relation_point) AS base_affinity
FROM trios
JOIN succession_relation sr ON trios.relation_type = sr.relation_type
GROUP BY id_a, id_b, id_c
)
SELECT * FROM affinity
ORDER BY id_a, id_b, id_c