horsebot: restore inherit indicators on skill names

This commit is contained in:
2026-03-09 13:48:28 -04:00
parent 2ec8d9cfdb
commit da376647af

View File

@@ -29,15 +29,17 @@ func newSkillServer(skills []horse.Skill, groups []horse.SkillGroup) *skillServe
for _, skill := range skills { for _, skill := range skills {
s.skills[skill.ID] = skill s.skills[skill.ID] = skill
s.byName[skill.Name] = skill.ID s.byName[skill.Name] = skill.ID
switch {
case skill.UniqueOwner == "":
s.autocom.Add(skill.Name, discord.AutocompleteChoiceString{Name: skill.Name, Value: strconv.Itoa(int(skill.ID))})
case skill.Rarity >= 3:
s.autocom.Add(skill.Name, discord.AutocompleteChoiceString{Name: skill.Name, Value: skill.Name}) s.autocom.Add(skill.Name, discord.AutocompleteChoiceString{Name: skill.Name, Value: skill.Name})
if skill.UniqueOwner != "" { s.autocom.Add(skill.UniqueOwner, discord.AutocompleteChoiceString{Name: "Unique: " + skill.UniqueOwner, Value: strconv.Itoa(int(skill.ID))})
if skill.Rarity >= 3 { default:
s.autocom.Add(skill.UniqueOwner, discord.AutocompleteChoiceString{Name: "Unique: " + skill.UniqueOwner, Value: skill.Name}) s.autocom.Add(skill.Name, discord.AutocompleteChoiceString{Name: skill.Name + " (Inherited)", Value: strconv.Itoa(int(skill.ID))})
} else {
s.autocom.Add(skill.UniqueOwner, discord.AutocompleteChoiceString{Name: "Inherited unique: " + skill.UniqueOwner, Value: skill.Name}) s.autocom.Add(skill.UniqueOwner, discord.AutocompleteChoiceString{Name: "Inherited unique: " + skill.UniqueOwner, Value: skill.Name})
} }
} }
}
for _, g := range groups { for _, g := range groups {
s.groups[g.ID] = g s.groups[g.ID] = g
} }
@@ -188,7 +190,11 @@ func (s *skillServer) render(id horse.SkillID) discord.ContainerComponent {
if len(rel) > 1 { if len(rel) > 1 {
buttons := make([]discord.InteractiveComponent, 0, 4) buttons := make([]discord.InteractiveComponent, 0, 4)
for _, rs := range rel { for _, rs := range rel {
b := discord.NewSecondaryButton(rs.Name, fmt.Sprintf("/skill/swap/%d", rs.ID)) name := rs.Name
if u := s.skills[rs.ID]; u.UniqueOwner != "" && u.Rarity == 1 {
name += " (Inherited)"
}
b := discord.NewSecondaryButton(name, fmt.Sprintf("/skill/swap/%d", rs.ID))
if rs.ID == id { if rs.ID == id {
b = b.AsDisabled() b = b.AsDisabled()
} }