doc: add query to get skill condition types
This commit is contained in:
@@ -228,6 +228,63 @@ tag_id is a slash-separated list of numeric IDs that roughly describe all effect
|
||||
- 614 base stat threshold passive
|
||||
- 615 mood passive
|
||||
|
||||
unrelated, query to get all condition types:
|
||||
```sql
|
||||
WITH RECURSIVE condition AS (
|
||||
SELECT DISTINCT precondition_1 AS c FROM skill_data
|
||||
UNION
|
||||
SELECT DISTINCT condition_1 AS c FROM skill_data
|
||||
UNION
|
||||
SELECT DISTINCT precondition_2 AS c FROM skill_data
|
||||
UNION
|
||||
SELECT DISTINCT condition_2 AS c FROM skill_data
|
||||
), disj AS (
|
||||
SELECT
|
||||
IIF(INSTR(c, '@') != 0, SUBSTR(c, 1, INSTR(c, '@')-1), c) AS c,
|
||||
IIF(INSTR(c, '@') != 0, SUBSTR(c, 1 + INSTR(c, '@')), '') AS rest
|
||||
FROM condition
|
||||
UNION
|
||||
SELECT
|
||||
IIF(INSTR(rest, '@') != 0, SUBSTR(rest, 1, INSTR(rest, '@')-1), rest) AS c,
|
||||
IIF(INSTR(rest, '@') != 0, SUBSTR(rest, 1 + INSTR(rest, '@')), '') AS rest
|
||||
FROM disj
|
||||
WHERE rest != ''
|
||||
), term AS (
|
||||
SELECT
|
||||
IIF(INSTR(c, '&') != 0, SUBSTR(c, 1, INSTR(c, '&')-1), c) AS term,
|
||||
IIF(INSTR(c, '&') != 0, SUBSTR(c, 1 + INSTR(c, '&')), '') AS rest
|
||||
FROM disj
|
||||
UNION
|
||||
SELECT
|
||||
IIF(INSTR(rest, '&') != 0, SUBSTR(rest, 1, INSTR(rest, '&')-1), rest) AS term,
|
||||
IIF(INSTR(rest, '&') != 0, SUBSTR(rest, 1 + INSTR(rest, '&')), '') AS rest
|
||||
FROM term
|
||||
WHERE rest != ''
|
||||
), op AS (
|
||||
SELECT
|
||||
term,
|
||||
CASE
|
||||
WHEN INSTR(term, '==') != 0 THEN '=='
|
||||
WHEN INSTR(term, '!=') != 0 THEN '!='
|
||||
WHEN INSTR(term, '<=') != 0 THEN '<='
|
||||
WHEN INSTR(term, '>=') != 0 THEN '>='
|
||||
WHEN INSTR(term, '<') != 0 THEN '<'
|
||||
WHEN INSTR(term, '>') != 0 THEN '>'
|
||||
END AS op
|
||||
FROM term WHERE term != ''
|
||||
), type_op_arg AS (
|
||||
SELECT DISTINCT
|
||||
term,
|
||||
SUBSTR(term, 1, INSTR(term, op) - 1) AS "type",
|
||||
op,
|
||||
CAST(SUBSTR(term, INSTR(term, op) + LENGTH(op)) AS INTEGER) AS arg
|
||||
FROM op
|
||||
)
|
||||
SELECT DISTINCT CONCAT(type, op), arg FROM type_op_arg
|
||||
```
|
||||
|
||||
final select can be adjusted to get different info, but type+op together seems most useful
|
||||
|
||||
# races
|
||||
|
||||
- group 1, grade: g1 100, g2 200, g3 300, op 400, pre-op 700
|
||||
|
||||
Reference in New Issue
Block a user