Guest User

Untitled

a guest
Feb 21st, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 25.79 KB | None | 0 0
  1. // ***************************************************************************
  2. // Author: B. Josh Becker
  3. // Description: This page contains defines as well as the variables used
  4. // in this plugin
  5. // ***************************************************************************
  6.  
  7. #define TASK_ITEMS          0       // Showing items in the HUD
  8. #define TASK_SPAWN          32      // Respawning from revive
  9. #define TASK_IMPALE         64      // Crypt Lord's Impale
  10. #define TASK_BANISH         96      // Used to set the user's origin back to normal
  11. #define TASK_SPAWNREMOVEGOD 128     // Gives the user godmode for a brief period after they respawn
  12. #define TASK_EXPLOSION      160     // From Suicide Bomber
  13. #define TASK_BEAMCYLINDER   192     // From Suicide Bomber
  14. #define TASK_GETINPUT       224     // Calls getuserinput function
  15. #define TASK_COOLDOWN       256     // Ultimate Cooldown function
  16. #define TASK_TRANSPORT      288     // Transport function for ITEM_MOLE
  17. #define TASK_MOLE           320     // Used for mole + fan of knives
  18. #define TASK_WAVE           352     // Healing Wave
  19. #define TASK_REINCARNATION  384     // Weapon Reincarnation
  20. #define TASK_GLOW           416     // Calls glow_change
  21. #define TASK_REMOVEBUYZONE  448     // This will remove a buyzone
  22. #define TASK_HEX            480     // Jumper task (goomba)
  23. #define TASK_RESETSPEED     512     // Reset maxspeed (bash)
  24. #define TASK_ITEM_GLOVES    544     // Nade timer (gloves)
  25. #define TASK_UNHOLYSPEED    576     // Unholyspeed timer
  26. #define TASK_RESETGOD       608     // Reset god mode
  27. #define TASK_BLINKCHECK     640     // Check to see if the player teleported into an invalid location
  28. #define TASK_BLINKSTUCK     672     // Checks to see if a user is stuck after blinking
  29. #define TASK_BIGBADATTACKER 704     // _SH_ResetBigBadAttacker
  30. #define TASK_TELEPORT       736     // For teleporting someone w00t
  31. //#define   TASK_TELEPORT       768     // Teleports the player
  32. //#define   TASK_TELEFADEIN     800     // Calls telefadein function
  33. //#define   TASK_UNSTICK        832     // "Unsticks" a stuck teleported player
  34. #define TASK_SEARCHTARGET   864     // Used by some ultimates
  35. //#define TASK_WALKER           896     // Walker process
  36. #define TASK_ENTANGLEWAIT   928     // Used for entangling roots
  37. #define TASK_LIGHTNING      960     // Used for chain lightning
  38. //#define   TASK_LIGHTSEARCH    992     // Used for chain lightning
  39. #define TASK_LIGHTNINGNEXT  1024    // Used for chain lightning
  40. #define TASK_SPAWNPLAYER    1056    // Used to spawn a player (final spawn call)
  41. #define TASK_GIVEITEMS      1088    // Used to give a player his items after spawning
  42. #define TASK_ITEM_RING  1120    // Used with rings of regeneration
  43. #define TASK_SILENCEBURST   1152
  44. //#define   TASK_ONFIRE         1184    // Used with flamethrower
  45. //#define   TASK_HEALNOW        1226    // Used with Healing Waves
  46. #define TASK_HEALNEXT       1258    // Used with Healing Waves
  47. #define TASK_LIGHT          1290    // Used with serpant wards
  48. #define TASK_SHIELD         1322    // Used to check for shield
  49. #define TASK_FUNNELS        1354    // Used with Swarming Locusts
  50. #define TASK_HETHROWEVENT   1386    // Used for nade trails
  51. #define TASK_MONEYLOOP      1428    // Used for displaying the money for DOD
  52. #define TASK_TEMPENTITY     1460
  53. #define TASK_ANKHGIVEITEMS  1492
  54. #define TASK_HELM           1524
  55. #define TASK_REINCCHECK     1556
  56. #define TASK_SAVE           1588    // Used for saving XP
  57. //#define TASK_UDELAY           1620    // Ultimate Delay Function
  58. //#define TASK_BURN           1652
  59. #define TASK_BURNING        1684    // Used for Blood Mage Ultimate
  60. #define TASK_FINDTARGET     1706    // Used for finding a target
  61. #define TASK_ULTPING        1738    // Used to play the "ping" sound every second
  62.  
  63.  
  64. #define TASK_BUYTIME        2000    // Checks for buytime
  65. #define TASK_CHECKVOTES     2002    // Used for checking the votes
  66. #define TASK_FTCONTROLLER   2003    // Used for automatic start/stop
  67. #define TASK_CHECKWAR3      2004
  68. #define TASK_EXECUTECONFIG  2005
  69. #define TASK_AFTERCONFIG    2006
  70. #define TASK_SETSQL         2007
  71. //#define   TASK_SETLANGUAGE    2008
  72. #define TASK_SETVARIABLES   2009
  73. #define TASK_CLONETHINK     2010
  74. //#define   TASK_CHECKMAP       2011
  75. #define TASK_BOIDTHINK      2012
  76. #define TASK_TARGETBOMBED   2013
  77. //#define TASK_BOMBTIMER        2014
  78. //#define TASK_WAR3CHECK        2015    // Checks the value of sv_warcraft3 every 5 seconds (better than checking it on every function call)
  79. #define TASK_SIPHON         2016
  80. #define TASK_ENDULTIMATE    2017
  81. //#define TASK_BEFORE_ROUND_START       2018
  82. #define TASK_MOLEFIX        3000
  83. #define TASK_RESETSPAWNS    3001
  84. #define TASK_UDELAY         3002        // Ultimate delay function
  85.  
  86. // From ../multiplayer source/dlls/player.cpp
  87. #define ARMOR_RATIO  0.7    // Armor Takes 30% of the damage (was .2 in the SDK)
  88. #define ARMOR_BONUS  0.5    // Each Point of Armor is work 1/x points of health
  89.  
  90. #define TE_BEAMPOINTS       0
  91. #define TE_EXPLOSION        3
  92. #define TE_TAREXPLOSION     4
  93. #define TE_SMOKE            5
  94. #define TE_BEAMENTS         8
  95. #define TE_LAVASPLASH       10
  96. #define TE_TELEPORT         11
  97. #define TE_IMPLOSION        14
  98. #define TE_SPRITETRAIL      15
  99. #define TE_SPRITE           17
  100. #define TE_BEAMCYLINDER     21
  101. #define TE_BEAMFOLLOW       22
  102. #define TE_STREAK_SPLASH    25
  103. #define TE_ELIGHT           28
  104. #define TE_LARGEFUNNEL      100
  105. #define TE_FIZZ             105     // create alpha sprites inside of entity, float upwards
  106. #define TE_BUBBLES          113     // create alpha sprites inside of box, float upwards
  107. #define TE_SPRAY            120
  108. #define TE_PLAYERATTACHMENT 124
  109.  
  110. #define EF_BRIGHTFIELD      1
  111.  
  112. #define TE_EXPLFLAG_NONE    0
  113.  
  114. #define MAX_NAME_LENGTH 32
  115. #define MAX_VAR_LENGTH 64
  116. #define RACE_SKILL_LENGTH 64
  117. #define RACE_SKILL_LENGTH_F 63
  118. #define RACE_NAME_LENGTH 64
  119. #define RACE_NAME_LENGTH_F 63
  120. #define ITEM_NAME_LENGTH 64
  121. #define ITEM_NAME_LENGTH_F 63
  122. #define SHORT_RACE_NAME_LENGTH 16
  123. #define SHORT_RACE_NAME_LENGTH_F 15
  124. #define SHORT_ITEM_NAME_LENGTH 32
  125. #define SHORT_ITEM_NAME_LENGTH_F 31
  126.  
  127. #define TELEPORT_RADIUS         50
  128. #define LIGHTNING_RANGE         500
  129. #define ORB_DAMAGE              20          // Damage done by Orb of Annihilation
  130.  
  131. // CS AmmoX Types
  132. #define AMMOX_338MAGNUM         1     // AWP
  133. #define AMMOX_762NATO           2     // AK47, SCOUT, G3SG1
  134. #define AMMOX_556NATOBOX        3     // MG
  135. #define AMMOX_556NATO           4     // SG552, GALI, FAMAS, M4A1, AUG, SG550
  136. #define AMMOX_BUCKSHOT          5     // M3, XM1014
  137. #define AMMOX_45ACP             6     // MAC10, UMP45, USP
  138. #define AMMOX_57MM              7     // P90, FIVESEVEN
  139. #define AMMOX_50AE              8     // DEAGLE
  140. #define AMMOX_357SIG            9     // P228
  141. #define AMMOX_9MM               10     // MP5NAVY, TMP, GLOCK18, ELITE
  142. #define AMMOX_FLASHBANG         11     // Flashbang
  143. #define AMMOX_HEGRENADE         12     // HE Grenade
  144. #define AMMOX_SMOKEGRENADE      13     // Smoke Grenade
  145.  
  146.  
  147. #define HITGROUP_GENERIC        0 // none
  148. #define HITGROUP_HEAD           1 // 1 << 1 = 2
  149. #define HITGROUP_CHEST          2 // 1 << 2 = 4
  150. #define HITGROUP_STOMACH        3 // 8
  151. #define HITGROUP_LEFTARM        4 // 16
  152. #define HITGROUP_RIGHTARM       5 // 32
  153. #define HITGROUP_LEFTLEG        6 // 64
  154. #define HITGROUP_RIGHTLEG       7 // 128
  155.  
  156. /*   Weapon IDs  */
  157. #define CSW_WORLDSPAWN          0
  158.  
  159. #if !defined CSW_GALIL
  160.     #define CSW_GALIL           14
  161. #endif
  162. #if !defined CSW_FAMAS
  163.     #define CSW_FAMAS           15
  164. #endif
  165.  
  166. #define CSW_WAR3_MIN            51
  167.  
  168. #define CSW_LIGHTNING           51
  169. #define CSW_SUICIDE             52
  170. #define CSW_IMMOLATE            53
  171. #define CSW_LOCUSTS             54
  172. #define CSW_SERPENTWARD         55
  173. #define CSW_SHADOW              56
  174. #define CSW_THORNS              57
  175. #define CSW_CARAPACE            58
  176. #define CSW_CARRION             59
  177. #define CSW_ORB                 60
  178. #define CSW_CONCOCTION          61
  179. #define CSW_BANISH              62
  180.  
  181. #define CSW_WAR3_MAX            62
  182.  
  183. // Should be equal to (CSW_WAR3_MIN - CSW_WAR3_MAX) + 1
  184. #define MAX_CSW_S               12
  185.  
  186. // Race numbers
  187. #define RACE_NONE               0
  188. #define RACE_UNDEAD             1
  189. #define RACE_HUMAN              2
  190. #define RACE_ORC                3
  191. #define RACE_ELF                4
  192. #define RACE_BLOOD              5
  193. #define RACE_SHADOW             6
  194. #define RACE_WARDEN             7
  195. #define RACE_CRYPT              8
  196. #define RACE_CHAMELEON          9
  197.  
  198. // team ids
  199. #define UNASSIGNED 0
  200. #define TS 1
  201. #define CTS 2
  202. #define AUTO_TEAM 5
  203.  
  204. // New team ID defines
  205. #define TEAM_T      1
  206. #define TEAM_CT     2
  207.  
  208. // To determine what game is running
  209. #define GAME_CSTRIKE        1
  210. #define GAME_CZERO          2
  211. #define GAME_DOD            3
  212.  
  213. // Used with PB_SKINSWITCHED
  214. #define SKIN_RESET                  0
  215. #define SKIN_SWITCH                 1
  216.  
  217. #define KEY_1                       0
  218. #define KEY_2                       1
  219. #define KEY_3                       2
  220. #define KEY_4                       3
  221. #define KEY_5                       4
  222. #define KEY_6                       5
  223. #define KEY_7                       6
  224. #define KEY_8                       7
  225. #define KEY_9                       8
  226. #define KEY_0                       9
  227.  
  228. #define XPOS                        0
  229. #define YPOS                        1
  230. #define ZPOS                        2
  231.  
  232. #define DISPLAYLEVEL_NONE           0
  233. #define DISPLAYLEVEL_SHOWRACE       1
  234. #define DISPLAYLEVEL_SHOWGAINED     2
  235. //#define DISPLAYLEVEL_SHOWBOTH     3
  236. #define DISPLAYLEVEL_SHOWRACECHAT   4
  237.  
  238. #define MAX_RACES                   9
  239.  
  240. #define MAX_LEVELS                  30
  241.  
  242. // ***************************************************************************
  243. // The following section contains defines for the player_data array, it pretty much
  244. // stores everything.  
  245. //      P_ is within player_data
  246. //      PB_ is within player_data_bool array
  247. // ***************************************************************************
  248.     // ***************************
  249.     //      Start of info for player_data
  250.     // ***************************
  251.  
  252.     #define P_RACE                  0       // Race
  253.     //#define P_SKILL1                1     // Skill 1 level
  254.     //#define P_SKILL2                2     // Skill 2 level
  255.     //#define P_SKILL3                3     // Skill 4 level
  256.     //#define P_ULTIMATE              4     // Ultimate level
  257.     #define P_LEVEL                 5       // Player Level
  258.     #define P_XP                    6       // Current XP
  259.  
  260.     // Miscellaneous options
  261.     #define P_SPECMODE              7       // Used to determine if the player is spectating or not
  262.     #define P_SHOWRACEMENU          8       // Should we show the race menu when the player respawns?
  263.     #define P_SHOWICONS             9       // Show player icons/levels for this player?
  264.     #define P_CHANGERACE            10      // Holds the value of what race to change to when the following round starts
  265.  
  266.     // Used for weapon Reincarnation
  267.     #define P_FLASHCOUNT            11      // Number of flash grenades bought that round
  268.     #define P_HECOUNT               12      // Number of HE's bought that round
  269.     #define P_SMOKECOUNT            13      // Number of smoke grenades bought that round
  270.     #define P_ARMORONDEATH          14      // Amount of armor the player had when he/she died
  271.     #define P_LASTARMOR             15      // This will contain the previous value of P_ARMORONDEATH
  272.  
  273.     // Used by various ultimates/abilities
  274.     #define P_TELEMENU              16      // Used by teleport
  275.     #define P_TEAM                  17      // Stores the player's team ID
  276.     //#define P_SHADOWCOUNT         18      // Number of shadow strikes the player has left
  277.     #define P_SERPENTCOUNT          19      // Number of serpent wards the player has left
  278.     #define P_RINGS                 20
  279.     #define P_ULTIMATEDELAY         21
  280.     #define P_RESPAWNBY             22      // Stores how the user is going to respawn
  281.  
  282.     // Used for DOD
  283.     #define P_MONEY                 23      // Amount of money the player has
  284.  
  285.     #define P_LAST                  24
  286.     // ***************************
  287.     //      End of info for player_data
  288.     // ***************************
  289.  
  290.  
  291.     // ***************************
  292.     //      Start of info for player_data_bool
  293.     // ***************************
  294.  
  295.     // Miscellaneous
  296.     #define PB_SKINSWITCHED         0       // Set if the user's skin has been changed
  297.     #define PB_RESETSKILLS          1       // Does the player want to reset their skills in the next round?
  298.     #define PB_CHANGINGTEAM         2       // Is the user currently changing his/her team?
  299.     #define PB_DIEDLASTROUND        3       // Did the user died during the previous round?
  300.  
  301.     // Used for weapon Reincarnation
  302.     #define PB_DEFUSE               4       // Player had a defuse kit when he/she died?
  303.     #define PB_SHIELD               5       // Player had a shield when he/she died?
  304.     #define PB_NIGHTVISION          6       // Player had nightvision when he/she died?
  305.     #define PB_USP_SILENCED         28      // USP silenced on death?
  306.     #define PB_M4A1_SILENCED        29      // M4A1 silenced on death?
  307.     #define PB_GLOCK_BURST          30      // Glock in burst mode on death?
  308.     #define PB_FAMAS_BURST          31      // Famas in burst mode on death?
  309.  
  310.  
  311.     // Used by various ultimates/abilities
  312.     #define PB_GIVEITEMS            7       // Tells weapon controller function to give the player his items after respawning
  313.     #define PB_NADEJUSTRECEIVED     8       // Used with flaming gloves... (removable?)
  314.     #define PB_MOLE                 9       // Is the player a mole?
  315.     #define PB_PHOENIX              10      // Will this player have phoenix?
  316.     #define PB_WARDENBLINK          11      // Does this player have blink enabled?
  317.     #define PB_SUICIDEATTEMPT       12      // Has this player made a suicide attempt for undead's ultimate?
  318.     #define PB_ISBURNING            13      // Is the player burning from the immolate ultimate?
  319.     #define PB_STUNNED              14
  320.     #define PB_SLOWED               15
  321.     #define PB_ISSEARCHING          16
  322.     #define PB_LIGHTNINGHIT         17
  323.     #define PB_INVIS                18
  324.     #define PB_HEXED                19      // Is the player hexed? (All abilities are disabled)
  325.     #define PB_JUSTJOINED           20
  326.     #define PB_ISCONNECTED          21
  327.     #define PB_GODMODE              22
  328.  
  329.     #define PB_HAS_SPAWNED          23      // Has the player previously spawned this round?
  330.     #define PB_CAN_RENDER           24
  331.  
  332.     #define PB_NO_DAMAGE            25
  333.     #define PB_BIGBAD_ATTACKER      26      // This user is allowed to attack a user running big bad voodoo!
  334.  
  335.     #define PB_ISPLANTING           27      // Set to true if the user is planting the bomb
  336.  
  337. //  #define PB_CHAM_CONFIGURED      28      // Has chameleon been configured?
  338.  
  339.     #define PB_LAST                 32
  340.     // ***************************
  341.     //      End of info for player_data_bool
  342.     // ***************************
  343. // ***************************************************************************
  344. //  End player array information
  345. // ***************************************************************************
  346.  
  347.  
  348. // What is the user going to respawn by?
  349. #define RESPAWN_ITEM            1
  350. #define RESPAWN_PHOENIX         2
  351. #define RESPAWN_VENGEANCE       3
  352.  
  353. // Enemies who have immunity w/in this radius will cause blink to fail
  354. #define IMMUNITY_RADIUS     500
  355.  
  356. #define SPAWN_DELAY         0.2
  357.  
  358. // ***************************************************************************
  359. //  Start of variables
  360. // ***************************************************************************
  361.  
  362. // Use this everywhere instead of declaring it in each function (compiles faster)
  363. new szTmpMsg[2048];
  364.  
  365. // This keeps track of which races were given "free" XP - we don't want to save this XP to the database
  366. new bool:g_bGivenLevel10[33][MAX_RACES+1]// Stores if we gave them level 10
  367.  
  368. new g_GlowLevel[33][4];
  369.  
  370. // Used for Chameleon
  371. new g_ChamSkills[5];
  372.  
  373. new p_data[33][P_LAST]                  // Contains player data
  374. new bool:p_data_b[33][PB_LAST]          // Contains player data of type boolean
  375.  
  376. // Used for advanced statistics
  377. new iStatsHead[33][MAX_CSW_S]
  378. new iStatsChest[33][MAX_CSW_S]
  379. new iStatsStomach[33][MAX_CSW_S]
  380. new iStatsLeftArm[33][MAX_CSW_S]
  381. new iStatsRightArm[33][MAX_CSW_S]
  382. new iStatsLeftLeg[33][MAX_CSW_S]
  383. new iStatsRightLeg[33][MAX_CSW_S]
  384. new iStatsKills[33][MAX_CSW_S]
  385. new iStatsDeaths[33][MAX_CSW_S]
  386. new iStatsHS[33][MAX_CSW_S]
  387. new iStatsTKS[33][MAX_CSW_S]
  388. new iStatsShots[33][MAX_CSW_S]
  389. new iStatsHits[33][MAX_CSW_S]
  390. new iStatsDamage[33][MAX_CSW_S]
  391.  
  392. new MAXPLAYERS
  393.  
  394. // Used by admin menu
  395. new g_menuPosition[33]
  396. new g_menuPlayers[33][32]
  397. new g_menuPlayersNum[33]
  398. new g_menuOption[33]
  399. new g_menuSettings[33]
  400.  
  401. new gmsgStatusText
  402. new gmsgBarTime
  403.  
  404. // Used with SHARED_SetUserSpeed
  405. new bool:g_bPlayerZoomed[33];
  406.  
  407. new szSpawnEnt[2][32];
  408.  
  409. /*  START - CSTRIKE VARIABLES */
  410. new bool:g_freezeTime   = false;
  411. new bool:g_buyTime
  412.  
  413. // Counter-Strike/Condition Zero Skins
  414. new SKIN_CT[5][]        = { "sas"       , "gsg9"    , "urban"       , "gign"    , "spetsnaz" };
  415. new SKIN_T[5][]         = { "arctic"    , "leet"    , "guerilla"    , "terror"  , "militia" };
  416.    
  417. // Day of Defeat Player skins
  418. new SKIN_AXIS[2][]      = { "axis-inf"  , "axis-para" };
  419. new SKIN_ALLIES[2][]    = { "us-inf"    , "us-para" };
  420. new SKIN_BRIT[1][]      = { "brit-inf" };
  421.  
  422. new CsArmorType:g_ArmorType[33];
  423.  
  424. /*  END - CSTRIKE VARIABLES */
  425.  
  426. /*  START - DOD VARIABLES */
  427. new gmsgHudText
  428.  
  429. new iReincarnation[33][3];
  430. /*  END - DOD VARIABLES */
  431.  
  432. // Used to keep track of how much dmg one player does to another
  433. new g_iDamageDealt[33][33];
  434.  
  435. // Used with helm
  436. new Float:fLastShotFired[33];
  437.  
  438. // Used to determine if the ultimatedelay is valid
  439. new g_iUltimateDelay;
  440.  
  441. // Captured Messages
  442. new gmsgDeathMsg
  443. new gmsgScreenFade
  444. new gmsgScreenShake
  445. new gmsgScoreInfo
  446. new gmsgStatusIcon
  447.  
  448. new bool:g_GameRestarting = false;
  449.  
  450. new bool:bIgnoreArmorSet[33];
  451.  
  452. new g_MODclient[15] = "* [WAR3FT]"
  453.  
  454. new bool:warcraft3 = true
  455. new bool:g_EndRound
  456.  
  457. // Used to make sure a spawn point isn't used for another player
  458. #define TOTAL_SPAWNS    64
  459. new g_iSpawnReserved[TOTAL_SPAWNS];
  460. new g_iSpawnInc = 0;
  461.  
  462. new g_PlayerWeapons[33][32];            // Stores player weapons after they have been purchased
  463. new g_PlayerLastWeapons[33][32];        // Stores player weapons after they have been purchased
  464.  
  465. new g_MOD = 0;
  466.  
  467. // thanks twistedeuphoria - from objective proximity warning
  468. #define MAX_OBJECTIVES          11
  469. #define OBJENT_VIP_ESCAPE       0
  470. #define OBJENT_HOSTAGE          1
  471. #define OBJENT_BOMBSITE         2
  472. #define OBJENT_HOSTAGE_ESCAPE   3
  473.  
  474. new g_iObjectiveEnt[MAX_OBJECTIVES];
  475. new g_iObjectiveEntType[MAX_OBJECTIVES];
  476. new Float:g_fObjectiveOrigin[MAX_OBJECTIVES][3]
  477. new g_iTotalObjectiveEnts = 0;
  478.  
  479. new bool:g_bLevitation[33];
  480.  
  481. new bool:g_bOrcNadesDisabled = false;
  482. new bool:g_bGlovesDisabled = false;
  483.  
  484. // ***************************
  485. // Skill Information
  486. // ***************************
  487.  
  488. #define SKILL_1                     1
  489. #define SKILL_2                     2
  490. #define SKILL_3                     3
  491. #define SKILL_ULTIMATE              4
  492. #define SKILL_PASSIVE               5
  493.  
  494. #define MAX_PLAYER_SKILLS           6
  495. #define MIN_ULT_LEVEL               6
  496.  
  497. // SKILL DEFINES
  498. #define SKILL_NONE              -1
  499.  
  500. #define SKILL_VAMPIRICAURA      0
  501. #define SKILL_UNHOLYAURA        1
  502. #define SKILL_LEVITATION        2
  503. #define ULTIMATE_SUICIDE        3
  504.  
  505. #define SKILL_INVISIBILITY      4
  506. #define SKILL_DEVOTION          5
  507. #define SKILL_BASH              6
  508. #define ULTIMATE_BLINK          7
  509.  
  510. #define SKILL_CRITICALSTRIKE    8
  511. #define SKILL_CRITICALGRENADE   9
  512. #define SKILL_REINCARNATION     10
  513. #define ULTIMATE_CHAINLIGHTNING 11
  514.  
  515. #define SKILL_EVASION           12
  516. #define SKILL_THORNS            13
  517. #define SKILL_TRUESHOT          14
  518. #define ULTIMATE_ENTANGLE       15
  519.  
  520. #define SKILL_PHOENIX           16
  521. #define SKILL_BANISH            17
  522. #define SKILL_SIPHONMANA        18
  523. #define ULTIMATE_IMMOLATE       19
  524. #define PASS_RESISTANTSKIN      20
  525.  
  526. #define SKILL_HEALINGWAVE       21
  527. #define SKILL_HEX               22
  528. #define SKILL_SERPENTWARD       23
  529. #define ULTIMATE_BIGBADVOODOO   24
  530. #define PASS_UNSTABLECONCOCTION 25
  531.  
  532. #define SKILL_FANOFKNIVES       26
  533. #define SKILL_BLINK             27
  534. #define SKILL_SHADOWSTRIKE      28
  535. #define ULTIMATE_VENGEANCE      29
  536. #define PASS_HARDENEDSKIN       30
  537.  
  538. #define SKILL_IMPALE            31
  539. #define SKILL_SPIKEDCARAPACE    32
  540. #define SKILL_CARRIONBEETLES    33
  541. #define ULTIMATE_LOCUSTSWARM    34
  542. #define PASS_ORB                35
  543.  
  544. #define MAX_SKILLS              81
  545. #define MAX_RACE_SKILLS         3
  546. #define MAX_SKILL_LEVEL         9
  547. #define MAX_ULTIMATE_LEVEL      1
  548.  
  549. // Used with g_SkillType
  550. #define SKILL_TYPE_TRAINABLE    1
  551. #define SKILL_TYPE_PASSIVE      2
  552. #define SKILL_TYPE_ULTIMATE     3
  553.  
  554. // Used with g_SkillOrder
  555. #define SKILL_POS_NONE          -1
  556. #define SKILL_POS_1             0
  557. #define SKILL_POS_2             1
  558. #define SKILL_POS_3             2
  559. #define SKILL_POS_4             3
  560.  
  561. new g_SkillOwner[MAX_SKILLS ]// For each skill, says who the owning race is
  562. new g_SkillType[MAX_SKILLS  ]// For each skill, says what type of skill it is (trainable/ultimate/passive)
  563. new g_SkillOrder[MAX_SKILLS ]// For each skill, lists what order it should appear in /level and /selectskill (and how it should save)
  564.  
  565. // Used to store what level each skill is for the players
  566. new g_PlayerSkillLevel[33][MAX_SKILLS];         // Stores what level each skill is
  567. new bool:g_bPlayerSkills[33][MAX_SKILLS];       // Stores what skills the player has available (set on race selection)
  568.  
  569. // Constants for Abilities
  570. new const Float:p_vampiric[9] =         {0.5,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45}       // Vampiric Aura            (skill 1)
  571. new Float:p_unholy[9] =                 {260.0,270.0,280.0,290.0,300.0,310.0,320.0,330.0,340.0} // Unholy Aura              (skill 2)
  572. new Float:p_unholy_dod[9] =             {33.3,44.0,55.0,66.0,77.0,88.0,99.0,111.0.122.0,130.0}
  573. new const Float:p_levitation[9] =       {0.8,0.7,0.6,0.5,0.4,0.35,0.30,0.25,0.20}           // Levitation               (skill 3)
  574.  
  575. new const p_invisibility[9] =           {200,190,180,170,160,145,130,120,100}           // Invisibility             (skill 1)
  576. new const p_devotion =                  15                      // Devotion Aura            (skill 2)
  577. new const Float:p_bash[9] =             {0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45}      // Bash                     (skill 3)
  578.  
  579. new const Float:p_critical[9] =         {0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9}       // Critical Strike          (skill 1)
  580. new const Float:p_grenade[9] =          {1.0,2.0,3.0,3.5,4.0,4.5,5.0,5.5,6.0}           // Critical Grenade         (skill 2)
  581. new const Float:p_ankh[9] =             {0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0}       // Equipment reincarnation  (skill 3)
  582.  
  583. new const Float:p_evasion[9] =          {0.1,0.175,0.25,0.40,0.50,0.60,0.70,0.75,0.80}      // Evasion                  (skill 1)
  584. new const Float:p_thorns[9] =           {0.05,0.1,0.15,0.20,0.22,0.25,0.28,0.30,0.33}           // Thorns Aura              (skill 2)
  585. new const Float:p_trueshot[9] =         {0.1,0.2,0.35,0.40,0.42,0.44,0.46,0.48,0.50}            // Trueshot Aura            (skill 3)
  586.  
  587.  
  588. new const Float:p_phoenix[9] =          {0.22,0.33,0.44,0.55,0.66,0.77,0.88,0.99,2.00,}     // Phoenix                  (skill 1)
  589. new const p_phoenix_dod[9] =            {222,333,444,555,666,777,888,999,2000}          // Phoenix - DOD            (skill 1)
  590. new const Float:p_banish[9] =           {0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45}      // Banish                   (skill 2)
  591. new const Float:p_mana[9] =             {0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.1}        // Siphon Mana              (skill 3)
  592. new const Float:p_resistant[31] =       {0.02, 0.04, 0.08, 0.12, 0.16, 0.20, 0.24, 0.28, 0.32, 0.36, 0.40}  // Resistant Skin       (Skill 4)
  593.  
  594. new const Float:p_heal[9] =             {6.0,5.0,4.0,3.0,2.5,2.0,1.5,1.0,0.5}           // Healing Wave             (skill 1)
  595. new const Float:p_hex[9] =              {0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45}      // Hex                      (skill 2)
  596. new const p_serpent[9] =                {1,2,3,4,5,6,7,8,9}                 // Serpent Ward             (skill 3)
  597. new const Float:p_concoction[31] =      {0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10,0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.20,0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27, 0.28, 0,29, 0.30,0.31} // Unstable Concoction  (Skill 4)
  598.  
  599. new const Float:p_fan[9] =              {0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45}      // Fan of Knives            (skill 1)
  600. new const Float:p_blink[9] =            {0.22,0.33,0.44,0.55,0.66,0.77,0.88,0.99,2.00,}     // Blink                    (skill 2)
  601. new const Float:p_shadow[9] =           {0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45}      // Shadow Strike            (skill 3)
  602. new const Float:p_harden[31] =          {0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10,0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18,0.19, 0.20,0.21, 0.22, 0.23, 0.25, 0.27, 0.30, 0.33, 0.36, 0,40, 0.45,0.51}  // Hardened Skin        (Skill 4)
  603.  
  604. new const Float:p_impale[9] =           {0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45}          // Impale                   (skill 1)
  605. new const Float:p_spiked[9] =           {0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45}          // Spiked Carapace          (skill 2)
  606. new const Float:p_carrion[9] =          {0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45}      // Carrion Beetle           (skill 3)
  607. new const Float:p_orb[31] =             {0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10,0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.20,0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27, 0.28, 0,29, 0.30,0.31} // Orb of Annihilation  (Skill 4)
  608.  
  609. new MOTD_header[] = "<html><head><LINK REL=^"StyleSheet^" HREF=^"wc3.css^" TYPE=^"text/css^"></head><body>";
  610.  
  611.  
  612. // SOUNDS
  613. #define MAX_SOUNDS  29
  614.  
  615. new g_szSounds[MAX_SOUNDS][64];
  616.  
  617. #define SOUND_VENGEANCE         0
  618. #define SOUND_SUICIDE           1
  619. #define SOUND_BANISH            2
  620. #define SOUND_LOCUSTSWARM       3
  621. #define SOUND_SHADOWSTRIKE      4
  622. #define SOUND_CARRION           5
  623. #define SOUND_IMPALE            6
  624. #define SOUND_VOODOO            7
  625. #define SOUND_FLAMESTRIKE       8
  626. #define SOUND_ENTANGLING        9
  627. #define SOUND_LIGHTNING         10
  628. #define SOUND_TELEPORT          11
  629. #define SOUND_BLINK             12
  630. #define SOUND_ANNIHILATION      13
  631. #define SOUND_CONCOCTION_CAST   14
  632. #define SOUND_CONCOCTION_HIT    15
  633. #define SOUND_HEX               16
  634. #define SOUND_IMMOLATE          17
  635. #define SOUND_IMMOLATE_BURNING  18
  636. #define SOUND_LEVELUP           19
  637. #define SOUND_PICKUPITEM        20
  638. #define SOUND_TOME              21
  639. #define SOUND_ULTIMATESCAN      22
  640. #define SOUND_ULTIMATEREADY     23
  641. #define SOUND_REINCARNATION     24
  642. #define SOUND_ANTEND            25
  643. #define SOUND_ERROR             26
  644. #define SOUND_DISPELL           27
  645. #define SOUND_SPELLSHIELD       28
  646.  
  647. // SPRITES
  648. #define MAX_SPRITES 15
  649.  
  650. new g_szSprites[MAX_SPRITES][64];
  651. new g_szRaceSprites[MAX_RACES + 1][64];
  652. new g_szLevelSprites[MAX_LEVELS + 1][64];
  653.  
  654. new g_iRaceSprites[MAX_RACES + 1];
  655. new g_iLevelSprites[MAX_LEVELS + 1];
  656. new g_iSprites[MAX_SPRITES] = {0};
  657.  
  658. new bool:g_bExtraSpritesEnabled = false
  659.  
  660. #define SPR_BANISH          0
  661. #define SPR_SHADOWSTRIKE    1
  662. #define SPR_SNOW            2
  663. #define SPR_FIRE            3
  664. #define SPR_BURNING         4
  665. #define SPR_BEETLE          5
  666. #define SPR_FIREBALL        6
  667. #define SPR_BEAM            7
  668. #define SPR_TRAIL           8
  669. #define SPR_SHOCKWAVE       9
  670. #define SPR_LIGHTNING       10
  671. #define SPR_FLARE           11
  672. #define SPR_WAVE            12
  673. #define SPR_SMOKE           13
  674. #define SPR_IMMOLATE        14
  675.  
  676. // HUD Channels
  677. #define HUD_SPEC_INFO           1   // Info displayed in bottom corner of player being spectated
  678. #define HUD_SHOWSTATUS          4   // Information shown on enemies/teammates when looking at them
  679. #define HUD_DOD_MONEY           4   // Money Displayed at top center of screen in DOD
  680. #define HUD_RACE_INFO           2   // /level command
  681. #define HUD_ULTIMATE            1   // Ultimate messages (i.e. you have _ seconds remaining)
  682. #define HUD_SKILL               3   // i.e. "you have evaded a shot"
  683. #define HUD_XP                  3   // Used to show the user their xp/items when dead
  684. #define HUD_AUTO                -1  // Automatically choose one!
  685. #define HUD_TIMER               1   // Timer
  686.  
  687. #define FADE_OUT                0x0000          // Fade out from max alpha
  688. #define FADE_IN                 0x0001          // Fade in to max alpha
  689. #define FADE_MODULATE_OUT       0x0002          // Modulate, fade out from max alpha
  690. #define FADE_MODULATE_IN        0x0003      // Modulate, fade in to max alpha
  691. #define FADE_ONLYONE_OUT        0x0004      // Start at max Alpha, no fade out
  692. #define FADE_ONLYONE_IN         0x0005      // Fade in to max Alpha, no fade out
  693. #define FADE_MODONE_OUT         0x0006      // Modulate, Start at max Alpha, no fade
  694. #define FADE_MODONE_IN          0x0007      // Modulate, Fade in to max Alpha, no fade out
  695.  
  696. #define HUDMESSAGE_FX_FADEIN    0           // hudmessage effect types
  697. #define HUDMESSAGE_FX_FLICKER   1
  698. #define HUDMESSAGE_FX_WRITEOUT  2
  699.  
  700. // Used for spectating info
  701. #define SPEC_HOLDTIME       10.0
  702. new g_iSpectatingID[33];
  703. new Float:g_fLastSpecDisplay[33];
  704.  
  705. // Lets keep track of what team the player is on!
  706. new g_iPlayerTeam[33];
  707.  
  708. #define BOT_CAST_ULT_CHANCE     0.10
  709.  
  710. new bool:g_bCZBotRegisterHam
Add Comment
Please, Sign In to add comment