horsegen: treat inherited skills as being in the original's group
This commit is contained in:
@@ -74,19 +74,8 @@ func ExecCharacter(t *template.Template, region string, kk, g io.Writer, c []Nam
|
||||
|
||||
func ExecSkill(t *template.Template, region string, kk, g io.Writer, groups []NamedID[SkillGroup], skills []Skill) error {
|
||||
m := make(map[int][]Skill, len(groups))
|
||||
u := make(map[int]int, len(groups))
|
||||
for _, t := range skills {
|
||||
m[t.GroupID] = append(m[t.GroupID], t)
|
||||
if t.Rarity >= 4 {
|
||||
// Add inheritable uniques to u so we can add inherited versions to groups.
|
||||
u[t.ID] = t.GroupID
|
||||
}
|
||||
}
|
||||
// Now that u is set up, iterate through again and add in inherited skills.
|
||||
for _, t := range skills {
|
||||
if t.InheritID != 0 {
|
||||
m[u[t.InheritID]] = append(m[u[t.InheritID]], t)
|
||||
}
|
||||
}
|
||||
data := struct {
|
||||
Region string
|
||||
|
||||
@@ -17,7 +17,7 @@ SELECT
|
||||
d.id,
|
||||
n.name,
|
||||
n.description,
|
||||
d.group_id,
|
||||
IIF(d.unique_skill_id_1 = 0, d.group_id, ud.group_id) AS group_id,
|
||||
CASE
|
||||
WHEN g.name IS NOT NULL THEN g.name
|
||||
WHEN d.unique_skill_id_1 != 0 THEN n.name
|
||||
@@ -48,8 +48,8 @@ SELECT
|
||||
d.target_value_1_3,
|
||||
d.precondition_2,
|
||||
d.condition_2,
|
||||
float_ability_time_2,
|
||||
float_cooldown_time_2,
|
||||
d.float_ability_time_2,
|
||||
d.float_cooldown_time_2,
|
||||
d.ability_type_2_1,
|
||||
d.ability_value_usage_2_1,
|
||||
d.float_ability_value_2_1,
|
||||
@@ -71,6 +71,7 @@ SELECT
|
||||
ROW_NUMBER() OVER (ORDER BY d.id) - 1 AS "index"
|
||||
FROM skill_data d
|
||||
JOIN skill_names n ON d.id = n.id
|
||||
LEFT JOIN skill_data ud ON d.unique_skill_id_1 = ud.id
|
||||
LEFT JOIN skill_groups g ON d.group_id = g.group_id
|
||||
LEFT JOIN single_mode_skill_need_point p ON d.id = p.id
|
||||
ORDER BY d.id
|
||||
|
||||
Reference in New Issue
Block a user