Advertisement
Guest User

Untitled

a guest
Sep 6th, 2017
311
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.59 KB | None | 0 0
  1. ////////////////////////////////////////////////////////////////////////
  2. // OpenTibia - an opensource roleplaying game
  3. ////////////////////////////////////////////////////////////////////////
  4. // This program is free software: you can redistribute it and/or modify
  5. // it under the terms of the GNU General Public License as published by
  6. // the Free Software Foundation, either version 3 of the License, or
  7. // (at your option) any later version.
  8. //
  9. // This program 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. //
  14. // You should have received a copy of the GNU General Public License
  15. // along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. ////////////////////////////////////////////////////////////////////////
  17.  
  18. #ifndef __CONST__
  19. #define __CONST__
  20. #include "definitions.h"
  21.  
  22. enum MagicEffect_t
  23. {
  24. MAGIC_EFFECT_DRAW_BLOOD = 0x00,
  25. MAGIC_EFFECT_LOSE_ENERGY = 0x01,
  26. MAGIC_EFFECT_POFF = 0x02,
  27. MAGIC_EFFECT_BLOCKHIT = 0x03,
  28. MAGIC_EFFECT_EXPLOSION_AREA = 0x04,
  29. MAGIC_EFFECT_EXPLOSION_DAMAGE = 0x05,
  30. MAGIC_EFFECT_FIRE_AREA = 0x06,
  31. MAGIC_EFFECT_YELLOW_RINGS = 0x07,
  32. MAGIC_EFFECT_POISON_RINGS = 0x08,
  33. MAGIC_EFFECT_HIT_AREA = 0x09,
  34. MAGIC_EFFECT_TELEPORT = 0x0A, //10
  35. MAGIC_EFFECT_ENERGY_DAMAGE = 0x0B, //11
  36. MAGIC_EFFECT_WRAPS_BLUE = 0x0C, //12
  37. MAGIC_EFFECT_WRAPS_RED = 0x0D, //13
  38. MAGIC_EFFECT_WRAPS_GREEN = 0x0E, //14
  39. MAGIC_EFFECT_HITBY_FIRE = 0x0F, //15
  40. MAGIC_EFFECT_POISON = 0x10, //16
  41. MAGIC_EFFECT_MORT_AREA = 0x11, //17
  42. MAGIC_EFFECT_SOUND_GREEN = 0x12, //18
  43. MAGIC_EFFECT_SOUND_RED = 0x13, //19
  44. MAGIC_EFFECT_POISON_AREA = 0x14, //20
  45. MAGIC_EFFECT_SOUND_YELLOW = 0x15, //21
  46. MAGIC_EFFECT_SOUND_PURPLE = 0x16, //22
  47. MAGIC_EFFECT_SOUND_BLUE = 0x17, //23
  48. MAGIC_EFFECT_SOUND_WHITE = 0x18, //24
  49. MAGIC_EFFECT_BUBBLES = 0x19, //25
  50. MAGIC_EFFECT_CRAPS = 0x1A, //26
  51. MAGIC_EFFECT_GIFT_WRAPS = 0x1B, //27
  52. MAGIC_EFFECT_FIREWORK_YELLOW = 0x1C, //28
  53. MAGIC_EFFECT_FIREWORK_RED = 0x1D, //29
  54. MAGIC_EFFECT_FIREWORK_BLUE = 0x1E, //30
  55. MAGIC_EFFECT_STUN = 0x1F, //31
  56. MAGIC_EFFECT_SLEEP = 0x20, //32
  57. MAGIC_EFFECT_WATERCREATURE = 0x21, //33
  58. MAGIC_EFFECT_GROUNDSHAKER = 0x22, //34
  59. MAGIC_EFFECT_HEARTS = 0x23, //35
  60. MAGIC_EFFECT_FIREATTACK = 0x24, //36
  61. MAGIC_EFFECT_ENERGY_AREA = 0x25, //37
  62. MAGIC_EFFECT_SMALLCLOUDS = 0x26, //38
  63. MAGIC_EFFECT_HOLYDAMAGE = 0x27, //39
  64. MAGIC_EFFECT_BIGCLOUDS = 0x28, //40
  65. MAGIC_EFFECT_ICEAREA = 0x29, //41
  66. MAGIC_EFFECT_ICETORNADO = 0x2A, //42
  67. MAGIC_EFFECT_ICEATTACK = 0x2B, //43
  68. MAGIC_EFFECT_STONES = 0x2C, //44
  69. MAGIC_EFFECT_SMALLPLANTS = 0x2D, //45
  70. MAGIC_EFFECT_CARNIPHILA = 0x2E, //46
  71. MAGIC_EFFECT_PURPLEENERGY = 0x2F, //47
  72. MAGIC_EFFECT_YELLOWENERGY = 0x30, //48
  73. MAGIC_EFFECT_HOLYAREA = 0x31, //49
  74. MAGIC_EFFECT_BIGPLANTS = 0x32, //50
  75. MAGIC_EFFECT_CAKE = 0x33, //51
  76. MAGIC_EFFECT_GIANTICE = 0x34, //52
  77. MAGIC_EFFECT_WATERSPLASH = 0x35, //53
  78. MAGIC_EFFECT_PLANTATTACK = 0x36, //54
  79. MAGIC_EFFECT_TUTORIALARROW = 0x37, //55
  80. MAGIC_EFFECT_TUTORIALSQUARE = 0x38, //56
  81. MAGIC_EFFECT_MIRRORHORIZONTAL = 0x39, //57
  82. MAGIC_EFFECT_MIRRORVERTICAL = 0x3A, //58
  83. MAGIC_EFFECT_SKULLHORIZONTAL = 0x3B, //59
  84. MAGIC_EFFECT_SKULLVERTICAL = 0x3C, //60
  85. MAGIC_EFFECT_ASSASSIN = 0x3D, //61
  86. MAGIC_EFFECT_STEPSHORIZONTAL = 0x3E, //62
  87. MAGIC_EFFECT_BLOODYSTEPS = 0x3F, //63
  88. MAGIC_EFFECT_STEPSVERTICAL = 0x40, //64
  89. MAGIC_EFFECT_YALAHARIGHOST = 0x41, //65
  90. MAGIC_EFFECT_BATS = 0x42, //66
  91. MAGIC_EFFECT_SMOKE = 0x43, //67
  92. MAGIC_EFFECT_INSECTS = 0x44, //68
  93. MAGIC_EFFECT_DRAGONHEAD = 0x45, //69
  94. MAGIC_EFFECT_LAST = MAGIC_EFFECT_DRAGONHEAD,
  95.  
  96. //for internal use, dont send to client
  97. MAGIC_EFFECT_NONE = 0xFF,
  98. MAGIC_EFFECT_UNKNOWN = 0xFFFF
  99. };
  100.  
  101. enum ShootEffect_t
  102. {
  103. SHOOT_EFFECT_SPEAR = 0x00,
  104. SHOOT_EFFECT_BOLT = 0x01,
  105. SHOOT_EFFECT_ARROW = 0x02,
  106. SHOOT_EFFECT_FIRE = 0x03,
  107. SHOOT_EFFECT_ENERGY = 0x04,
  108. SHOOT_EFFECT_POISONARROW = 0x05,
  109. SHOOT_EFFECT_BURSTARROW = 0x06,
  110. SHOOT_EFFECT_THROWINGSTAR = 0x07,
  111. SHOOT_EFFECT_THROWINGKNIFE = 0x08,
  112. SHOOT_EFFECT_SMALLSTONE = 0x09,
  113. SHOOT_EFFECT_DEATH = 0x0A, //10
  114. SHOOT_EFFECT_LARGEROCK = 0x0B, //11
  115. SHOOT_EFFECT_SNOWBALL = 0x0C, //12
  116. SHOOT_EFFECT_POWERBOLT = 0x0D, //13
  117. SHOOT_EFFECT_POISONFIELD = 0x0E, //14
  118. SHOOT_EFFECT_INFERNALBOLT = 0x0F, //15
  119. SHOOT_EFFECT_HUNTINGSPEAR = 0x10, //16
  120. SHOOT_EFFECT_ENCHANTEDSPEAR = 0x11, //17
  121. SHOOT_EFFECT_REDSTAR = 0x12, //18
  122. SHOOT_EFFECT_GREENSTAR = 0x13, //19
  123. SHOOT_EFFECT_ROYALSPEAR = 0x14, //20
  124. SHOOT_EFFECT_SNIPERARROW = 0x15, //21
  125. SHOOT_EFFECT_ONYXARROW = 0x16, //22
  126. SHOOT_EFFECT_PIERCINGBOLT = 0x17, //23
  127. SHOOT_EFFECT_WHIRLWINDSWORD = 0x18, //24
  128. SHOOT_EFFECT_WHIRLWINDAXE = 0x19, //25
  129. SHOOT_EFFECT_WHIRLWINDCLUB = 0x1A, //26
  130. SHOOT_EFFECT_ETHEREALSPEAR = 0x1B, //27
  131. SHOOT_EFFECT_ICE = 0x1C, //28
  132. SHOOT_EFFECT_EARTH = 0x1D, //29
  133. SHOOT_EFFECT_HOLY = 0x1E, //30
  134. SHOOT_EFFECT_SUDDENDEATH = 0x1F, //31
  135. SHOOT_EFFECT_FLASHARROW = 0x20, //32
  136. SHOOT_EFFECT_FLAMMINGARROW = 0x21, //33
  137. SHOOT_EFFECT_SHIVERARROW = 0x22, //34
  138. SHOOT_EFFECT_ENERGYBALL = 0x23, //35
  139. SHOOT_EFFECT_SMALLICE = 0x24, //36
  140. SHOOT_EFFECT_SMALLHOLY = 0x25, //37
  141. SHOOT_EFFECT_SMALLEARTH = 0x26, //38
  142. SHOOT_EFFECT_EARTHARROW = 0x27, //39
  143. SHOOT_EFFECT_EXPLOSION = 0x28, //40
  144. SHOOT_EFFECT_CAKE = 0x29, //41
  145. SHOOT_EFFECT_LAST = SHOOT_EFFECT_CAKE,
  146.  
  147. //for internal use, dont send to client
  148. SHOOT_EFFECT_WEAPONTYPE = 0xFE, //254
  149. SHOOT_EFFECT_NONE = 0xFF,
  150. SHOOT_EFFECT_UNKNOWN = 0xFFFF
  151. };
  152.  
  153. enum SpeakClasses
  154. {
  155. SPEAK_CLASS_NONE = 0x00,
  156. SPEAK_CLASS_FIRST = 0x01,
  157. SPEAK_SAY = SPEAK_CLASS_FIRST,
  158. SPEAK_WHISPER = 0x02,
  159. SPEAK_YELL = 0x03,
  160. SPEAK_PRIVATE_PN = 0x04,
  161. SPEAK_PRIVATE_NP = 0x05,
  162. SPEAK_PRIVATE = 0x06,
  163. SPEAK_CHANNEL_Y = 0x07,
  164. SPEAK_CHANNEL_W = 0x08,
  165. SPEAK_RVR_CHANNEL = 0x09,
  166. SPEAK_RVR_ANSWER = 0x0A,
  167. SPEAK_RVR_CONTINUE = 0x0B,
  168. SPEAK_BROADCAST = 0x0C,
  169. SPEAK_CHANNEL_RN = 0x0D, //red - #c text
  170. SPEAK_PRIVATE_RED = 0x0E, //@name@text
  171. SPEAK_CHANNEL_O = 0x0F,
  172. //SPEAK_UNKNOWN_1 = 0x10,
  173. SPEAK_CHANNEL_RA = 0x11, //red anonymous - #d text
  174. //SPEAK_UNKNOWN_2 = 0x12,
  175. SPEAK_MONSTER_SAY = 0x13,
  176. SPEAK_MONSTER_YELL = 0x14,
  177. SPEAK_CLASS_LAST = SPEAK_MONSTER_YELL
  178. };
  179.  
  180. enum MessageClasses
  181. {
  182. MSG_CLASS_FIRST = 0x12,
  183. MSG_STATUS_CONSOLE_RED = MSG_CLASS_FIRST, /*Red message in the console*/
  184. MSG_EVENT_ORANGE = 0x13, /*Orange message in the console*/
  185. MSG_STATUS_CONSOLE_ORANGE = 0x14, /*Orange message in the console*/
  186. MSG_STATUS_WARNING = 0x15, /*Red message in game window and in the console*/
  187. MSG_EVENT_ADVANCE = 0x16, /*White message in game window and in the console*/
  188. MSG_EVENT_DEFAULT = 0x17, /*White message at the bottom of the game window and in the console*/
  189. MSG_STATUS_DEFAULT = 0x18, /*White message at the bottom of the game window and in the console*/
  190. MSG_INFO_DESCR = 0x19, /*Green message in game window and in the console*/
  191. MSG_STATUS_SMALL = 0x1A, /*White message at the bottom of the game window"*/
  192. MSG_STATUS_CONSOLE_BLUE = 0x1B, /*Blue message in the console*/
  193. MSG_CLASS_LAST = MSG_STATUS_CONSOLE_BLUE
  194. };
  195.  
  196. enum MapMarks_t
  197. {
  198. MAPMARK_TICK = 0x00,
  199. MAPMARK_QUESTION = 0x01,
  200. MAPMARK_EXCLAMATION = 0x02,
  201. MAPMARK_STAR = 0x03,
  202. MAPMARK_CROSS = 0x04,
  203. MAPMARK_TEMPLE = 0x05,
  204. MAPMARK_KISS = 0x06,
  205. MAPMARK_SHOVEL = 0x07,
  206. MAPMARK_SWORD = 0x08,
  207. MAPMARK_FLAG = 0x09,
  208. MAPMARK_LOCK = 0x0A,
  209. MAPMARK_BAG = 0x0B,
  210. MAPMARK_SKULL = 0x0C,
  211. MAPMARK_DOLLAR = 0x0D,
  212. MAPMARK_REDNORTH = 0x0E,
  213. MAPMARK_REDSOUTH = 0x0F,
  214. MAPMARK_REDEAST = 0x10,
  215. MAPMARK_REDWEST = 0x11,
  216. MAPMARK_GREENNORTH = 0x12,
  217. MAPMARK_GREENSOUTH = 0x13
  218. };
  219.  
  220. enum FluidColors_t
  221. {
  222. FLUID_EMPTY = 0x00,
  223. FLUID_BLUE = 0x01,
  224. FLUID_RED = 0x02,
  225. FLUID_BROWN = 0x03,
  226. FLUID_GREEN = 0x04,
  227. FLUID_YELLOW = 0x05,
  228. FLUID_WHITE = 0x06,
  229. FLUID_PURPLE = 0x07
  230. };
  231.  
  232. enum FluidTypes_t
  233. {
  234. FLUID_NONE = FLUID_EMPTY,
  235. FLUID_WATER = FLUID_BLUE,
  236. FLUID_BLOOD = FLUID_RED,
  237. FLUID_BEER = FLUID_BROWN,
  238. FLUID_SLIME = FLUID_GREEN,
  239. FLUID_LEMONADE = FLUID_YELLOW,
  240. FLUID_MILK = FLUID_WHITE,
  241. FLUID_MANA = FLUID_PURPLE,
  242.  
  243. FLUID_LIFE = FLUID_RED + 8,
  244. FLUID_OIL = FLUID_BROWN + 8,
  245. FLUID_URINE = FLUID_YELLOW + 8,
  246. FLUID_COCONUTMILK = FLUID_WHITE + 8,
  247. FLUID_WINE = FLUID_PURPLE + 8,
  248.  
  249. FLUID_MUD = FLUID_BROWN + 16,
  250. FLUID_FRUITJUICE = FLUID_YELLOW + 16,
  251.  
  252. FLUID_LAVA = FLUID_RED + 24,
  253. FLUID_RUM = FLUID_BROWN + 24,
  254. FLUID_SWAMP = FLUID_GREEN + 24,
  255.  
  256. FLUID_TEA = FLUID_BROWN + 32,
  257. FLUID_MEAD = FLUID_BROWN + 40
  258. };
  259.  
  260. const uint8_t reverseFluidMap[] =
  261. {
  262. FLUID_EMPTY,
  263. FLUID_WATER,
  264. FLUID_MANA,
  265. FLUID_BEER,
  266. FLUID_EMPTY,
  267. FLUID_BLOOD,
  268. FLUID_SLIME,
  269. FLUID_EMPTY,
  270. FLUID_LEMONADE,
  271. FLUID_MILK
  272. };
  273.  
  274. enum ClientFluidTypes_t
  275. {
  276. CLIENTFLUID_EMPTY = 0x00,
  277. CLIENTFLUID_BLUE = 0x01,
  278. CLIENTFLUID_PURPLE = 0x02,
  279. CLIENTFLUID_BROWN_1 = 0x03,
  280. CLIENTFLUID_BROWN_2 = 0x04,
  281. CLIENTFLUID_RED = 0x05,
  282. CLIENTFLUID_GREEN = 0x06,
  283. CLIENTFLUID_BROWN = 0x07,
  284. CLIENTFLUID_YELLOW = 0x08,
  285. CLIENTFLUID_WHITE = 0x09
  286. };
  287.  
  288. const uint8_t fluidMap[] =
  289. {
  290. CLIENTFLUID_EMPTY,
  291. CLIENTFLUID_BLUE,
  292. CLIENTFLUID_RED,
  293. CLIENTFLUID_BROWN_1,
  294. CLIENTFLUID_GREEN,
  295. CLIENTFLUID_YELLOW,
  296. CLIENTFLUID_WHITE,
  297. CLIENTFLUID_PURPLE
  298. };
  299.  
  300. enum Color_t
  301. {
  302. COLOR_BLACK = 0,
  303. COLOR_BLUE = 5,
  304. COLOR_GREEN = 18,
  305. COLOR_TEAL = 35,
  306. COLOR_LIGHTGREEN = 66,
  307. COLOR_DARKBROWN = 78,
  308. COLOR_LIGHTBLUE = 89,
  309. COLOR_DARKRED = 108,
  310. COLOR_DARKPURPLE = 112,
  311. COLOR_BROWN = 120,
  312. COLOR_GREY = 129,
  313. COLOR_DARKPINK = 152,
  314. COLOR_PURPLE = 154,
  315. COLOR_DARKORANGE = 156,
  316. COLOR_RED = 180,
  317. COLOR_PINK = 190,
  318. COLOR_ORANGE = 192,
  319. COLOR_DARKYELLOW = 205,
  320. COLOR_YELLOW = 210,
  321. COLOR_WHITE = 215,
  322.  
  323. COLOR_NONE = 255,
  324. COLOR_UNKNOWN = 256
  325. };
  326.  
  327. enum Icons_t
  328. {
  329. ICON_NONE = 0,
  330. ICON_POISON = 1 << 0,
  331. ICON_BURN = 1 << 1,
  332. ICON_ENERGY = 1 << 2,
  333. ICON_DRUNK = 1 << 3,
  334. ICON_MANASHIELD = 1 << 4,
  335. ICON_PARALYZE = 1 << 5,
  336. ICON_HASTE = 1 << 6,
  337. ICON_SWORDS = 1 << 7,
  338. ICON_DROWNING = 1 << 8,
  339. ICON_FREEZING = 1 << 9,
  340. ICON_DAZZLED = 1 << 10,
  341. ICON_CURSED = 1 << 11,
  342. ICON_BUFF = 1 << 12,
  343. ICON_PZ = 1 << 13,
  344. ICON_PROTECTIONZONE = 1 << 14
  345. };
  346.  
  347. enum WeaponType_t
  348. {
  349. WEAPON_NONE = 0,
  350. WEAPON_SWORD,
  351. WEAPON_CLUB,
  352. WEAPON_AXE,
  353. WEAPON_DIST,
  354. WEAPON_SHIELD,
  355. WEAPON_FIST,
  356. WEAPON_WAND,
  357. WEAPON_AMMO
  358. };
  359.  
  360. enum Ammo_t
  361. {
  362. AMMO_NONE = 0,
  363. AMMO_BOLT,
  364. AMMO_ARROW,
  365. AMMO_SPEAR,
  366. AMMO_THROWINGSTAR,
  367. AMMO_THROWINGKNIFE,
  368. AMMO_STONE,
  369. AMMO_SNOWBALL
  370. };
  371.  
  372. enum AmmoAction_t
  373. {
  374. AMMOACTION_NONE = 0,
  375. AMMOACTION_REMOVECOUNT,
  376. AMMOACTION_REMOVECHARGE,
  377. AMMOACTION_MOVE,
  378. AMMOACTION_MOVEBACK
  379. };
  380.  
  381. enum WieldInfo_t
  382. {
  383. WIELDINFO_LEVEL = 1,
  384. WIELDINFO_MAGLV = 2,
  385. WIELDINFO_VOCREQ = 4,
  386. WIELDINFO_PREMIUM = 8
  387. };
  388.  
  389. enum Skulls_t
  390. {
  391. SKULL_NONE = 0,
  392. SKULL_YELLOW,
  393. SKULL_GREEN,
  394. SKULL_WHITE,
  395. SKULL_RED,
  396. SKULL_BLACK,
  397. SKULL_LAST = SKULL_BLACK
  398. };
  399.  
  400. enum PartyShields_t
  401. {
  402. SHIELD_NONE = 0,
  403. SHIELD_WHITEYELLOW,
  404. SHIELD_WHITEBLUE,
  405. SHIELD_BLUE,
  406. SHIELD_YELLOW,
  407. SHIELD_BLUE_SHAREDEXP,
  408. SHIELD_YELLOW_SHAREDEXP,
  409. SHIELD_BLUE_NOSHAREDEXP_BLINK,
  410. SHIELD_YELLOW_NOSHAREDEXP_BLINK,
  411. SHIELD_BLUE_NOSHAREDEXP,
  412. SHIELD_YELLOW_NOSHAREDEXP,
  413. SHIELD_LAST = SHIELD_YELLOW_NOSHAREDEXP
  414. };
  415.  
  416. enum GuildEmblems_t
  417. {
  418. EMBLEM_NONE = 0,
  419. EMBLEM_GREEN,
  420. EMBLEM_RED,
  421. EMBLEM_BLUE
  422. };
  423.  
  424. enum item_t
  425. {
  426. ITEM_FIREFIELD = 1492,
  427. ITEM_FIREFIELD_SAFE = 1500,
  428.  
  429. ITEM_POISONFIELD = 1496,
  430. ITEM_POISONFIELD_SAFE = 1503,
  431.  
  432. ITEM_ENERGYFIELD = 1495,
  433. ITEM_ENERGYFIELD_SAFE = 1504,
  434.  
  435. ITEM_MAGICWALL = 1497,
  436. ITEM_MAGICWALL_SAFE = 11098,
  437.  
  438. ITEM_WILDGROWTH = 1499,
  439. ITEM_WILDGROWTH_SAFE = 11099,
  440.  
  441. ITEM_DEPOT = 2594,
  442. ITEM_LOCKER = 2589,
  443.  
  444. ITEM_MALE_CORPSE = 3058,
  445. ITEM_FEMALE_CORPSE = 3065,
  446.  
  447. ITEM_FULLSPLASH = 2016,
  448. ITEM_SMALLSPLASH = 2019,
  449.  
  450. ITEM_PARCEL = 2595,
  451. ITEM_PARCEL_STAMPED = 2596,
  452. ITEM_LETTER = 2597,
  453. ITEM_LETTER_STAMPED = 2598,
  454. ITEM_LABEL = 2599,
  455.  
  456. ITEM_WATERBALL_SPLASH = 7711,
  457. ITEM_WATERBALL = 7956,
  458.  
  459. ITEM_HOUSE_TRANSFER = 1968 //read-only
  460. };
  461.  
  462. enum PlayerFlags
  463. {
  464. PlayerFlag_CannotUseCombat = 0, //2^0 = 1
  465. PlayerFlag_CannotAttackPlayer, //2^1 = 2
  466. PlayerFlag_CannotAttackMonster, //2^2 = 4
  467. PlayerFlag_CannotBeAttacked, //2^3 = 8
  468. PlayerFlag_CanConvinceAll, //2^4 = 16
  469. PlayerFlag_CanSummonAll, //2^5 = 32
  470. PlayerFlag_CanIllusionAll, //2^6 = 64
  471. PlayerFlag_CanSenseInvisibility, //2^7 = 128
  472. PlayerFlag_IgnoredByMonsters, //2^8 = 256
  473. PlayerFlag_NotGainInFight, //2^9 = 512
  474. PlayerFlag_HasInfiniteMana, //2^10 = 1024
  475. PlayerFlag_HasInfiniteSoul, //2^11 = 2048
  476. PlayerFlag_HasNoExhaustion, //2^12 = 4096
  477. PlayerFlag_CannotUseSpells, //2^13 = 8192
  478. PlayerFlag_CannotPickupItem, //2^14 = 16384
  479. PlayerFlag_CanAlwaysLogin, //2^15 = 32768
  480. PlayerFlag_CanBroadcast, //2^16 = 65536
  481. PlayerFlag_CanEditHouses, //2^17 = 131072
  482. PlayerFlag_CannotBeBanned, //2^18 = 262144
  483. PlayerFlag_CannotBePushed, //2^19 = 524288
  484. PlayerFlag_HasInfiniteCapacity, //2^20 = 1048576
  485. PlayerFlag_CanPushAllCreatures, //2^21 = 2097152
  486. PlayerFlag_CanTalkRedPrivate, //2^22 = 4194304
  487. PlayerFlag_CanTalkRedChannel, //2^23 = 8388608
  488. PlayerFlag_TalkOrangeHelpChannel, //2^24 = 16777216
  489. PlayerFlag_NotGainExperience, //2^25 = 33554432
  490. PlayerFlag_NotGainMana, //2^26 = 67108864
  491. PlayerFlag_NotGainHealth, //2^27 = 134217728
  492. PlayerFlag_NotGainSkill, //2^28 = 268435456
  493. PlayerFlag_SetMaxSpeed, //2^29 = 536870912
  494. PlayerFlag_SpecialVIP, //2^30 = 1073741824
  495. PlayerFlag_NotGenerateLoot, //2^31 = 2147483648
  496. PlayerFlag_CanTalkRedChannelAnonymous, //2^32 = 4294967296
  497. PlayerFlag_IgnoreProtectionZone, //2^33 = 8589934592
  498. PlayerFlag_IgnoreSpellCheck, //2^34 = 17179869184
  499. PlayerFlag_IgnoreEquipCheck, //2^35 = 34359738368
  500. PlayerFlag_CannotBeMuted, //2^36 = 68719476736
  501. PlayerFlag_IsAlwaysPremium, //2^37 = 137438953472
  502. PlayerFlag_CanAnswerRuleViolations, //2^38 = 274877906944
  503. PlayerFlag_39, //ignore //2^39 = 549755813888 //not used by us
  504. PlayerFlag_ShowGroupNameInsteadOfVocation, //2^40 = 1099511627776
  505. PlayerFlag_HasInfiniteStamina, //2^41 = 2199023255552
  506. PlayerFlag_CannotMoveItems, //2^42 = 4398046511104
  507. PlayerFlag_CannotMoveCreatures, //2^43 = 8796093022208
  508. PlayerFlag_CanReportBugs, //2^44 = 17592186044416
  509. PlayerFlag_45, //ignore //2^45 = 35184372088832 //not used by us
  510. PlayerFlag_CannotBeSeen, //2^46 = 70368744177664
  511. PlayerFlag_HideHealth, //2^47 = 140737488355328
  512.  
  513. PlayerFlag_LastFlag
  514. };
  515.  
  516. enum PlayerCustomFlags
  517. {
  518. PlayerCustomFlag_AllowIdle = 0, //2^0 = 1
  519. PlayerCustomFlag_CanSeePosition, //2^1 = 2
  520. PlayerCustomFlag_CanSeeItemDetails, //2^2 = 4
  521. PlayerCustomFlag_CanSeeCreatureDetails, //2^3 = 8
  522. PlayerCustomFlag_NotSearchable, //2^4 = 16
  523. PlayerCustomFlag_GamemasterPrivileges, //2^5 = 32
  524. PlayerCustomFlag_CanThrowAnywhere, //2^6 = 64
  525. PlayerCustomFlag_CanPushAllItems, //2^7 = 128
  526. PlayerCustomFlag_CanMoveAnywhere, //2^8 = 256
  527. PlayerCustomFlag_CanMoveFromFar, //2^9 = 512
  528. PlayerCustomFlag_CanLoginMultipleCharacters, //2^10 = 1024 (account flag)
  529. PlayerCustomFlag_HasFullLight, //2^11 = 2048
  530. PlayerCustomFlag_CanLogoutAnytime, //2^12 = 4096 (account flag)
  531. PlayerCustomFlag_HideLevel, //2^13 = 8192
  532. PlayerCustomFlag_IsProtected, //2^14 = 16384
  533. PlayerCustomFlag_IsImmune, //2^15 = 32768
  534. PlayerCustomFlag_NotGainSkull, //2^16 = 65536
  535. PlayerCustomFlag_NotGainUnjustified, //2^17 = 131072
  536. PlayerCustomFlag_IgnorePacification, //2^18 = 262144
  537. PlayerCustomFlag_IgnoreLoginDelay, //2^19 = 524288
  538. PlayerCustomFlag_CanStairhop, //2^20 = 1048576
  539. PlayerCustomFlag_CanTurnhop, //2^21 = 2097152
  540. PlayerCustomFlag_IgnoreHouseRent, //2^22 = 4194304
  541. PlayerCustomFlag_CanWearAllAddons, //2^23 = 8388608
  542. PlayerCustomFlag_IsWalkable, //2^24 = 16777216
  543. PlayerCustomFlag_CanWalkthrough, //2^25 = 33554432
  544.  
  545. PlayerCustomFlag_LastFlag
  546. };
  547.  
  548. //Reserved player storage key ranges
  549. //[10000000 - 20000000]
  550. #define PSTRG_RESERVED_RANGE_START 10000000
  551. #define PSTRG_RESERVED_RANGE_SIZE 10000000
  552.  
  553. //[1000 - 1500]
  554. #define PSTRG_OUTFITS_RANGE_START (PSTRG_RESERVED_RANGE_START + 1000)
  555. #define PSTRG_OUTFITS_RANGE_SIZE 500
  556.  
  557. //[1500 - 2000]
  558. #define PSTRG_OUTFITSID_RANGE_START (PSTRG_RESERVED_RANGE_START + 1500)
  559. #define PSTRG_OUTFITSID_RANGE_SIZE 500
  560.  
  561. #define NETWORK_CRYPTOHEADER_SIZE 8
  562. #define NETWORK_RETRY_TIMEOUT 5000
  563. #define NETWORK_DEFAULT_SIZE 4096
  564. #define NETWORK_HEADER_SIZE 2
  565. #define NETWORK_MAX_SIZE 15360
  566.  
  567. #define IPBAN_FLAG 128
  568. #define LOCALHOST 2130706433
  569.  
  570. #define IS_IN_KEYRANGE(key, range) (key >= PSTRG_##range##_START && ((key - PSTRG_##range##_START) < PSTRG_##range##_SIZE))
  571. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement