Emu/source/WorldServer/classes.h

103 lines
2.2 KiB
C++

// Copyright (C) 2007-2025 EQ2EMulator
// Licensed under GPL v3
#ifndef CLASSES_CH
#define CLASSES_CH
#include "../common/types.h"
#include <map>
using namespace std;
#define COMMONER 0
#define FIGHTER 1
#define WARRIOR 2
#define GUARDIAN 3
#define BERSERKER 4
#define BRAWLER 5
#define MONK 6
#define BRUISER 7
#define CRUSADER 8
#define SHADOWKNIGHT 9
#define PALADIN 10
#define PRIEST 11
#define CLERIC 12
#define TEMPLAR 13
#define INQUISITOR 14
#define DRUID 15
#define WARDEN 16
#define FURY 17
#define SHAMAN 18
#define MYSTIC 19
#define DEFILER 20
#define MAGE 21
#define SORCERER 22
#define WIZARD 23
#define WARLOCK 24
#define ENCHANTER 25
#define ILLUSIONIST 26
#define COERCER 27
#define SUMMONER 28
#define CONJUROR 29
#define NECROMANCER 30
#define SCOUT 31
#define ROGUE 32
#define SWASHBUCKLER 33
#define BRIGAND 34
#define BARD 35
#define TROUBADOR 36
#define DIRGE 37
#define PREDATOR 38
#define RANGER 39
#define ASSASSIN 40
#define ANIMALIST 41
#define BEASTLORD 42
#define SHAPER 43
#define CHANNELER 44
//Tradeskills
// 0 - transmuting/tinkering
#define ARTISAN 45 // 1
#define CRAFTSMAN 46 // 2
#define PROVISIONER 47 // 3
#define WOODWORKER 48 // 4
#define CARPENTER 49 // 5
#define OUTFITTER 50 // 6
#define ARMORER 51 // 7
#define WEAPONSMITH 52 // 8
#define TAILOR 53 // 9
#define SCHOLAR 54 // 10
#define JEWELER 55 // 11
#define SAGE 56 // 12
#define ALCHEMIST 57 // 13
//43 - artisan
//44 - craftsman
//45 - provisioner
//46 - Woodworker
//47 - carpenter
//48 - armorer
//49 - weaponsmith
//50 - tailor
//51 -
//52 - jeweler
//53 - sage
//54 - alch
#define CLASSIC_MAX_ADVENTURE_CLASS 40 // there is a 41, but its 'scantestbase'
#define CLASSIC_MAX_TRADESKILL_CLASS 13
#define MAX_CLASSES 58
class Classes {
public:
Classes();
char* GetEQClassName(int8 class_, int8 level);
const char* GetClassName(int8 class_id);
string GetClassNameCase(int8 class_id);
sint8 GetClassID(const char* name);
int8 GetBaseClass(int8 class_id);
int8 GetSecondaryBaseClass(int8 class_id);
int8 GetTSBaseClass(int8 class_id);
int8 GetSecondaryTSBaseClass(int8 class_id);
private:
map<string, int8> class_map;
};
#endif