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" )