package horse

type UmaID int32

type Uma struct {
	ID          UmaID       `json:"chara_card_id"`
	CharacterID CharacterID `json:"chara_id"`
	Name        string      `json:"name"`
	Variant     string      `json:"variant"`

	Sprint AptitudeLevel `json:"sprint"`
	Mile   AptitudeLevel `json:"mile"`
	Medium AptitudeLevel `json:"medium"`
	Long   AptitudeLevel `json:"long"`
	Front  AptitudeLevel `json:"front"`
	Pace   AptitudeLevel `json:"pace"`
	Late   AptitudeLevel `json:"late"`
	End    AptitudeLevel `json:"end"`
	Turf   AptitudeLevel `json:"turf"`
	Dirt   AptitudeLevel `json:"dirt"`

	Unique   SkillID `json:"unique"`
	Skill1   SkillID `json:"skill1"`
	Skill2   SkillID `json:"skill2"`
	Skill3   SkillID `json:"skill3"`
	SkillPL2 SkillID `json:"skill_pl2"`
	SkillPL3 SkillID `json:"skill_pl3"`
	SkillPL4 SkillID `json:"skill_pl4"`
	SkillPL5 SkillID `json:"skill_pl5"`
}

type AptitudeLevel int8

//go:generate go run golang.org/x/tools/cmd/stringer@v0.41.0 -type AptitudeLevel -trimprefix AptitudeLv
const (
	AptitudeLvG AptitudeLevel = iota + 1
	AptitudeLvF
	AptitudeLvE
	AptitudeLvD
	AptitudeLvC
	AptitudeLvB
	AptitudeLvA
	AptitudeLvS
)
