9
3

classes.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /*
  2. EQ2Emulator: Everquest II Server Emulator
  3. Copyright (C) 2007 EQ2EMulator Development Team (http://www.eq2emulator.net)
  4. This file is part of EQ2Emulator.
  5. EQ2Emulator is free software: you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation, either version 3 of the License, or
  8. (at your option) any later version.
  9. EQ2Emulator is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with EQ2Emulator. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. #ifndef CLASSES_CH
  17. #define CLASSES_CH
  18. #include "../common/types.h"
  19. #include <map>
  20. using namespace std;
  21. #define COMMONER 0
  22. #define FIGHTER 1
  23. #define WARRIOR 2
  24. #define GUARDIAN 3
  25. #define BERSERKER 4
  26. #define BRAWLER 5
  27. #define MONK 6
  28. #define BRUISER 7
  29. #define CRUSADER 8
  30. #define SHADOWKNIGHT 9
  31. #define PALADIN 10
  32. #define PRIEST 11
  33. #define CLERIC 12
  34. #define TEMPLAR 13
  35. #define INQUISITOR 14
  36. #define DRUID 15
  37. #define WARDEN 16
  38. #define FURY 17
  39. #define SHAMAN 18
  40. #define MYSTIC 19
  41. #define DEFILER 20
  42. #define MAGE 21
  43. #define SORCERER 22
  44. #define WIZARD 23
  45. #define WARLOCK 24
  46. #define ENCHANTER 25
  47. #define ILLUSIONIST 26
  48. #define COERCER 27
  49. #define SUMMONER 28
  50. #define CONJUROR 29
  51. #define NECROMANCER 30
  52. #define SCOUT 31
  53. #define ROGUE 32
  54. #define SWASHBUCKLER 33
  55. #define BRIGAND 34
  56. #define BARD 35
  57. #define TROUBADOR 36
  58. #define DIRGE 37
  59. #define PREDATOR 38
  60. #define RANGER 39
  61. #define ASSASSIN 40
  62. #define ANIMALIST 41
  63. #define BEASTLORD 42
  64. #define SHAPER 43
  65. #define CHANNELER 44
  66. //Tradeskills
  67. // 0 - transmuting/tinkering
  68. #define ARTISAN 45 // 1
  69. #define CRAFTSMAN 46 // 2
  70. #define PROVISIONER 47 // 3
  71. #define WOODWORKER 48 // 4
  72. #define CARPENTER 49 // 5
  73. #define OUTFITTER 50 // 6
  74. #define ARMORER 51 // 7
  75. #define WEAPONSMITH 52 // 8
  76. #define TAILOR 53 // 9
  77. #define SCHOLAR 54 // 10
  78. #define JEWELER 55 // 11
  79. #define SAGE 56 // 12
  80. #define ALCHEMIST 57 // 13
  81. //43 - artisan
  82. //44 - craftsman
  83. //45 - provisioner
  84. //46 - Woodworker
  85. //47 - carpenter
  86. //48 - armorer
  87. //49 - weaponsmith
  88. //50 - tailor
  89. //51 -
  90. //52 - jeweler
  91. //53 - sage
  92. //54 - alch
  93. #define MAX_CLASSES 58
  94. class Classes {
  95. public:
  96. Classes();
  97. char* GetEQClassName(int8 class_, int8 level);
  98. const char* GetClassName(int8 class_id);
  99. string GetClassNameCase(int8 class_id);
  100. sint8 GetClassID(const char* name);
  101. int8 GetBaseClass(int8 class_id);
  102. int8 GetSecondaryBaseClass(int8 class_id);
  103. int8 GetTSBaseClass(int8 class_id);
  104. int8 GetSecondaryTSBaseClass(int8 class_id);
  105. private:
  106. map<string, int8> class_map;
  107. };
  108. #endif