RaceTypes.h 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  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 __RACETYPES_H__
  17. #define __RACETYPES_H__
  18. #include "../../common/types.h"
  19. #include <map>
  20. #define DRAGONKIND 101
  21. #define DRAGON 102
  22. #define DRAKE 103
  23. #define DRAKOTA 104
  24. #define DROAG 105
  25. #define FAEDRAKE 106
  26. //FLYINGSNAKE Defined in natural as well, think is a better fit there then here
  27. #define SOKOKAR 107
  28. #define WURM 108
  29. #define WYRM 109
  30. #define WYVERN 110
  31. #define FAY 111
  32. #define ARASAI_NPC 112
  33. #define BIXIE 113
  34. #define BROWNIE 114
  35. #define DRYAD 115
  36. #define FAE_NPC 116
  37. #define FAIRY 117
  38. #define SIREN 118
  39. #define SPIRIT 119
  40. #define SPRITE 120
  41. #define TREANT 121 //L&L 8
  42. #define WISP 122
  43. #define MAGICAL 123
  44. #define AMORPH 124
  45. #define CONSTRUCT 125
  46. #define ANIMATION 126
  47. #define BONEGOLEM 127
  48. #define BOVOCH 128
  49. #define CARRIONGOLEM 129
  50. #define CLAYGOLEM 130
  51. #define CUBE 131
  52. #define DERVISH 132
  53. #define DEVOURER 133
  54. #define GARGOYLE 134
  55. #define GOLEM 135
  56. #define GOO 136
  57. #define HARPY 137
  58. #define IMP 138
  59. #define LIVINGSTATUE 139
  60. #define MANNEQUIN 140
  61. #define MIMIC 141
  62. #define MOPPET 142
  63. #define NAGA 143
  64. #define NAYAD 144
  65. #define OOZE 145
  66. #define RUMBLER 146
  67. #define RUSTMONSTER 147
  68. #define SATYR 148
  69. #define SCARECROW 149
  70. #define SPHEROID 150
  71. #define TENTACLETERROR 151
  72. #define TOME 152
  73. #define UNICORN 153
  74. #define WOODELEMENTAL 154
  75. #define MECHANIMAGICAL 155
  76. #define CLOCKWORK 156
  77. #define IRONGUARDIAN 157
  78. #define NATURAL 158
  79. #define ANIMAL 159
  80. #define AQUATIC 160
  81. #define AVIAN 161
  82. #define CANINE 162
  83. #define EQUINE 163
  84. #define FELINE 164
  85. #define INSECT 165
  86. #define PRIMATE 166
  87. #define REPTILE 167
  88. #define ANEMONE 168
  89. #define APOPHELI 169
  90. #define ARMADILLO 170
  91. #define BADGER 171
  92. #define BARRACUDA 172
  93. #define BASILISK 173
  94. #define BAT 174
  95. #define BEAR 175
  96. #define BEAVER 176
  97. #define BEETLE 177
  98. #define BOVINE 178
  99. #define BRONTOTHERIUM 179
  100. #define BRUTE 180
  101. #define CAMEL 181
  102. #define CAT 182
  103. #define CENTIPEDE 183
  104. #define CERBERUS 184
  105. #define CHIMERA 185
  106. #define CHOKIDAI 186
  107. #define COBRA 187
  108. #define COCKATRICE 188
  109. #define CRAB 189
  110. #define CROCODILE 190
  111. #define DEER 191
  112. #define DRAGONFLY 192
  113. #define DUCK 193
  114. #define EEL 194
  115. #define ELEPHANT 195
  116. #define FLYINGSNAKE 196
  117. #define FROG 197
  118. #define GOAT 198
  119. #define GORILLA 199
  120. #define GRIFFIN 200
  121. #define HAWK 201
  122. #define HIVEQUEEN 202
  123. #define HORSE 203
  124. #define HYENA 204
  125. #define KHOALRAT 205
  126. #define KYBUR 206
  127. #define LEECH 207
  128. #define LEOPARD 208
  129. #define LION 209
  130. #define LIZARD 210
  131. #define MAMMOTH 211
  132. #define MANTARAY 212
  133. #define MOLERAT 213
  134. #define MONKEY 214
  135. #define MYTHICAL 215
  136. #define OCTOPUS 216
  137. #define OWLBEAR 217
  138. #define PIG 218
  139. #define PIRANHA 219
  140. #define RAPTOR 220
  141. #define RAT 221
  142. #define RHINOCEROS 222
  143. #define ROCKCRAWLER 223
  144. #define SABERTOOTH 224
  145. #define SCORPION 225
  146. #define SEATURTLE 226
  147. #define SHARK 227
  148. #define SHEEP 228
  149. #define SLUG 229
  150. #define SNAKE 230
  151. #define SPIDER 231
  152. #define STIRGE 232
  153. #define SWORDFISH 233
  154. #define TIGER 234
  155. #define TURTLE 235
  156. #define VERMIN 236
  157. #define VULRICH 237
  158. #define WOLF 238
  159. #define YETI 239
  160. #define PLANAR 240
  161. #define ABOMINATION 241
  162. #define AIRELEMENTAL 242
  163. #define AMYGDALAN 243
  164. #define AVATAR 244
  165. #define CYCLOPS 245
  166. #define DEMON 246
  167. #define DJINN 247
  168. #define EARTHELEMENTAL 248
  169. #define EFREETI 249
  170. #define ELEMENTAL 250
  171. #define ETHEREAL 251
  172. #define ETHERPINE 252
  173. #define EVILEYE 253
  174. #define FIREELEMENTAL 254
  175. #define GAZER 255
  176. #define GEHEIN 256
  177. #define GEONID 257
  178. #define GIANT 258 //L&L 5
  179. #define SALAMANDER 259
  180. #define SHADOWEDMAN 260
  181. #define SPHINX 261
  182. #define SPORE 262
  183. #define SUCCUBUS 263
  184. #define VALKYRIE 264
  185. #define VOIDBEAST 265
  186. #define WATERELEMENTAL 266
  187. #define WRAITH 267
  188. #define PLANT 268
  189. #define CARNIVOROUSPLANT 269
  190. #define CATOPLEBAS 270
  191. #define MANTRAP 271
  192. #define ROOTABOMINATION 272
  193. #define ROOTHORROR 273
  194. #define SUCCULENT 274
  195. #define SENTIENT 275
  196. #define ASHLOK 276
  197. #define AVIAK 277
  198. #define BARBARIAN_NPC 278
  199. #define BIRDMAN 279
  200. #define BOARFIEND 280
  201. #define BUGBEAR 281
  202. #define BURYNAI 282
  203. #define CENTAUR 283 ////L&L 4
  204. #define COLDAIN 284
  205. #define DAL 285
  206. #define DARKELF_NPC 286
  207. #define DIZOK 287
  208. #define DRACHNID 288
  209. #define DRAFLING 289
  210. #define DROLVARG 290
  211. #define DWARF_NPC 291
  212. #define ERUDITE_NPC 292
  213. #define ETTIN 293
  214. #define FREEBLOOD_NPC 294
  215. #define FROGLOK_NPC 295
  216. #define FROSTFELLELF 296
  217. #define FUNGUSMAN 297
  218. #define GNOLL 298 //L&L 1
  219. #define GNOME_NPC 299
  220. #define GOBLIN 300 //L&L 3
  221. #define GRUENGACH 301
  222. #define HALFELF_NPC 302 // Not on the list from wikia but all other races were here so added them
  223. #define HALFLING_NPC 303
  224. #define HIGHELF_NPC 304 // Not on the list from wikia but all other races were here so added them
  225. #define HOLGRESH 305
  226. #define HOOLUK 306
  227. #define HUAMEIN 307
  228. #define HUMAN_NPC 308
  229. #define HUMANOID 309
  230. #define IKSAR_NPC 310
  231. #define KERIGDAL 311
  232. #define KERRAN_NPC 312
  233. #define KOBOLD 313
  234. #define LIZARDMAN 314
  235. #define MINOTAUR 315
  236. #define OGRE_NPC 316
  237. #define ORC 317 //L&L 2
  238. #define OTHMIR 318
  239. #define RATONGA_NPC 319
  240. #define RAVASECT 320
  241. #define RENDADAL 321
  242. #define ROEKILLIK 322
  243. #define SARNAK_NPC 323
  244. #define SKORPIKIS 324
  245. #define SPIROC 325
  246. #define TROGLODYTE 326
  247. #define TROLL_NPC 327
  248. #define ULTHORK 328
  249. #define VULTAK 329
  250. #define WOODELF_NPC 330
  251. #define WRAITHGUARD 331
  252. #define YHALEI 332
  253. #define UNDEAD 333
  254. #define GHOST 334
  255. #define GHOUL 335
  256. #define GUNTHAK 336
  257. #define HORROR 337
  258. #define MUMMY 338
  259. #define SHINREEORCS 339
  260. #define SKELETON 340 //L&L 6
  261. #define SPECTRE 341
  262. #define VAMPIRE_NPC 342
  263. #define ZOMBIE 343 //L&L 7
  264. #define WERE 344
  265. #define AHROUNWEREWOLVES 345
  266. #define LYKULAKWEREWOLVES 346
  267. #define WEREWOLF 347
  268. class MasterRaceTypeList {
  269. public:
  270. MasterRaceTypeList();
  271. ~MasterRaceTypeList();
  272. /// <summary>Add a race type define to the list</summary>
  273. /// <param name='model_id'>The id of the model</param>
  274. /// <param name=raceType_id'>The id of the race type</param>
  275. void AddRaceType(int16 model_id, int16 raceType_id);
  276. /// <summary>Gets the race type for the given model</summary>
  277. /// <param name='model_id'>The model id to get the race type for</param>
  278. int16 GetRaceType(int16 model_id);
  279. /// <summary>Gets the base race type for the given model</summary>
  280. /// <param name='model_id'>The model id to get the base race type for</param>
  281. int16 GetRaceBaseType(int16 model_id);
  282. private:
  283. // model id, race type id
  284. map<int16, int16> m_raceList;
  285. };
  286. #endif