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 {
s.skills[skill.ID] = skill
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})
if skill.UniqueOwner != "" {
if skill.Rarity >= 3 {
s.autocom.Add(skill.UniqueOwner, discord.AutocompleteChoiceString{Name: "Unique: " + skill.UniqueOwner, Value: skill.Name})
} else {
s.autocom.Add(skill.UniqueOwner, discord.AutocompleteChoiceString{Name: "Unique: " + skill.UniqueOwner, Value: strconv.Itoa(int(skill.ID))})
default:
s.autocom.Add(skill.Name, discord.AutocompleteChoiceString{Name: skill.Name + " (Inherited)", Value: strconv.Itoa(int(skill.ID))})
s.autocom.Add(skill.UniqueOwner, discord.AutocompleteChoiceString{Name: "Inherited unique: " + skill.UniqueOwner, Value: skill.Name})
}
}
}
for _, g := range groups {
s.groups[g.ID] = g
}
@@ -188,7 +190,11 @@ func (s *skillServer) render(id horse.SkillID) discord.ContainerComponent {
if len(rel) > 1 {
buttons := make([]discord.InteractiveComponent, 0, 4)
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 {
b = b.AsDisabled()
}