eq2go/internal/classes/constants.go

226 lines
6.3 KiB
Go

package classes
// Adventure class ID constants converted from C++ classes.h
const (
// Base classes
ClassCommoner = 0
ClassFighter = 1
ClassPriest = 11
ClassMage = 21
ClassScout = 31
// Fighter subclasses
ClassWarrior = 2
ClassGuardian = 3
ClassBerserker = 4
ClassBrawler = 5
ClassMonk = 6
ClassBruiser = 7
ClassCrusader = 8
ClassShadowknight = 9
ClassPaladin = 10
// Priest subclasses
ClassCleric = 12
ClassTemplar = 13
ClassInquisitor = 14
ClassDruid = 15
ClassWarden = 16
ClassFury = 17
ClassShaman = 18
ClassMystic = 19
ClassDefiler = 20
// Mage subclasses
ClassSorcerer = 22
ClassWizard = 23
ClassWarlock = 24
ClassEnchanter = 25
ClassIllusionist = 26
ClassCoercer = 27
ClassSummoner = 28
ClassConjuror = 29
ClassNecromancer = 30
// Scout subclasses
ClassRogue = 32
ClassSwashbuckler = 33
ClassBrigand = 34
ClassBard = 35
ClassTroubador = 36
ClassDirge = 37
ClassPredator = 38
ClassRanger = 39
ClassAssassin = 40
ClassAnimalist = 41
ClassBeastlord = 42
// Special classes
ClassShaper = 43
ClassChanneler = 44
)
// Tradeskill class ID constants
const (
// Base tradeskill classes
ClassArtisan = 45
ClassCraftsman = 46
ClassOutfitter = 50
ClassScholar = 54
// Craftsman subclasses
ClassProvisioner = 47
ClassWoodworker = 48
ClassCarpenter = 49
// Outfitter subclasses
ClassArmorer = 51
ClassWeaponsmith = 52
ClassTailor = 53
// Scholar subclasses
ClassJeweler = 55
ClassSage = 56
ClassAlchemist = 57
)
// Class validation constants
const (
MaxClassID = 57
MinClassID = 0
DefaultClassID = ClassCommoner
ClassicMaxAdventureClass = 40 // Classic adventure classes (0-40)
ClassicMaxTradeskillClass = 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"
)