OpenDiablo2/d2common/d2enum/hero.go

70 lines
1.3 KiB
Go

package d2enum
import "log"
//go:generate stringer -linecomment -type Hero
//go:generate string2enum -samepkg -linecomment -type Hero
// Hero is used for different types of hero's
type Hero int
// Heroes
const (
HeroNone Hero = iota //
HeroBarbarian // Barbarian
HeroNecromancer // Necromancer
HeroPaladin // Paladin
HeroAssassin // Assassin
HeroSorceress // Sorceress
HeroAmazon // Amazon
HeroDruid // Druid
)
// GetToken returns a 2 letter token
func (h Hero) GetToken() string {
switch h {
case HeroBarbarian:
return "BA"
case HeroNecromancer:
return "NE"
case HeroPaladin:
return "PA"
case HeroAssassin:
return "AI"
case HeroSorceress:
return "SO"
case HeroAmazon:
return "AM"
case HeroDruid:
return "DZ"
default:
log.Fatalf("Unknown hero token: %d", h)
}
return ""
}
// GetToken3 returns a 3 letter token
func (h Hero) GetToken3() string {
switch h {
case HeroBarbarian:
return "BAR"
case HeroNecromancer:
return "NEC"
case HeroPaladin:
return "PAL"
case HeroAssassin:
return "ASS"
case HeroSorceress:
return "SOR"
case HeroAmazon:
return "AMA"
case HeroDruid:
return "DRU"
default:
log.Fatalf("Unknown hero token: %d", h)
}
return ""
}