eq2go/internal/races/constants.go

90 lines
2.2 KiB
Go

package races
// Race ID constants converted from C++ races.h
const (
RaceBarbarian = 0
RaceDarkElf = 1
RaceDwarf = 2
RaceErudite = 3
RaceFroglok = 4
RaceGnome = 5
RaceHalfElf = 6
RaceHalfling = 7
RaceHighElf = 8
RaceHuman = 9
RaceIksar = 10
RaceKerra = 11
RaceOgre = 12
RaceRatonga = 13
RaceTroll = 14
RaceWoodElf = 15
RaceFae = 16
RaceArasai = 17
RaceSarnak = 18
RaceVampire = 19
RaceAerakyn = 20
)
// Maximum race ID for validation
const (
MaxRaceID = 20
MinRaceID = 0
DefaultRaceID = RaceHuman // Default to Human if lookup fails
)
// Race alignment types
const (
AlignmentGood = "good"
AlignmentEvil = "evil"
AlignmentNeutral = "neutral"
)
// Race name constants for lookup (uppercase keys from C++)
const (
RaceNameBarbarian = "BARBARIAN"
RaceNameDarkElf = "DARKELF"
RaceNameDwarf = "DWARF"
RaceNameErudite = "ERUDITE"
RaceNameFroglok = "FROGLOK"
RaceNameGnome = "GNOME"
RaceNameHalfElf = "HALFELF"
RaceNameHalfling = "HALFLING"
RaceNameHighElf = "HIGHELF"
RaceNameHuman = "HUMAN"
RaceNameIksar = "IKSAR"
RaceNameKerra = "KERRA"
RaceNameOgre = "OGRE"
RaceNameRatonga = "RATONGA"
RaceNameTroll = "TROLL"
RaceNameWoodElf = "WOODELF"
RaceNameFaeLight = "FAE_LIGHT"
RaceNameFaeDark = "FAE_DARK"
RaceNameSarnak = "SARNAK"
RaceNameVampire = "VAMPIRE"
RaceNameAerakyn = "AERAKYN"
)
// Race display names (proper case from C++)
const (
DisplayNameBarbarian = "Barbarian"
DisplayNameDarkElf = "Dark Elf"
DisplayNameDwarf = "Dwarf"
DisplayNameErudite = "Erudite"
DisplayNameFroglok = "Froglok"
DisplayNameGnome = "Gnome"
DisplayNameHalfElf = "Half Elf"
DisplayNameHalfling = "Halfling"
DisplayNameHighElf = "High Elf"
DisplayNameHuman = "Human"
DisplayNameIksar = "Iksar"
DisplayNameKerra = "Kerra"
DisplayNameOgre = "Ogre"
DisplayNameRatonga = "Ratonga"
DisplayNameTroll = "Troll"
DisplayNameWoodElf = "Wood Elf"
DisplayNameFae = "Fae"
DisplayNameArasai = "Arasai"
DisplayNameSarnak = "Sarnak"
DisplayNameVampire = "Vampire"
DisplayNameAerakyn = "Aerakyn"
)