mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2024-11-03 01:37:18 -04:00
70 lines
1.3 KiB
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 ""
|
|
}
|