eq2go/internal/classes/constants.go

227 lines
6.7 KiB
Go

package classes
// Adventure class ID constants converted from C++ classes.h
const (
// Base classes
ClassCommoner = int8(0)
ClassFighter = int8(1)
ClassPriest = int8(11)
ClassMage = int8(21)
ClassScout = int8(31)
// Fighter subclasses
ClassWarrior = int8(2)
ClassGuardian = int8(3)
ClassBerserker = int8(4)
ClassBrawler = int8(5)
ClassMonk = int8(6)
ClassBruiser = int8(7)
ClassCrusader = int8(8)
ClassShadowknight = int8(9)
ClassPaladin = int8(10)
// Priest subclasses
ClassCleric = int8(12)
ClassTemplar = int8(13)
ClassInquisitor = int8(14)
ClassDruid = int8(15)
ClassWarden = int8(16)
ClassFury = int8(17)
ClassShaman = int8(18)
ClassMystic = int8(19)
ClassDefiler = int8(20)
// Mage subclasses
ClassSorcerer = int8(22)
ClassWizard = int8(23)
ClassWarlock = int8(24)
ClassEnchanter = int8(25)
ClassIllusionist = int8(26)
ClassCoercer = int8(27)
ClassSummoner = int8(28)
ClassConjuror = int8(29)
ClassNecromancer = int8(30)
// Scout subclasses
ClassRogue = int8(32)
ClassSwashbuckler = int8(33)
ClassBrigand = int8(34)
ClassBard = int8(35)
ClassTroubador = int8(36)
ClassDirge = int8(37)
ClassPredator = int8(38)
ClassRanger = int8(39)
ClassAssassin = int8(40)
ClassAnimalist = int8(41)
ClassBeastlord = int8(42)
// Special classes
ClassShaper = int8(43)
ClassChanneler = int8(44)
)
// Tradeskill class ID constants
const (
// Base tradeskill classes
ClassArtisan = int8(45)
ClassCraftsman = int8(46)
ClassOutfitter = int8(50)
ClassScholar = int8(54)
// Craftsman subclasses
ClassProvisioner = int8(47)
ClassWoodworker = int8(48)
ClassCarpenter = int8(49)
// Outfitter subclasses
ClassArmorer = int8(51)
ClassWeaponsmith = int8(52)
ClassTailor = int8(53)
// Scholar subclasses
ClassJeweler = int8(55)
ClassSage = int8(56)
ClassAlchemist = int8(57)
)
// Class validation constants
const (
MaxClassID = int8(57)
MinClassID = int8(0)
DefaultClassID = ClassCommoner
ClassicMaxAdventureClass = int8(40) // Classic adventure classes (0-40)
ClassicMaxTradeskillClass = int8(13) // Classic tradeskill progression (0-13)
MaxClasses = 58 // Total number of classes
)
// Class type categories
const (
ClassTypeAdventure = "adventure"
ClassTypeTradeskill = "tradeskill"
ClassTypeSpecial = "special"
)
// Class name constants for lookup (uppercase keys from C++)
const (
ClassNameCommoner = "COMMONER"
ClassNameFighter = "FIGHTER"
ClassNameWarrior = "WARRIOR"
ClassNameGuardian = "GUARDIAN"
ClassNameBerserker = "BERSERKER"
ClassNameBrawler = "BRAWLER"
ClassNameMonk = "MONK"
ClassNameBruiser = "BRUISER"
ClassNameCrusader = "CRUSADER"
ClassNameShadowknight = "SHADOWKNIGHT"
ClassNamePaladin = "PALADIN"
ClassNamePriest = "PRIEST"
ClassNameCleric = "CLERIC"
ClassNameTemplar = "TEMPLAR"
ClassNameInquisitor = "INQUISITOR"
ClassNameDruid = "DRUID"
ClassNameWarden = "WARDEN"
ClassNameFury = "FURY"
ClassNameShaman = "SHAMAN"
ClassNameMystic = "MYSTIC"
ClassNameDefiler = "DEFILER"
ClassNameMage = "MAGE"
ClassNameSorcerer = "SORCERER"
ClassNameWizard = "WIZARD"
ClassNameWarlock = "WARLOCK"
ClassNameEnchanter = "ENCHANTER"
ClassNameIllusionist = "ILLUSIONIST"
ClassNameCoercer = "COERCER"
ClassNameSummoner = "SUMMONER"
ClassNameConjuror = "CONJUROR"
ClassNameNecromancer = "NECROMANCER"
ClassNameScout = "SCOUT"
ClassNameRogue = "ROGUE"
ClassNameSwashbuckler = "SWASHBUCKLER"
ClassNameBrigand = "BRIGAND"
ClassNameBard = "BARD"
ClassNameTroubador = "TROUBADOR"
ClassNameDirge = "DIRGE"
ClassNamePredator = "PREDATOR"
ClassNameRanger = "RANGER"
ClassNameAssassin = "ASSASSIN"
ClassNameAnimalist = "ANIMALIST"
ClassNameBeastlord = "BEASTLORD"
ClassNameShaper = "SHAPER"
ClassNameChanneler = "CHANNELER"
ClassNameArtisan = "ARTISAN"
ClassNameCraftsman = "CRAFTSMAN"
ClassNameProvisioner = "PROVISIONER"
ClassNameWoodworker = "WOODWORKER"
ClassNameCarpenter = "CARPENTER"
ClassNameOutfitter = "OUTFITTER"
ClassNameArmorer = "ARMORER"
ClassNameWeaponsmith = "WEAPONSMITH"
ClassNameTailor = "TAILOR"
ClassNameScholar = "SCHOLAR"
ClassNameJeweler = "JEWELER"
ClassNameSage = "SAGE"
ClassNameAlchemist = "ALCHEMIST"
)
// Class display names (proper case)
const (
DisplayNameCommoner = "Commoner"
DisplayNameFighter = "Fighter"
DisplayNameWarrior = "Warrior"
DisplayNameGuardian = "Guardian"
DisplayNameBerserker = "Berserker"
DisplayNameBrawler = "Brawler"
DisplayNameMonk = "Monk"
DisplayNameBruiser = "Bruiser"
DisplayNameCrusader = "Crusader"
DisplayNameShadowknight = "Shadowknight"
DisplayNamePaladin = "Paladin"
DisplayNamePriest = "Priest"
DisplayNameCleric = "Cleric"
DisplayNameTemplar = "Templar"
DisplayNameInquisitor = "Inquisitor"
DisplayNameDruid = "Druid"
DisplayNameWarden = "Warden"
DisplayNameFury = "Fury"
DisplayNameShaman = "Shaman"
DisplayNameMystic = "Mystic"
DisplayNameDefiler = "Defiler"
DisplayNameMage = "Mage"
DisplayNameSorcerer = "Sorcerer"
DisplayNameWizard = "Wizard"
DisplayNameWarlock = "Warlock"
DisplayNameEnchanter = "Enchanter"
DisplayNameIllusionist = "Illusionist"
DisplayNameCoercer = "Coercer"
DisplayNameSummoner = "Summoner"
DisplayNameConjuror = "Conjuror"
DisplayNameNecromancer = "Necromancer"
DisplayNameScout = "Scout"
DisplayNameRogue = "Rogue"
DisplayNameSwashbuckler = "Swashbuckler"
DisplayNameBrigand = "Brigand"
DisplayNameBard = "Bard"
DisplayNameTroubador = "Troubador"
DisplayNameDirge = "Dirge"
DisplayNamePredator = "Predator"
DisplayNameRanger = "Ranger"
DisplayNameAssassin = "Assassin"
DisplayNameAnimalist = "Animalist"
DisplayNameBeastlord = "Beastlord"
DisplayNameShaper = "Shaper"
DisplayNameChanneler = "Channeler"
DisplayNameArtisan = "Artisan"
DisplayNameCraftsman = "Craftsman"
DisplayNameProvisioner = "Provisioner"
DisplayNameWoodworker = "Woodworker"
DisplayNameCarpenter = "Carpenter"
DisplayNameOutfitter = "Outfitter"
DisplayNameArmorer = "Armorer"
DisplayNameWeaponsmith = "Weaponsmith"
DisplayNameTailor = "Tailor"
DisplayNameScholar = "Scholar"
DisplayNameJeweler = "Jeweler"
DisplayNameSage = "Sage"
DisplayNameAlchemist = "Alchemist"
)