1. GAME_VERSION = 122
  2. WORKING, CONTENT, UGC, DEFAULT = xrange(4)
  3. BRANCH = DEFAULT
  4. if BRANCH == UGC:
  5. GAME_VERSION += 200
  6. elif BRANCH == CONTENT:
  7. GAME_VERSION += 100
  8. MASTER_VERSION = 31
  9. REGION_US_WEST, REGION_US_EAST, REGION_EUROPE, REGION_AUSTRALIA = xrange(4)
  10. SERVER_REGIONS = {REGION_US_WEST: 'us_west',
  11. REGION_US_EAST: 'us_east',
  12. REGION_EUROPE: 'europe',
  13. REGION_AUSTRALIA: 'australia'}
  14. VALID_PACKET_AGE_ALLOWANCE_PAST = 60
  15. VALID_PACKET_AGE_ALLOWANCE_FUTURE = 30
  16. MENU_WINDOW_WIDTH = 800
  17. MENU_WINDOW_HEIGHT = 600
  18. NOT_SORTING, SORTING_DOWN, SORTING_UP = xrange(3)
  19. MAX_DISTANCE_SHOOT_DISCREPANCY = 4
  20. MAX_VELOCITY_DISCREPANCY = 4
  21. SERVER_SHOOT_INTERVAL_TOLERANCE = 5
  22. FACE_RIGHT, FACE_LEFT, FACE_BACK, FACE_FRONT, FACE_TOP, FACE_BOTTOM = xrange(6)
  23. DEBUG_COMMAND_1 = '/bot qadd'
  24. DEBUG_COMMAND_2 = '/bot add 1 g'
  25. DEBUG_COMMAND_3 = '/bot add 1 b'
  26. DEBUG_COMMAND_4 = '/bot wake toggle'
  27. DEBUG_COMMAND_5 = '/bot shoot toggle'
  28. DEBUG_COMMAND_6 = '/bot tool'
  29. DEBUG_COMMAND_7 = '/airstrike'
  30. DEBUG_COMMAND_8 = '/'
  31. DEBUG_COMMAND_9 = '/'
  32. DEBUG_COMMAND_10 = '/'
  33. DEBUGDRAW_LINE, DEBUGDRAW_CUBE = xrange(2)
  34. PACKET_COMPRESSION = 1
  35. MAX_PACKET_DECOMPRESSION_SIZE = 1000000
  36. PACKET_SEQUENCED, PACKET_UNSEQUENCED = xrange(2)
  37. PACKET_SENT, PACKET_RECEIVED = xrange(2)
  38. QUANTIZED_INTERVAL_BLOCK_DAMAGE = 0.25
  39. QUANTIZED_INVERSE_BLOCK_DAMAGE = 1.0 / QUANTIZED_INTERVAL_BLOCK_DAMAGE
  40. DEBRIS_DRAW_RANGE = 128.0
  41. CHARACTER_DRAW_RANGE = 192.0
  42. ENOUGH_AMMO_COLOR = (255,
  43. 228,
  44. 0,
  45. 255)
  46. NOT_ENOUGH_AMMO_COLOR = (204,
  47. 28,
  48. 24,
  49. 255)
  50. DEAD_PLAYER_NAME_COLOR = (255,
  51. 0,
  52. 0,
  53. 255)
  54. DEAD_PLAYER_ICON_COLOR = (255,
  55. 0,
  56. 0,
  57. 255)
  58. TEAM_SPECTATOR, TEAM_NEUTRAL, TEAM1, TEAM2 = xrange(4)
  59. TEAM_NAMES = {TEAM_SPECTATOR: 'SPECTATOR',
  60. TEAM_NEUTRAL: 'NEUTRAL',
  61. TEAM1: 'TEAM1_COLOR',
  62. TEAM2: 'TEAM2_COLOR'}
  63. TEAM_COLOURS = {TEAM_SPECTATOR: (255, 255, 255),
  64. TEAM_NEUTRAL: (128, 128, 128),
  65. TEAM1: (44, 117, 179),
  66. TEAM2: (137, 179, 44)}
  67. UI_TEAM_COLOURS = {TEAM1: (44, 117, 179),
  68. TEAM2: (137, 179, 44)}
  69. BASE_CONTESTED_COLOUR = (255, 100, 0)
  70. TEAM_PLAYERS_COUNT_VALUE, TEAM_SCORE_VALUE, TEAM_4DIGIT_SCORE_VALUE, TEAM_SCORE_INACTIVE = xrange(4)
  71. TC_INITIAL_INFO, TC_BASE_ACTIVATE, TC_BASE_DEACTIVATE, TC_BASE_ENTERING, TC_BASE_LEAVING, TC_BASE_CAPTURE_UPDATE, TC_BASE_CONTENDED, TC_BASE_UNCONTENDED = xrange(8)
  72. TC_DETAIL_NOT_REQUIRED = [TC_BASE_ENTERING,
  73. TC_BASE_LEAVING,
  74. TC_BASE_CONTENDED,
  75. TC_BASE_UNCONTENDED]
  76. CLASS_SOLDIER, CLASS_SCOUT, CLASS_ROCKETEER, CLASS_MINER, CLASS_ZOMBIE, CLASS_CLASSIC_SOLDIER, CLASS_GANGSTER_1, CLASS_GANGSTER_2, CLASS_GANGSTER_3, CLASS_GANGSTER_4, CLASS_GANGSTER_VIP_1, CLASS_GANGSTER_VIP_2, CLASS_ENGINEER, CLASS_UGCBUILDER, CLASS_NOOF = xrange(15)
  77. DEFAULT_TEAM_CLASSES = [CLASS_SOLDIER,
  78. CLASS_SCOUT,
  79. CLASS_ENGINEER,
  80. CLASS_MINER]
  81. CLASSIC_TEAM_CLASSES = [CLASS_CLASSIC_SOLDIER]
  82. MAFIA_TEAM_CLASSES = [CLASS_GANGSTER_1,
  83. CLASS_GANGSTER_2,
  84. CLASS_GANGSTER_3,
  85. CLASS_GANGSTER_4]
  86. CLASS_NAMES = {CLASS_SOLDIER: 'SOLDIER',
  87. CLASS_SCOUT: 'SCOUT',
  88. CLASS_ROCKETEER: 'ENGINEER',
  89. CLASS_ENGINEER: 'ENGINEER2',
  90. CLASS_MINER: 'MINER',
  91. CLASS_ZOMBIE: 'ZOMBIE',
  92. CLASS_CLASSIC_SOLDIER: 'CLASSIC_SOLDIER',
  93. CLASS_GANGSTER_1: 'GANGSTER_1_NAME',
  94. CLASS_GANGSTER_2: 'GANGSTER_2_NAME',
  95. CLASS_GANGSTER_3: 'GANGSTER_3_NAME',
  96. CLASS_GANGSTER_4: 'GANGSTER_4_NAME',
  97. CLASS_GANGSTER_VIP_1: 'GANGSTER_VIP_1_NAME',
  98. CLASS_GANGSTER_VIP_2: 'GANGSTER_VIP_2_NAME',
  99. CLASS_UGCBUILDER: 'UGCBUILDER'}
  100. MAFIA_VIPS = {TEAM1: CLASS_GANGSTER_VIP_1,
  101. TEAM2: CLASS_GANGSTER_VIP_2}
  102. PLAYER_INTERACTION_EXPIRY_SECONDS = 5.0
  103. VIP_DAMAGE_MULTIPLIER = 0.5
  104. SOLDIER_HEADSHOT_DAMAGE_MULTIPLIER = 1.0
  105. SCOUT_HEADSHOT_DAMAGE_MULTIPLIER = 1.5
  106. ROCKETEER_HEADSHOT_DAMAGE_MULTIPLIER = 1.5
  107. ENGINEER_HEADSHOT_DAMAGE_MULTIPLIER = 1.5
  108. MINER_HEADSHOT_DAMAGE_MULTIPLIER = 0.5
  109. ZOMBIE_HEADSHOT_DAMAGE_MULTIPLIER = 1.0
  110. CLASSIC_SOLDIER_HEADSHOT_DAMAGE_MULTIPLIER = 1.0
  111. GANGSTER_HEADSHOT_DAMAGE_MULTIPLIER = 1.2
  112. UGCBUILDER_HEADSHOT_DAMAGE_MULTIPLIER = 0
  113. SOLDIER_DAMAGE_MULTIPLIER = 1.0
  114. SCOUT_DAMAGE_MULTIPLIER = 1.43
  115. ROCKETEER_DAMAGE_MULTIPLIER = 1.43
  116. ENGINEER_DAMAGE_MULTIPLIER = 1.1765
  117. MINER_DAMAGE_MULTIPLIER = 1.1765
  118. ZOMBIE_DAMAGE_MULTIPLIER = 0.5
  119. CLASSIC_SOLDIER_DAMAGE_MULTIPLIER = 1.0
  120. GANGSTER_DAMAGE_MULTIPLIER = 1.0
  121. UGCBUILDER_DAMAGE_MULTIPLIER = 0
  122. SOLDIER_ACCEL_MULTIPLIER = 0.7
  123. SCOUT_ACCEL_MULTIPLIER = 0.8
  124. ROCKETEER_ACCEL_MULTIPLIER = 0.7
  125. ENGINEER_ACCEL_MULTIPLIER = 0.7
  126. MINER_ACCEL_MULTIPLIER = 0.7
  127. ZOMBIE_ACCEL_MULTIPLIER = 0.5
  128. CLASSIC_SOLDIER_ACCEL_MULTIPLIER = 1.0
  129. GANGSTER_ACCEL_MULTIPLIER = 0.7
  130. UGCBUILDER_ACCEL_MULTIPLIER = 1.0
  131. SOLDIER_SPRINT_MULTIPLIER = 1.5
  132. SCOUT_SPRINT_MULTIPLIER = 1.6
  133. ROCKETEER_SPRINT_MULTIPLIER = 1.1
  134. ENGINEER_SPRINT_MULTIPLIER = 1.1
  135. MINER_SPRINT_MULTIPLIER = 1.4
  136. ZOMBIE_SPRINT_MULTIPLIER = 1.65
  137. CLASSIC_SOLDIER_SPRINT_MULTIPLIER = 1.33
  138. GANGSTER_SPRINT_MULTIPLIER = 1.5
  139. UGCBUILDER_SPRINT_MULTIPLIER = 1.0
  140. SOLDIER_CROUCH_SNEAK_MULTIPLIER = 0.5
  141. SCOUT_CROUCH_SNEAK_MULTIPLIER = 0.5
  142. ROCKETEER_CROUCH_SNEAK_MULTIPLIER = 0.5
  143. ENGINEER_CROUCH_SNEAK_MULTIPLIER = 0.5
  144. MINER_CROUCH_SNEAK_MULTIPLIER = 0.5
  145. ZOMBIE_CROUCH_SNEAK_MULTIPLIER = 0.5
  146. CLASSIC_SOLDIER_CROUCH_SNEAK_MULTIPLIER = 0.5
  147. GANGSTER_CROUCH_SNEAK_MULTIPLIER = 0.5
  148. UGCBUILDER_CROUCH_SNEAK_MULTIPLIER = 1.0
  149. SOLDIER_FALL_ON_WATER_DAMAGE_MULTIPLIER = 0.5
  150. SCOUT_FALL_ON_WATER_DAMAGE_MULTIPLIER = 0.5
  151. ROCKETEER_FALL_ON_WATER_DAMAGE_MULTIPLIER = 0.5
  152. ENGINEER_FALL_ON_WATER_DAMAGE_MULTIPLIER = 0.5
  153. MINER_FALL_ON_WATER_DAMAGE_MULTIPLIER = 0.5
  154. ZOMBIE_FALL_ON_WATER_DAMAGE_MULTIPLIER = 0.25
  155. CLASSIC_SOLDIER_FALL_ON_WATER_DAMAGE_MULTIPLIER = 1.0
  156. GANGSTER_FALL_ON_WATER_DAMAGE_MULTIPLIER = 0.5
  157. UGCBUILDER_FALL_ON_WATER_DAMAGE_MULTIPLIER = 1.0
  158. SOLDIER_JUMP_MULTIPLIER = 1.2
  159. SCOUT_JUMP_MULTIPLIER = 1.5
  160. ROCKETEER_JUMP_MULTIPLIER = 1.0
  161. ENGINEER_JUMP_MULTIPLIER = 1.0
  162. MINER_JUMP_MULTIPLIER = 1.2
  163. ZOMBIE_JUMP_MULTIPLIER = 1.5
  164. CLASSIC_SOLDIER_JUMP_MULTIPLIER = 1.0
  165. GANGSTER_JUMP_MULTIPLIER = 1.2
  166. UGCBUILDER_JUMP_MULTIPLIER = 1.0
  167. SOLDIER_WATER_FRICTION = 8
  168. SCOUT_WATER_FRICTION = 8
  169. ROCKETEER_WATER_FRICTION = 12.0
  170. ENGINEER_WATER_FRICTION = 8
  171. MINER_WATER_FRICTION = 8
  172. ZOMBIE_WATER_FRICTION = 4.0
  173. CLASSIC_SOLDIER_WATER_FRICTION = 8
  174. GANGSTER_WATER_FRICTION = 8
  175. UGCBUILDER_WATER_FRICTION = 1.0
  176. SOLDIER_FALLING_DAMAGE_MIN_DISTANCE = 10
  177. SCOUT_FALLING_DAMAGE_MIN_DISTANCE = 10
  178. ROCKETEER_FALLING_DAMAGE_MIN_DISTANCE = 10
  179. ENGINEER_FALLING_DAMAGE_MIN_DISTANCE = 10
  180. MINER_FALLING_DAMAGE_MIN_DISTANCE = 10
  181. ZOMBIE_FALLING_DAMAGE_MIN_DISTANCE = 10
  182. CLASSIC_SOLDIER_FALLING_DAMAGE_MIN_DISTANCE = 6
  183. GANGSTER_FALLING_DAMAGE_MIN_DISTANCE = 10
  184. SOLDIER_FALLING_DAMAGE_MAX_DISTANCE = 40
  185. SCOUT_FALLING_DAMAGE_MAX_DISTANCE = 40
  186. ROCKETEER_FALLING_DAMAGE_MAX_DISTANCE = 10
  187. ENGINEER_FALLING_DAMAGE_MAX_DISTANCE = 40
  188. MINER_FALLING_DAMAGE_MAX_DISTANCE = 40
  189. ZOMBIE_FALLING_DAMAGE_MAX_DISTANCE = 60
  190. CLASSIC_SOLDIER_FALLING_DAMAGE_MAX_DISTANCE = 26
  191. GANGSTER_FALLING_DAMAGE_MAX_DISTANCE = 40
  192. SOLDIER_FALLING_DAMAGE_MAX_DAMAGE = 100
  193. SCOUT_FALLING_DAMAGE_MAX_DAMAGE = 100
  194. ROCKETEER_FALLING_DAMAGE_MAX_DAMAGE = 10
  195. ENGINEER_FALLING_DAMAGE_MAX_DAMAGE = 100
  196. MINER_FALLING_DAMAGE_MAX_DAMAGE = 100
  197. ZOMBIE_FALLING_DAMAGE_MAX_DAMAGE = 100
  198. CLASSIC_SOLDIER_FALLING_DAMAGE_MAX_DAMAGE = 100
  199. GANGSTER_FALLING_DAMAGE_MAX_DAMAGE = 100
  200. PLAYER_RADIUS = 0.45
  201. SPOT_SHADOW_RAY_CAST_CHARACTER_HEIGHT = 3
  202. PLAYER_CENTER_VERTICAL_OFFSET = 1.5 / 2
  203. CROUCHING_PLAYER_CENTER_VERTICAL_OFFSET = 2.5 / 2
  204. LINE_OF_SIGHT_HEAD, LINE_OF_SIGHT_TORSO, LINE_OF_SIGHT_LEGS = xrange(3)
  205. LINE_OF_SIGHT_EXPLOSION_MODIFIERS = {LINE_OF_SIGHT_HEAD: 0.5,
  206. LINE_OF_SIGHT_TORSO: 0.3,
  207. LINE_OF_SIGHT_LEGS: 0.2}
  208. PLAYER_STANDING_POS_ABOVE_GROUND = 2.25
  209. PLAYER_CROUCHING_POS_ABOVE_GROUND = 1.35
  210. PLAYER_STANDING_HEIGHT = PLAYER_STANDING_POS_ABOVE_GROUND + PLAYER_RADIUS
  211. PLAYER_CROUCHING_HEIGHT = PLAYER_CROUCHING_POS_ABOVE_GROUND + PLAYER_RADIUS
  212. TEAM_LOCK_DIFFERENCE_COUNT_TOLERANCE = 2
  213. PART_HEAD, PART_TORSO, PART_ARMS, PART_LEFT_LEG, PART_RIGHT_LEG, PART_TORSO_CROUCH, PART_LEG_CROUCH, PART_ENTITY1, PART_ENTITY2 = xrange(9)
  214. BODY_PART_NAMES = {PART_HEAD: 'head',
  215. PART_TORSO: 'torso',
  216. PART_ARMS: 'arms',
  217. PART_LEFT_LEG: 'left leg',
  218. PART_RIGHT_LEG: 'right leg',
  219. PART_TORSO_CROUCH: 'torso crouch',
  220. PART_LEG_CROUCH: 'leg crouch',
  221. PART_ENTITY1: 'entity 1',
  222. PART_ENTITY2: 'entity 2'}
  223. CLASS_BODY_PARTS = {CLASS_SOLDIER: ['HEAD_MODEL_SOLDIER',
  224. 'TORSO_MODEL_SOLDIER',
  225. 'ARMS_MODEL_SOLDIER',
  226. 'LEG_MODEL_SOLDIER',
  227. 'LEG_MODEL_SOLDIER',
  228. 'TORSO_CROUCH_MODEL',
  229. 'LEG_CROUCH_MODEL'],
  230. CLASS_SCOUT: ['HEAD_MODEL_SCOUT',
  231. 'TORSO_MODEL_SCOUT',
  232. 'ARMS_MODEL_SCOUT',
  233. 'LEG_MODEL_SCOUT',
  234. 'LEG_MODEL_SCOUT',
  235. 'TORSO_CROUCH_MODEL',
  236. 'LEG_CROUCH_MODEL'],
  237. CLASS_ROCKETEER: ['HEAD_MODEL_ROCKETEER',
  238. 'TORSO_MODEL_ROCKETEER',
  239. 'ARMS_MODEL_ROCKETEER',
  240. 'LEG_MODEL_ROCKETEER',
  241. 'LEG_MODEL_ROCKETEER',
  242. 'TORSO_CROUCH_MODEL',
  243. 'LEG_CROUCH_MODEL'],
  244. CLASS_ENGINEER: ['HEAD_MODEL_ENGINEER',
  245. 'TORSO_MODEL_ENGINEER',
  246. 'ARMS_MODEL_ENGINEER',
  247. 'LEG_MODEL_ENGINEER',
  248. 'LEG_MODEL_ENGINEER',
  249. 'TORSO_CROUCH_MODEL',
  250. 'LEG_CROUCH_MODEL'],
  251. CLASS_MINER: ['HEAD_MODEL_MINER',
  252. 'TORSO_MODEL_MINER',
  253. 'ARMS_MODEL_MINER',
  254. 'LEG_MODEL_MINER',
  255. 'LEG_MODEL_MINER',
  256. 'TORSO_CROUCH_MODEL',
  257. 'LEG_CROUCH_MODEL'],
  258. CLASS_ZOMBIE: ['HEAD_MODEL_ZOMBIE',
  259. 'TORSO_MODEL_ZOMBIE',
  260. 'ARMS_MODEL_SOLDIER',
  261. 'LEG_MODEL_ZOMBIE',
  262. 'LEG_MODEL_ZOMBIE',
  263. 'TORSO_CROUCH_MODEL',
  264. 'LEG_CROUCH_MODEL'],
  265. CLASS_CLASSIC_SOLDIER: ['HEAD_MODEL_DEUCE',
  266. 'TORSO_MODEL_DEUCE',
  267. 'ARMS_MODEL_DEUCE',
  268. 'LEG_MODEL_DEUCE',
  269. 'LEG_MODEL_DEUCE',
  270. 'TORSO_CROUCH_MODEL',
  271. 'LEG_CROUCH_MODEL'],
  272. CLASS_GANGSTER_1: ['HEAD_MODEL_GANGSTER_1',
  273. 'TORSO_MODEL_GANGSTER_1',
  274. 'ARMS_MODEL_GANGSTER_1',
  275. 'LEG_MODEL_GANGSTER_1',
  276. 'LEG_MODEL_GANGSTER_1',
  277. 'TORSO_CROUCH_MODEL',
  278. 'LEG_CROUCH_MODEL'],
  279. CLASS_GANGSTER_2: ['HEAD_MODEL_GANGSTER_2',
  280. 'TORSO_MODEL_GANGSTER_2',
  281. 'ARMS_MODEL_GANGSTER_2',
  282. 'LEG_MODEL_GANGSTER_2',
  283. 'LEG_MODEL_GANGSTER_2',
  284. 'TORSO_CROUCH_MODEL',
  285. 'LEG_CROUCH_MODEL'],
  286. CLASS_GANGSTER_3: ['HEAD_MODEL_GANGSTER_3',
  287. 'TORSO_MODEL_GANGSTER_3',
  288. 'ARMS_MODEL_GANGSTER_3',
  289. 'LEG_MODEL_GANGSTER_3',
  290. 'LEG_MODEL_GANGSTER_3',
  291. 'TORSO_CROUCH_MODEL',
  292. 'LEG_CROUCH_MODEL'],
  293. CLASS_GANGSTER_4: ['HEAD_MODEL_GANGSTER_4',
  294. 'TORSO_MODEL_GANGSTER_4',
  295. 'ARMS_MODEL_GANGSTER_4',
  296. 'LEG_MODEL_GANGSTER_4',
  297. 'LEG_MODEL_GANGSTER_4',
  298. 'TORSO_CROUCH_MODEL',
  299. 'LEG_CROUCH_MODEL'],
  300. CLASS_GANGSTER_VIP_1: ['HEAD_MODEL_GANGSTER_VIP_1',
  301. 'TORSO_MODEL_GANGSTER_VIP_1',
  302. 'ARMS_MODEL_GANGSTER_VIP_1',
  303. 'LEG_MODEL_GANGSTER_VIP_1',
  304. 'LEG_MODEL_GANGSTER_VIP_1',
  305. 'TORSO_CROUCH_MODEL',
  306. 'LEG_CROUCH_MODEL'],
  307. CLASS_GANGSTER_VIP_2: ['HEAD_MODEL_GANGSTER_VIP_2',
  308. 'TORSO_MODEL_GANGSTER_VIP_2',
  309. 'ARMS_MODEL_GANGSTER_VIP_2',
  310. 'LEG_MODEL_GANGSTER_VIP_2',
  311. 'LEG_MODEL_GANGSTER_VIP_2',
  312. 'TORSO_CROUCH_MODEL',
  313. 'LEG_CROUCH_MODEL'],
  314. CLASS_UGCBUILDER: ['HEAD_MODEL_UGCBUILDER',
  315. 'TORSO_MODEL_UGCBUILDER',
  316. 'ARMS_MODEL_UGCBUILDER',
  317. 'LEG_MODEL_UGCBUILDER',
  318. 'LEG_MODEL_UGCBUILDER',
  319. 'TORSO_CROUCH_MODEL',
  320. 'LEG_CROUCH_MODEL']}
  321. CLASS_BODY_PARTS_FILENAMES = {CLASS_SOLDIER: ['Character_Soldier_Head',
  322. 'Character_Soldier_Body',
  323. 'Character_Arms_Collision',
  324. 'Character_Soldier_Leg',
  325. 'Character_Soldier_Leg',
  326. 'playertorsoc',
  327. 'playerlegc'],
  328. CLASS_SCOUT: ['Character_Scout_Head',
  329. 'Character_Scout_Body',
  330. 'Character_Arms_Collision',
  331. 'Character_Scout_Leg',
  332. 'Character_Scout_Leg',
  333. 'playertorsoc',
  334. 'playerlegc'],
  335. CLASS_ROCKETEER: ['Character_Rocketeer_Head',
  336. 'Character_Rocketeer_Body',
  337. 'Character_Arms_Collision',
  338. 'Character_Rocketeer_Leg',
  339. 'Character_Rocketeer_Leg',
  340. 'playertorsoc',
  341. 'playerlegc'],
  342. CLASS_ENGINEER: ['Character_Engineer_Head',
  343. 'Character_Engineer_Body',
  344. 'Character_Arms_Collision',
  345. 'Character_Engineer_Leg',
  346. 'Character_Engineer_Leg',
  347. 'playertorsoc',
  348. 'playerlegc'],
  349. CLASS_MINER: ['Character_Miner_Head',
  350. 'Character_Miner_Body',
  351. 'Character_Arms_Collision',
  352. 'Character_Miner_Leg',
  353. 'Character_Miner_Leg',
  354. 'playertorsoc',
  355. 'playerlegc'],
  356. CLASS_ZOMBIE: ['Character_Zombie_Head',
  357. 'Character_Zombie_Body',
  358. 'Character_Arms_Collision',
  359. 'Character_Zombie_Leg',
  360. 'Character_Zombie_Leg',
  361. 'playertorsoc',
  362. 'playerlegc'],
  363. CLASS_CLASSIC_SOLDIER: ['Character_Deuce_Head',
  364. 'Character_Deuce_Body',
  365. 'Character_Arms_Collision',
  366. 'Character_Deuce_Leg',
  367. 'Character_Deuce_Leg',
  368. 'playertorsoc',
  369. 'playerlegc'],
  370. CLASS_GANGSTER_1: ['Character_Gangster1_Head',
  371. 'Character_Gangster1_Body',
  372. 'Character_Arms_Collision',
  373. 'Character_Gangster1_Leg',
  374. 'Character_Gangster1_Leg',
  375. 'playertorsoc',
  376. 'playerlegc'],
  377. CLASS_GANGSTER_2: ['Character_Gangster2_Head',
  378. 'Character_Gangster2_Body',
  379. 'Character_Arms_Collision',
  380. 'Character_Gangster2_Leg',
  381. 'Character_Gangster2_Leg',
  382. 'playertorsoc',
  383. 'playerlegc'],
  384. CLASS_GANGSTER_3: ['Character_Gangster3_Head',
  385. 'Character_Gangster3_Body',
  386. 'Character_Arms_Collision',
  387. 'Character_Gangster3_Leg',
  388. 'Character_Gangster3_Leg',
  389. 'playertorsoc',
  390. 'playerlegc'],
  391. CLASS_GANGSTER_4: ['Character_Gangster4_Head',
  392. 'Character_Gangster4_Body',
  393. 'Character_Arms_Collision',
  394. 'Character_Gangster4_Leg',
  395. 'Character_Gangster4_Leg',
  396. 'playertorsoc',
  397. 'playerlegc'],
  398. CLASS_GANGSTER_VIP_1: ['Character_GangsterVIP1_Head',
  399. 'Character_GangsterVIP1_Body',
  400. 'Character_Arms_Collision',
  401. 'Character_GangsterVIP1_Leg',
  402. 'Character_GangsterVIP1_Leg',
  403. 'playertorsoc',
  404. 'playerlegc'],
  405. CLASS_GANGSTER_VIP_2: ['Character_GangsterVIP2_Head',
  406. 'Character_GangsterVIP2_Body',
  407. 'Character_Arms_Collision',
  408. 'Character_GangsterVIP2_Leg',
  409. 'Character_GangsterVIP2_Leg',
  410. 'playertorsoc',
  411. 'playerlegc'],
  412. CLASS_UGCBUILDER: ['Character_UGCBuilder_Head',
  413. 'Character_UGCBuilder_Body',
  414. 'Character_Arms_Collision',
  415. 'Character_UGCBuilder_Leg',
  416. 'Character_UGCBuilder_Leg',
  417. 'playertorsoc',
  418. 'playerlegc']}
  419. CLASS_BODY_PARTS_OFFSETS = {CLASS_SOLDIER: [(0.0, 0.0, 5.5),
  420. (-1.0, 1.5, -9.0),
  421. (0.0, -8.0, -5.0),
  422. (0.0, 0.0, -12.0),
  423. (0.0, 0.0, -12.0),
  424. (0.0, 6.0, -5.0),
  425. (0.0, 0.0, -5.0)],
  426. CLASS_SCOUT: [(0.0, 0.0, 5.5),
  427. (0.0, 1.5, -9.0),
  428. (0.0, -8.0, -5.0),
  429. (0.0, 0.0, -12.0),
  430. (0.0, 0.0, -12.0),
  431. (0.0, 6.0, -5.0),
  432. (0.0, 0.0, -5.0)],
  433. CLASS_ROCKETEER: [(0.0, 0.0, 5.5),
  434. (0.0, 0.0, -9.0),
  435. (0.0, -8.0, -5.0),
  436. (0.0, 0.0, -12.0),
  437. (0.0, 0.0, -12.0),
  438. (0.0, 6.0, -5.0),
  439. (0.0, 0.0, -5.0)],
  440. CLASS_ENGINEER: [(0.0, 0.0, 5.5),
  441. (0.0, 0.0, -9.0),
  442. (0.0, -8.0, -5.0),
  443. (0.0, 0.0, -12.0),
  444. (0.0, 0.0, -12.0),
  445. (0.0, 6.0, -5.0),
  446. (0.0, 0.0, -5.0)],
  447. CLASS_MINER: [(0.0, 0.0, 5.5),
  448. (0.0, 0.0, -9.0),
  449. (0.0, -8.0, -5.0),
  450. (0.0, 0.0, -12.0),
  451. (0.0, 0.0, -12.0),
  452. (0.0, 6.0, -5.0),
  453. (0.0, 0.0, -5.0)],
  454. CLASS_ZOMBIE: [(0.0, 0.0, 5.5),
  455. (0.0, 0.0, -9.0),
  456. (0.0, 0.0, 0.0),
  457. (0.0, 0.0, -12.0),
  458. (0.0, 0.0, -12.0),
  459. (0.0, 6.0, -5.0),
  460. (0.0, 0.0, -5.0)],
  461. CLASS_CLASSIC_SOLDIER: [(0.0, 0.0, 5.5),
  462. (-1.0, 1.5, -9.0),
  463. (0.0, -8.0, -5.0),
  464. (0.0, 0.0, -12.0),
  465. (0.0, 0.0, -12.0),
  466. (0.0, 6.0, -5.0),
  467. (0.0, 0.0, -5.0)],
  468. CLASS_GANGSTER_1: [(0.0, 0.0, 5.5),
  469. (-1.0, 1.5, -9.0),
  470. (0.0, -8.0, -5.0),
  471. (0.0, 0.0, -12.0),
  472. (0.0, 0.0, -12.0),
  473. (0.0, 6.0, -5.0),
  474. (0.0, 0.0, -5.0)],
  475. CLASS_GANGSTER_2: [(0.0, 0.0, 5.5),
  476. (-1.0, 1.5, -9.0),
  477. (0.0, -8.0, -5.0),
  478. (0.0, 0.0, -12.0),
  479. (0.0, 0.0, -12.0),
  480. (0.0, 6.0, -5.0),
  481. (0.0, 0.0, -5.0)],
  482. CLASS_GANGSTER_3: [(0.0, 0.0, 5.5),
  483. (-1.0, 1.5, -9.0),
  484. (0.0, -8.0, -5.0),
  485. (0.0, 0.0, -12.0),
  486. (0.0, 0.0, -12.0),
  487. (0.0, 6.0, -5.0),
  488. (0.0, 0.0, -5.0)],
  489. CLASS_GANGSTER_4: [(0.0, 0.0, 5.5),
  490. (-1.0, 1.5, -9.0),
  491. (0.0, -8.0, -5.0),
  492. (0.0, 0.0, -12.0),
  493. (0.0, 0.0, -12.0),
  494. (0.0, 6.0, -5.0),
  495. (0.0, 0.0, -5.0)],
  496. CLASS_GANGSTER_VIP_1: [(0.0, 0.0, 5.5),
  497. (-1.0, 1.5, -9.0),
  498. (0.0, -8.0, -5.0),
  499. (0.0, 0.0, -12.0),
  500. (0.0, 0.0, -12.0),
  501. (0.0, 6.0, -5.0),
  502. (0.0, 0.0, -5.0)],
  503. CLASS_GANGSTER_VIP_2: [(0.0, 0.0, 5.5),
  504. (-1.0, 1.5, -9.0),
  505. (0.0, -8.0, -5.0),
  506. (0.0, 0.0, -12.0),
  507. (0.0, 0.0, -12.0),
  508. (0.0, 6.0, -5.0),
  509. (0.0, 0.0, -5.0)],
  510. CLASS_UGCBUILDER: [(0.0, 0.0, 5.5),
  511. (0.0, 0.0, -9.0),
  512. (0.0, -8.0, -5.0),
  513. (0.0, 0.0, -12.0),
  514. (0.0, 0.0, -12.0),
  515. (0.0, 6.0, -5.0),
  516. (0.0, 0.0, -5.0)]}
  517. BODY_PARTS_X = [0.0,
  518. 0.0,
  519. 0.0,
  520. -0.25,
  521. 0.25,
  522. 0.0,
  523. 0.0]
  524. BODY_PARTS_Y = [0.0,
  525. 0.0,
  526. 0.0,
  527. 0.0,
  528. 0.0,
  529. 0.0,
  530. 0.0]
  531. BODY_PARTS_Z = [0.3,
  532. 0.3,
  533. 0.5,
  534. 1.1,
  535. 1.1,
  536. 0.0,
  537. 0.7]
  538. BODY_PARTS_SIZE = 0.05
  539. BODY_PART_LEG_CROUCH_Y = -0.3
  540. BODY_PART_ARMS_CROUCH_Z = 0.4
  541. UPPER_ARM, LOWER_ARM = xrange(2)
  542. CLASS_FPS_ARMS = {CLASS_SOLDIER: ['UPPER_ARM_MODEL_SOLDIER', 'LOWER_ARM_MODEL_SOLDIER'],
  543. CLASS_SCOUT: ['UPPER_ARM_MODEL_SCOUT', 'LOWER_ARM_MODEL_SCOUT'],
  544. CLASS_ROCKETEER: ['UPPER_ARM_MODEL_ROCKETEER', 'LOWER_ARM_MODEL_ROCKETEER'],
  545. CLASS_ENGINEER: ['UPPER_ARM_MODEL_ENGINEER', 'LOWER_ARM_MODEL_ENGINEER'],
  546. CLASS_MINER: ['UPPER_ARM_MODEL_MINER', 'LOWER_ARM_MODEL_MINER'],
  547. CLASS_ZOMBIE: ['', ''],
  548. CLASS_CLASSIC_SOLDIER: ['UPPER_ARM_MODEL_DEUCE', 'LOWER_ARM_MODEL_DEUCE'],
  549. CLASS_GANGSTER_1: ['UPPER_ARM_MODEL_GANGSTER_1', 'LOWER_ARM_MODEL_GANGSTER_1'],
  550. CLASS_GANGSTER_2: ['UPPER_ARM_MODEL_GANGSTER_2', 'LOWER_ARM_MODEL_GANGSTER_2'],
  551. CLASS_GANGSTER_3: ['UPPER_ARM_MODEL_GANGSTER_3', 'LOWER_ARM_MODEL_GANGSTER_3'],
  552. CLASS_GANGSTER_4: ['UPPER_ARM_MODEL_GANGSTER_4', 'LOWER_ARM_MODEL_GANGSTER_4'],
  553. CLASS_GANGSTER_VIP_1: ['UPPER_ARM_MODEL_GANGSTER_VIP_1', 'LOWER_ARM_MODEL_GANGSTER_VIP_1'],
  554. CLASS_GANGSTER_VIP_2: ['UPPER_ARM_MODEL_GANGSTER_VIP_2', 'LOWER_ARM_MODEL_GANGSTER_VIP_2'],
  555. CLASS_UGCBUILDER: ['UPPER_ARM_MODEL_UGCBUILDER', 'LOWER_ARM_MODEL_UGCBUILDER']}
  556. CLASS_FPS_ARMS_FILENAMES = {CLASS_SOLDIER: ['Character_Soldier_Arms_Upper', 'Character_Soldier_Arms_Lower'],
  557. CLASS_SCOUT: ['Character_Scout_Arms_Upper', 'Character_Scout_Arms_Lower'],
  558. CLASS_ROCKETEER: ['Character_Rocketeer_Arms_Upper', 'Character_Rocketeer_Arms_Lower'],
  559. CLASS_ENGINEER: ['Character_Engineer_Arms_Upper', 'Character_Engineer_Arms_Lower'],
  560. CLASS_MINER: ['Character_Miner_Arms_Upper', 'Character_Miner_Arms_Lower'],
  561. CLASS_ZOMBIE: ['', ''],
  562. CLASS_CLASSIC_SOLDIER: ['Character_Deuce_Arms_Upper', 'Character_Deuce_Arms_Lower'],
  563. CLASS_GANGSTER_1: ['Character_Gangster1_Arms_Upper', 'Character_Gangster1_Arms_Lower'],
  564. CLASS_GANGSTER_2: ['Character_Gangster2_Arms_Upper', 'Character_Gangster2_Arms_Lower'],
  565. CLASS_GANGSTER_3: ['Character_Gangster3_Arms_Upper', 'Character_Gangster3_Arms_Lower'],
  566. CLASS_GANGSTER_4: ['Character_Gangster4_Arms_Upper', 'Character_Gangster4_Arms_Lower'],
  567. CLASS_GANGSTER_VIP_1: ['Character_GangsterVIP1_Arms_Upper', 'Character_GangsterVIP1_Arms_Lower'],
  568. CLASS_GANGSTER_VIP_2: ['Character_GangsterVIP2_Arms_Upper', 'Character_GangsterVIP2_Arms_Lower'],
  569. CLASS_UGCBUILDER: ['Character_UGCBuilder_Arms_Upper', 'Character_UGCBuilder_Arms_Lower']}
  570. IMAGE_CENTRE, IMAGE_LEFT, IMAGE_RIGHT = xrange(3)
  571. TRACKING_NOTHING, TRACKING_ENTITY, TRACKING_PLAYER = xrange(3)
  572. NORMAL_CROSSHAIR_COLOUR = (255, 255, 255)
  573. HIT_CROSSHAIR_COLOUR = (230, 40, 79)
  574. HIT_CROSSHAIR_TIME = 0.25
  575. NEVER_CROSSHAIR, ZOOMED_CROSSHAIR, UNZOOMED_CROSSHAIR, ALWAYS_CROSSHAIR, HAS_AMMO_CROSSHAIR = xrange(5)
  576. NUMBER_OF_WEAPONS = 42
  577. PICKAXE_TOOL, KNIFE_TOOL, SPADE_TOOL, SUPERSPADE_TOOL, CLASSIC_SPADE_TOOL, BLOCK_TOOL, RIFLE_TOOL, SMG_TOOL, MINIGUN_TOOL, SHOTGUN_TOOL, SHOTGUN2_TOOL, GRENADE_TOOL, RPG_TOOL, RPG2_TOOL, DRILLGUN_TOOL, MG_TOOL, ROCKET_TURRET_TOOL, PISTOL_TOOL, SNIPER_TOOL, SNIPER2_TOOL, LANDMINE_TOOL, DYNAMITE_TOOL, FLAREBLOCK_TOOL, PREFAB_TOOL, ZOMBIEHAND_TOOL, BOMB_TOOL, DIAMOND_TOOL, SHRAPNEL_TOOL, ZOMBIE_PREFAB_TOOL, SNOWBLOWER_TOOL, INTEL_TOOL, CLASSIC_GRENADE_TOOL, ANTIPERSONNEL_GRENADE_TOOL, MOLOTOV_TOOL, CROWBAR_TOOL, TOMMYGUN_TOOL, SNUB_PISTOL_TOOL, CLASSIC_SHOTGUN_TOOL, CLASSIC_SMG_TOOL, NULL_TOOL, FAKE_PISTOL_TOOL, NOOF_SELECTABLE_TOOLS = xrange(NUMBER_OF_WEAPONS)
  578. NO_JETPACK, JETPACK_NORMAL, JETPACK2, JETPACK_ENGINEER, JETPACK_UGCBUILDER = xrange(NOOF_SELECTABLE_TOOLS, NOOF_SELECTABLE_TOOLS + 5)
  579. ALL_MELEE_WEAPONS = (PICKAXE_TOOL,
  580. KNIFE_TOOL,
  581. SPADE_TOOL,
  582. SUPERSPADE_TOOL,
  583. CLASSIC_SPADE_TOOL,
  584. ZOMBIEHAND_TOOL,
  585. CROWBAR_TOOL)
  586. SELECTABLE_ON_NO_AMMO_TOOLS = (LANDMINE_TOOL,
  587. DYNAMITE_TOOL,
  588. GRENADE_TOOL,
  589. CLASSIC_GRENADE_TOOL,
  590. ANTIPERSONNEL_GRENADE_TOOL,
  591. PREFAB_TOOL,
  592. ROCKET_TURRET_TOOL,
  593. BLOCK_TOOL,
  594. FLAREBLOCK_TOOL,
  595. ZOMBIE_PREFAB_TOOL,
  596. MOLOTOV_TOOL)
  597. PICKAXE_DAMAGE, KNIFE_DAMAGE, SPADE_DAMAGE, SUPERSPADE_DAMAGE, CLASSIC_SPADE_DAMAGE, CLASSIC_SPADE_SECONDARY_DAMAGE, WEAPON_DAMAGE, GRENADE_DAMAGE, ROCKET_DAMAGE, ROCKET2_DAMAGE, DRILL_DAMAGE, DRILL_DESTROYED_DAMAGE, ROCKET_TURRET_DAMAGE, CORPSE_DAMAGE, GRAVE_DAMAGE, LANDMINE_DAMAGE, DYNAMITE_DAMAGE, ZOMBIE_DAMAGE, AIRSTRIKE_DAMAGE, BOMB_DAMAGE, SNOWBALL_DAMAGE, ROCKET_TURRET_ROCKET_DAMAGE, CLASSIC_GRENADE_DAMAGE, ANTIPERSONNEL_GRENADE_DAMAGE, MOLOTOV_DAMAGE, BLOCKFIRE_DAMAGE, CROWBAR_DAMAGE, MG_DAMAGE = xrange(28)
  598. TOOLS_DAMAGE_TYPE = {PICKAXE_TOOL: PICKAXE_DAMAGE,
  599. KNIFE_TOOL: KNIFE_DAMAGE,
  600. SPADE_TOOL: SPADE_DAMAGE,
  601. SUPERSPADE_TOOL: SUPERSPADE_DAMAGE,
  602. CLASSIC_SPADE_TOOL: CLASSIC_SPADE_DAMAGE,
  603. BLOCK_TOOL: None,
  604. RIFLE_TOOL: WEAPON_DAMAGE,
  605. SMG_TOOL: WEAPON_DAMAGE,
  606. MINIGUN_TOOL: WEAPON_DAMAGE,
  607. SHOTGUN_TOOL: WEAPON_DAMAGE,
  608. SHOTGUN2_TOOL: WEAPON_DAMAGE,
  609. GRENADE_TOOL: GRENADE_DAMAGE,
  610. CLASSIC_GRENADE_TOOL: CLASSIC_GRENADE_DAMAGE,
  611. ANTIPERSONNEL_GRENADE_TOOL: ANTIPERSONNEL_GRENADE_DAMAGE,
  612. RPG_TOOL: ROCKET_DAMAGE,
  613. RPG2_TOOL: ROCKET2_DAMAGE,
  614. DRILLGUN_TOOL: DRILL_DAMAGE,
  615. MG_TOOL: WEAPON_DAMAGE,
  616. ROCKET_TURRET_TOOL: None,
  617. PISTOL_TOOL: WEAPON_DAMAGE,
  618. SNIPER_TOOL: WEAPON_DAMAGE,
  619. SNIPER2_TOOL: WEAPON_DAMAGE,
  620. LANDMINE_TOOL: LANDMINE_DAMAGE,
  621. DYNAMITE_TOOL: DYNAMITE_DAMAGE,
  622. FLAREBLOCK_TOOL: None,
  623. PREFAB_TOOL: None,
  624. ZOMBIEHAND_TOOL: ZOMBIE_DAMAGE,
  625. BOMB_TOOL: BOMB_DAMAGE,
  626. DIAMOND_TOOL: None,
  627. SHRAPNEL_TOOL: WEAPON_DAMAGE,
  628. ZOMBIE_PREFAB_TOOL: None,
  629. SNOWBLOWER_TOOL: SNOWBALL_DAMAGE,
  630. INTEL_TOOL: None,
  631. MOLOTOV_TOOL: MOLOTOV_DAMAGE,
  632. CROWBAR_TOOL: CROWBAR_DAMAGE,
  633. TOMMYGUN_TOOL: WEAPON_DAMAGE,
  634. SNUB_PISTOL_TOOL: WEAPON_DAMAGE,
  635. CLASSIC_SHOTGUN_TOOL: WEAPON_DAMAGE,
  636. CLASSIC_SMG_TOOL: WEAPON_DAMAGE,
  637. NULL_TOOL: None,
  638. FAKE_PISTOL_TOOL: None}
  639. TOOLS_SECONDARY_DAMAGE_TYPE = {PICKAXE_TOOL: PICKAXE_DAMAGE,
  640. KNIFE_TOOL: KNIFE_DAMAGE,
  641. SPADE_TOOL: SPADE_DAMAGE,
  642. SUPERSPADE_TOOL: SUPERSPADE_DAMAGE,
  643. CLASSIC_SPADE_TOOL: CLASSIC_SPADE_SECONDARY_DAMAGE,
  644. BLOCK_TOOL: None,
  645. RIFLE_TOOL: WEAPON_DAMAGE,
  646. SMG_TOOL: WEAPON_DAMAGE,
  647. MINIGUN_TOOL: WEAPON_DAMAGE,
  648. SHOTGUN_TOOL: WEAPON_DAMAGE,
  649. SHOTGUN2_TOOL: WEAPON_DAMAGE,
  650. GRENADE_TOOL: GRENADE_DAMAGE,
  651. CLASSIC_GRENADE_TOOL: CLASSIC_GRENADE_DAMAGE,
  652. ANTIPERSONNEL_GRENADE_TOOL: ANTIPERSONNEL_GRENADE_DAMAGE,
  653. RPG_TOOL: ROCKET_DAMAGE,
  654. RPG2_TOOL: ROCKET2_DAMAGE,
  655. DRILLGUN_TOOL: DRILL_DAMAGE,
  656. MG_TOOL: WEAPON_DAMAGE,
  657. ROCKET_TURRET_TOOL: None,
  658. PISTOL_TOOL: WEAPON_DAMAGE,
  659. SNIPER_TOOL: WEAPON_DAMAGE,
  660. SNIPER2_TOOL: WEAPON_DAMAGE,
  661. LANDMINE_TOOL: LANDMINE_DAMAGE,
  662. DYNAMITE_TOOL: DYNAMITE_DAMAGE,
  663. FLAREBLOCK_TOOL: None,
  664. PREFAB_TOOL: None,
  665. ZOMBIEHAND_TOOL: ZOMBIE_DAMAGE,
  666. BOMB_TOOL: BOMB_DAMAGE,
  667. DIAMOND_TOOL: None,
  668. SHRAPNEL_TOOL: WEAPON_DAMAGE,
  669. ZOMBIE_PREFAB_TOOL: None,
  670. SNOWBLOWER_TOOL: SNOWBALL_DAMAGE,
  671. INTEL_TOOL: None,
  672. MOLOTOV_TOOL: MOLOTOV_DAMAGE,
  673. CROWBAR_TOOL: CROWBAR_DAMAGE,
  674. TOMMYGUN_TOOL: WEAPON_DAMAGE,
  675. SNUB_PISTOL_TOOL: WEAPON_DAMAGE,
  676. CLASSIC_SHOTGUN_TOOL: WEAPON_DAMAGE,
  677. CLASSIC_SMG_TOOL: WEAPON_DAMAGE,
  678. NULL_TOOL: None,
  679. FAKE_PISTOL_TOOL: None}
  680. BLOCK_GRANTING_DAMAGES = (SPADE_DAMAGE,
  681. CLASSIC_SPADE_DAMAGE,
  682. SUPERSPADE_DAMAGE,
  683. PICKAXE_DAMAGE,
  684. KNIFE_DAMAGE,
  685. ZOMBIE_DAMAGE,
  686. CROWBAR_DAMAGE)
  687. WEAPON_KILL, HEADSHOT_KILL, MELEE_KILL, GRENADE_KILL, ROCKET_KILL, ROCKET2_KILL, DRILL_KILL, FALL_KILL, FORCED_TEAM_CHANGE_KILL, TEAM_CHANGE_KILL, CLASS_CHANGE_KILL, ENTITY_KILL, CORPSE_KILL, GRAVE_KILL, LANDMINE_KILL, DYNAMITE_KILL, AIRSTRIKE_KILL, BOMB_KILL, ROCKET_TURRET_KILL, SHRAPNEL_KILL, HEALTHCRATE_HP, SNOWBALL_KILL, CLASSIC_GRENADE_KILL, ANTIPERSONNEL_GRENADE_KILL, MOLOTOV_KILL, BLOCKFIRE_KILL, VIP_MODE_KILL = xrange(27)
  688. TOOLS_KILL_TYPE = {PICKAXE_TOOL: WEAPON_KILL,
  689. KNIFE_TOOL: WEAPON_KILL,
  690. SPADE_TOOL: WEAPON_KILL,
  691. SUPERSPADE_TOOL: WEAPON_KILL,
  692. CLASSIC_SPADE_TOOL: WEAPON_KILL,
  693. BLOCK_TOOL: WEAPON_KILL,
  694. RIFLE_TOOL: WEAPON_KILL,
  695. SMG_TOOL: WEAPON_KILL,
  696. MINIGUN_TOOL: WEAPON_KILL,
  697. SHOTGUN_TOOL: WEAPON_KILL,
  698. SHOTGUN2_TOOL: WEAPON_KILL,
  699. GRENADE_TOOL: WEAPON_KILL,
  700. CLASSIC_GRENADE_TOOL: WEAPON_KILL,
  701. ANTIPERSONNEL_GRENADE_TOOL: WEAPON_KILL,
  702. RPG_TOOL: ROCKET_KILL,
  703. RPG2_TOOL: ROCKET2_KILL,
  704. DRILLGUN_TOOL: DRILL_KILL,
  705. MG_TOOL: WEAPON_KILL,
  706. ROCKET_TURRET_TOOL: ROCKET_KILL,
  707. PISTOL_TOOL: WEAPON_KILL,
  708. SNIPER_TOOL: WEAPON_KILL,
  709. SNIPER2_TOOL: WEAPON_KILL,
  710. LANDMINE_TOOL: WEAPON_KILL,
  711. DYNAMITE_TOOL: WEAPON_KILL,
  712. FLAREBLOCK_TOOL: WEAPON_KILL,
  713. PREFAB_TOOL: WEAPON_KILL,
  714. ZOMBIEHAND_TOOL: WEAPON_KILL,
  715. BOMB_TOOL: BOMB_KILL,
  716. DIAMOND_TOOL: WEAPON_KILL,
  717. SHRAPNEL_TOOL: SHRAPNEL_KILL,
  718. ZOMBIE_PREFAB_TOOL: WEAPON_KILL,
  719. SNOWBLOWER_TOOL: SNOWBALL_KILL,
  720. INTEL_TOOL: WEAPON_KILL,
  721. MOLOTOV_TOOL: WEAPON_KILL,
  722. CROWBAR_TOOL: WEAPON_KILL,
  723. TOMMYGUN_TOOL: WEAPON_KILL,
  724. SNUB_PISTOL_TOOL: WEAPON_KILL,
  725. CLASSIC_SHOTGUN_TOOL: WEAPON_KILL,
  726. CLASSIC_SMG_TOOL: WEAPON_KILL,
  727. NULL_TOOL: WEAPON_KILL,
  728. FAKE_PISTOL_TOOL: WEAPON_KILL}
  729. TOOLS_ZOOM_TRANSITION_SPEED = {RIFLE_TOOL: (2.5, 6.0),
  730. SNIPER_TOOL: (2.5, 6.0),
  731. SNIPER2_TOOL: (2.5, 6.0),
  732. NOOF_SELECTABLE_TOOLS: (5.0, 5.0)}
  733. SPECIALISM_EXTRA_HEALTH, SPECIALISM_SPEED, SPECIALISM_DIG_SPEED, SPECIALISM_NOOF = xrange(4)
  734. SPECIALISM_NAME = {SPECIALISM_EXTRA_HEALTH: 'EXTRA_HEALTH',
  735. SPECIALISM_SPEED: 'SPEED',
  736. SPECIALISM_DIG_SPEED: 'DIGGING_SPEED'}
  737. DEFAULT_SELECTED_PREFABS = []
  738. CLASS_PREFABS_SOLDIER, CLASS_PREFABS_SCOUT, CLASS_PREFABS_ROCKETEER, CLASS_PREFABS_MINER, CLASS_PREFABS_ZOMBIE, CLASS_PREFABS_CLASSIC_SOLDIER, CLASS_PREFABS_GANGSTER, DEFAULT_PREFABS, MAP_PREFABS, CLASS_PREFABS_ENGINEER, CLASS_PREFABS_UGCBUILDER = xrange(11)
  739. PREFAB_LISTS = {CLASS_PREFABS_SOLDIER: ['prefab_ultrabarrier', 'prefab_superbarrier', 'prefab_supersmallwall'],
  740. CLASS_PREFABS_SCOUT: ['prefab_supertower', 'prefab_superbridge', 'prefab_superminibunker'],
  741. CLASS_PREFABS_ROCKETEER: ['prefab_caltrop', 'prefab_superminibunker', 'prefab_safety_tube'],
  742. CLASS_PREFABS_ENGINEER: ['prefab_caltrop',
  743. 'prefab_supertower',
  744. 'prefab_ultrabarrier',
  745. 'prefab_platform',
  746. 'prefab_superminibunker',
  747. 'prefab_superdome',
  748. 'prefab_fort_wall'],
  749. CLASS_PREFABS_MINER: ['prefab_superdome', 'prefab_superpole', 'prefab_safety_corridor'],
  750. CLASS_PREFABS_ZOMBIE: ['prefab_zombiehand', 'prefab_zombiebone', 'prefab_zombiehead'],
  751. CLASS_PREFABS_CLASSIC_SOLDIER: [],
  752. CLASS_PREFABS_GANGSTER: ['prefab_small_platform', 'prefab_ladder', 'prefab_square_bunker'],
  753. CLASS_PREFABS_UGCBUILDER: [],
  754. DEFAULT_PREFABS: [],
  755. MAP_PREFABS: []}
  756. CLASS_PICKUP_TOOLS = [BOMB_TOOL, DIAMOND_TOOL, INTEL_TOOL]
  757. CLASS_COMMON_TOOLS = [BLOCK_TOOL,
  758. PREFAB_TOOL,
  759. FLAREBLOCK_TOOL,
  760. INTEL_TOOL] + CLASS_PICKUP_TOOLS
  761. CLASS_CLASSIC_COMMON_TOOLS = [BLOCK_TOOL] + CLASS_PICKUP_TOOLS
  762. CLASS_MELEE, CLASS_PRIMARY_WEAPONS, CLASS_SECONDARY_WEAPONS, CLASS_EQUIPMENT, CLASS_PREFABS, CLASS_COMMON, CLASS_NOOF_ITEMS = xrange(7)
  763. CLASS_NOOF_SELECTABLE_ITEMS = CLASS_COMMON
  764. AMMO_DEPLETED_SWITCH_ORDER = [CLASS_PRIMARY_WEAPONS, CLASS_SECONDARY_WEAPONS, CLASS_MELEE]
  765. AMMO_DEPLETED_EXCEPTIONS = []
  766. CLASS_ITEMS_NAME = {CLASS_PRIMARY_WEAPONS: 'PRIMARY_WEAPONS',
  767. CLASS_SECONDARY_WEAPONS: 'SECONDARY_WEAPONS',
  768. CLASS_EQUIPMENT: 'EQUIPMENT',
  769. CLASS_MELEE: 'MELEE',
  770. CLASS_PREFABS: 'PREFABS'}
  771. SOLDIER_STARTING_BLOCKS = 750
  772. SOLDIER_MAX_BLOCKS = 1500
  773. SCOUT_STARTING_BLOCKS = 600
  774. SCOUT_MAX_BLOCKS = 1000
  775. ROCKETEER_STARTING_BLOCKS = 500
  776. ROCKETEER_MAX_BLOCKS = 1500
  777. ENGINEER_STARTING_BLOCKS = 5000
  778. ENGINEER_MAX_BLOCKS = 5000
  779. MINER_STARTING_BLOCKS = 2000
  780. MINER_MAX_BLOCKS = 2000
  781. ZOMBIE_STARTING_BLOCKS = 2500
  782. ZOMBIE_MAX_BLOCKS = 2500
  783. CLASSIC_SOLDIER_STARTING_BLOCKS = 25
  784. CLASSIC_SOLDIER_MAX_BLOCKS = 100
  785. GANGSTER_STARTING_BLOCKS = 750
  786. GANGSTER_MAX_BLOCKS = 1500
  787. UGCBUILDER_STARTING_BLOCKS = 1
  788. UGCBUILDER_MAX_BLOCKS = 1
  789. DEFAULT_CLASS = CLASS_CLASSIC_SOLDIER
  790. CLASS_ITEMS = {CLASS_SOLDIER: {CLASS_PRIMARY_WEAPONS: [MINIGUN_TOOL],
  791. CLASS_SECONDARY_WEAPONS: [RPG_TOOL, RPG2_TOOL],
  792. CLASS_EQUIPMENT: [GRENADE_TOOL, ANTIPERSONNEL_GRENADE_TOOL],
  793. CLASS_MELEE: [SPADE_TOOL, KNIFE_TOOL],
  794. CLASS_PREFABS: [CLASS_PREFABS_SOLDIER, MAP_PREFABS, DEFAULT_PREFABS],
  795. CLASS_COMMON: CLASS_COMMON_TOOLS},
  796. CLASS_SCOUT: {CLASS_PRIMARY_WEAPONS: [SNIPER_TOOL, SNIPER2_TOOL],
  797. CLASS_SECONDARY_WEAPONS: [PISTOL_TOOL],
  798. CLASS_EQUIPMENT: [LANDMINE_TOOL],
  799. CLASS_MELEE: [PICKAXE_TOOL, KNIFE_TOOL],
  800. CLASS_PREFABS: [CLASS_PREFABS_SCOUT, MAP_PREFABS, DEFAULT_PREFABS],
  801. CLASS_COMMON: CLASS_COMMON_TOOLS},
  802. CLASS_ROCKETEER: {CLASS_PRIMARY_WEAPONS: [SMG_TOOL],
  803. CLASS_SECONDARY_WEAPONS: [ROCKET_TURRET_TOOL, GRENADE_TOOL],
  804. CLASS_EQUIPMENT: [JETPACK2, JETPACK_NORMAL],
  805. CLASS_MELEE: [SPADE_TOOL, PICKAXE_TOOL],
  806. CLASS_PREFABS: [CLASS_PREFABS_ROCKETEER, MAP_PREFABS, DEFAULT_PREFABS],
  807. CLASS_COMMON: CLASS_COMMON_TOOLS},
  808. CLASS_ENGINEER: {CLASS_PRIMARY_WEAPONS: [SMG_TOOL],
  809. CLASS_SECONDARY_WEAPONS: [ROCKET_TURRET_TOOL, SNOWBLOWER_TOOL],
  810. CLASS_EQUIPMENT: [JETPACK_ENGINEER],
  811. CLASS_MELEE: [PICKAXE_TOOL],
  812. CLASS_PREFABS: [CLASS_PREFABS_ENGINEER, MAP_PREFABS, DEFAULT_PREFABS],
  813. CLASS_COMMON: CLASS_COMMON_TOOLS},
  814. CLASS_MINER: {CLASS_PRIMARY_WEAPONS: [SHOTGUN_TOOL, SHOTGUN2_TOOL],
  815. CLASS_SECONDARY_WEAPONS: [DRILLGUN_TOOL],
  816. CLASS_EQUIPMENT: [DYNAMITE_TOOL],
  817. CLASS_MELEE: [SUPERSPADE_TOOL, PICKAXE_TOOL],
  818. CLASS_PREFABS: [CLASS_PREFABS_MINER, MAP_PREFABS, DEFAULT_PREFABS],
  819. CLASS_COMMON: CLASS_COMMON_TOOLS},
  820. CLASS_ZOMBIE: {CLASS_PRIMARY_WEAPONS: [ZOMBIEHAND_TOOL],
  821. CLASS_SECONDARY_WEAPONS: [],
  822. CLASS_EQUIPMENT: [],
  823. CLASS_MELEE: [],
  824. CLASS_PREFABS: [CLASS_PREFABS_ZOMBIE],
  825. CLASS_COMMON: [ZOMBIE_PREFAB_TOOL]},
  826. CLASS_CLASSIC_SOLDIER: {CLASS_PRIMARY_WEAPONS: [RIFLE_TOOL, CLASSIC_SMG_TOOL, CLASSIC_SHOTGUN_TOOL],
  827. CLASS_SECONDARY_WEAPONS: [],
  828. CLASS_EQUIPMENT: [CLASSIC_GRENADE_TOOL],
  829. CLASS_MELEE: [CLASSIC_SPADE_TOOL],
  830. CLASS_PREFABS: [],
  831. CLASS_COMMON: CLASS_CLASSIC_COMMON_TOOLS},
  832. CLASS_GANGSTER_1: {CLASS_PRIMARY_WEAPONS: [TOMMYGUN_TOOL],
  833. CLASS_SECONDARY_WEAPONS: [SNUB_PISTOL_TOOL],
  834. CLASS_EQUIPMENT: [MOLOTOV_TOOL],
  835. CLASS_MELEE: [CROWBAR_TOOL],
  836. CLASS_PREFABS: [CLASS_PREFABS_GANGSTER, MAP_PREFABS, DEFAULT_PREFABS],
  837. CLASS_COMMON: CLASS_COMMON_TOOLS},
  838. CLASS_GANGSTER_2: {CLASS_PRIMARY_WEAPONS: [TOMMYGUN_TOOL],
  839. CLASS_SECONDARY_WEAPONS: [SNUB_PISTOL_TOOL],
  840. CLASS_EQUIPMENT: [MOLOTOV_TOOL],
  841. CLASS_MELEE: [CROWBAR_TOOL],
  842. CLASS_PREFABS: [CLASS_PREFABS_GANGSTER, MAP_PREFABS, DEFAULT_PREFABS],
  843. CLASS_COMMON: CLASS_COMMON_TOOLS},
  844. CLASS_GANGSTER_3: {CLASS_PRIMARY_WEAPONS: [TOMMYGUN_TOOL],
  845. CLASS_SECONDARY_WEAPONS: [SNUB_PISTOL_TOOL],
  846. CLASS_EQUIPMENT: [MOLOTOV_TOOL],
  847. CLASS_MELEE: [CROWBAR_TOOL],
  848. CLASS_PREFABS: [CLASS_PREFABS_GANGSTER, MAP_PREFABS, DEFAULT_PREFABS],
  849. CLASS_COMMON: CLASS_COMMON_TOOLS},
  850. CLASS_GANGSTER_4: {CLASS_PRIMARY_WEAPONS: [TOMMYGUN_TOOL],
  851. CLASS_SECONDARY_WEAPONS: [SNUB_PISTOL_TOOL],
  852. CLASS_EQUIPMENT: [MOLOTOV_TOOL],
  853. CLASS_MELEE: [CROWBAR_TOOL],
  854. CLASS_PREFABS: [CLASS_PREFABS_GANGSTER, MAP_PREFABS, DEFAULT_PREFABS],
  855. CLASS_COMMON: CLASS_COMMON_TOOLS},
  856. CLASS_GANGSTER_VIP_1: {CLASS_PRIMARY_WEAPONS: [TOMMYGUN_TOOL],
  857. CLASS_SECONDARY_WEAPONS: [SNUB_PISTOL_TOOL],
  858. CLASS_EQUIPMENT: [MOLOTOV_TOOL],
  859. CLASS_MELEE: [CROWBAR_TOOL],
  860. CLASS_PREFABS: [CLASS_PREFABS_GANGSTER, MAP_PREFABS, DEFAULT_PREFABS],
  861. CLASS_COMMON: CLASS_COMMON_TOOLS},
  862. CLASS_GANGSTER_VIP_2: {CLASS_PRIMARY_WEAPONS: [TOMMYGUN_TOOL],
  863. CLASS_SECONDARY_WEAPONS: [SNUB_PISTOL_TOOL],
  864. CLASS_EQUIPMENT: [MOLOTOV_TOOL],
  865. CLASS_MELEE: [CROWBAR_TOOL],
  866. CLASS_PREFABS: [CLASS_PREFABS_GANGSTER, MAP_PREFABS, DEFAULT_PREFABS],
  867. CLASS_COMMON: CLASS_COMMON_TOOLS},
  868. CLASS_UGCBUILDER: {CLASS_PRIMARY_WEAPONS: [PICKAXE_TOOL],
  869. CLASS_SECONDARY_WEAPONS: [],
  870. CLASS_EQUIPMENT: [JETPACK_UGCBUILDER],
  871. CLASS_MELEE: [SUPERSPADE_TOOL],
  872. CLASS_PREFABS: [CLASS_PREFABS_UGCBUILDER, MAP_PREFABS, DEFAULT_PREFABS],
  873. CLASS_COMMON: CLASS_COMMON_TOOLS}}
  874. MAP_NAME_TAGLINES = {'Hiesville': 'Hiesville_TagLine',
  875. 'Trenches': 'Trenches_TagLine'}
  876. CLASS_DESCRIPTIONS = {CLASS_SOLDIER: 'SOLDIER_DESCRIPTION',
  877. CLASS_SCOUT: 'SCOUT_DESCRIPTION',
  878. CLASS_ROCKETEER: 'ROCKETEER_DESCRIPTION',
  879. CLASS_ENGINEER: 'ENGINEER_DESCRIPTION',
  880. CLASS_MINER: 'MINER_DESCRIPTION',
  881. CLASS_ZOMBIE: 'ZOMBIE_DESCRIPTION',
  882. CLASS_CLASSIC_SOLDIER: 'SOLDIER_DESCRIPTION',
  883. CLASS_GANGSTER_1: 'GANGSTER_DESCRIPTION',
  884. CLASS_GANGSTER_2: 'GANGSTER_DESCRIPTION',
  885. CLASS_GANGSTER_3: 'GANGSTER_DESCRIPTION',
  886. CLASS_GANGSTER_4: 'GANGSTER_DESCRIPTION',
  887. CLASS_GANGSTER_VIP_1: 'GANGSTER_DESCRIPTION',
  888. CLASS_GANGSTER_VIP_2: 'GANGSTER_DESCRIPTION',
  889. CLASS_UGCBUILDER: 'UGCBUILDER_DESCRIPTION'}
  890. TOOL_FILE_NAMES = {MINIGUN_TOOL: 'minigun',
  891. RPG_TOOL: 'rpg',
  892. RPG2_TOOL: 'rpg2',
  893. SNOWBLOWER_TOOL: 'snowblower',
  894. SNIPER_TOOL: 'sniper',
  895. SNIPER2_TOOL: 'sniper2',
  896. SMG_TOOL: 'smg',
  897. SHOTGUN_TOOL: 'shotgun',
  898. SHOTGUN2_TOOL: 'shotgun2',
  899. PISTOL_TOOL: 'pistol',
  900. GRENADE_TOOL: 'grenade',
  901. CLASSIC_GRENADE_TOOL: 'grenade',
  902. ANTIPERSONNEL_GRENADE_TOOL: 'antipersonnel_grenade',
  903. LANDMINE_TOOL: 'land_mine',
  904. DRILLGUN_TOOL: 'drillgun',
  905. DYNAMITE_TOOL: 'dynamite',
  906. JETPACK_NORMAL: 'jetpack',
  907. JETPACK2: 'jetpack2',
  908. JETPACK_ENGINEER: 'jetpack_engineer',
  909. JETPACK_UGCBUILDER: 'jetpack_ugcbuilder',
  910. ZOMBIEHAND_TOOL: 'zombie_hands',
  911. PICKAXE_TOOL: 'pickaxe',
  912. KNIFE_TOOL: 'knife',
  913. SUPERSPADE_TOOL: 'superspade',
  914. SPADE_TOOL: 'spade',
  915. CLASSIC_SPADE_TOOL: 'spade',
  916. BLOCK_TOOL: 'block',
  917. RIFLE_TOOL: 'semi',
  918. MG_TOOL: 'mg',
  919. ROCKET_TURRET_TOOL: 'rocket_turret',
  920. PREFAB_TOOL: 'prefab',
  921. FLAREBLOCK_TOOL: 'glowblock',
  922. BOMB_TOOL: 'bomb',
  923. DIAMOND_TOOL: 'diamond',
  924. SHRAPNEL_TOOL: 'shrapnel',
  925. ZOMBIE_PREFAB_TOOL: 'prefab',
  926. INTEL_TOOL: 'intel',
  927. MOLOTOV_TOOL: 'Weapon_Molotov',
  928. CROWBAR_TOOL: 'Weapon_Crowbar',
  929. TOMMYGUN_TOOL: 'Weapon_TommyGun',
  930. SNUB_PISTOL_TOOL: 'Weapon_SnubNosePistol',
  931. CLASSIC_SHOTGUN_TOOL: 'classic_shotgun',
  932. CLASSIC_SMG_TOOL: 'classic_smg',
  933. NULL_TOOL: 'null_tool',
  934. FAKE_PISTOL_TOOL: 'pistol'}
  935. TOOL_NAMES = {MINIGUN_TOOL: 'MINIGUN',
  936. RPG_TOOL: 'ROCKET_PROPELLED_GRENADE',
  937. RPG2_TOOL: 'ROCKET_PROPELLED_GRENADE2',
  938. SNOWBLOWER_TOOL: 'SNOWBLOWER',
  939. SNIPER_TOOL: 'SNIPER_RIFLE',
  940. SNIPER2_TOOL: 'SNIPER2_RIFLE',
  941. SMG_TOOL: 'SUB_MACHINE_GUN',
  942. SHOTGUN_TOOL: 'SHOTGUN',
  943. SHOTGUN2_TOOL: 'SHOTGUN2',
  944. PISTOL_TOOL: 'PISTOL',
  945. GRENADE_TOOL: 'GRENADE_TOOL',
  946. CLASSIC_GRENADE_TOOL: 'CLASSIC_GRENADE',
  947. ANTIPERSONNEL_GRENADE_TOOL: 'ANTIPERSONNEL_GRENADE_TOOL',
  948. LANDMINE_TOOL: 'LANDMINE_TOOL',
  949. DRILLGUN_TOOL: 'DRILL_TOOL',
  950. DYNAMITE_TOOL: 'DYNAMITE_TOOL',
  951. JETPACK_NORMAL: 'JETPACK_NORMAL',
  952. JETPACK2: 'JETPACK_2',
  953. JETPACK_ENGINEER: 'JETPACK_ENGINEER',
  954. JETPACK_UGCBUILDER: 'JETPACK_UGCBUILDER',
  955. ZOMBIEHAND_TOOL: 'ZOMBIE_HANDS',
  956. PICKAXE_TOOL: 'PICKAXE',
  957. KNIFE_TOOL: 'KNIFE',
  958. SUPERSPADE_TOOL: 'SUPER_SPADE',
  959. SPADE_TOOL: 'SPADE',
  960. CLASSIC_SPADE_TOOL: 'SPADE',
  961. BLOCK_TOOL: 'BLOCK_TOOL',
  962. RIFLE_TOOL: 'RIFLE',
  963. MG_TOOL: 'MOUNTED_GUN',
  964. ROCKET_TURRET_TOOL: 'ROCKET_TURRET',
  965. PREFAB_TOOL: 'PREFAB_TOOL',
  966. FLAREBLOCK_TOOL: 'FLARE_BLOCK_TOOL',
  967. BOMB_TOOL: 'BOMB_TOOL',
  968. DIAMOND_TOOL: 'DIAMOND_TOOL',
  969. SHRAPNEL_TOOL: 'SHRAPNEL_TOOL',
  970. ZOMBIE_PREFAB_TOOL: 'ZOMBIE_PREFAB_TOOL',
  971. INTEL_TOOL: 'INTEL_TOOL',
  972. MOLOTOV_TOOL: 'MOLOTOV_TOOL',
  973. CROWBAR_TOOL: 'CROWBAR_TOOL',
  974. TOMMYGUN_TOOL: 'TOMMYGUN_TOOL',
  975. SNUB_PISTOL_TOOL: 'SNUB_PISTOL_TOOL',
  976. CLASSIC_SHOTGUN_TOOL: 'CLASSIC_SHOTGUN',
  977. CLASSIC_SMG_TOOL: 'CLASSIC_SUB_MACHINE_GUN',
  978. NULL_TOOL: 'NULL_TOOL',
  979. FAKE_PISTOL_TOOL: 'FAKE_PISTOL_TOOL'}
  980. TOOL_DESCRIPTIONS = {MINIGUN_TOOL: 'MINIGUN_TOOL_DESCRIPTION',
  981. RPG_TOOL: 'RPG_TOOL_DESCRIPTION',
  982. RPG2_TOOL: 'RPG2_TOOL_DESCRIPTION',
  983. SNOWBLOWER_TOOL: 'SNOWBLOWER_DESCRIPTION',
  984. PISTOL_TOOL: 'PISTOL_TOOL_DESCRIPTION',
  985. GRENADE_TOOL: 'GRENADE_TOOL_DESCRIPTION',
  986. CLASSIC_GRENADE_TOOL: 'CLASSIC_GRENADE_TOOL_DESCRIPTION',
  987. ANTIPERSONNEL_GRENADE_TOOL: 'ANTIPERSONNEL_GRENADE_TOOL_DESCRIPTION',
  988. SPADE_TOOL: 'SPADE_TOOL_DESCRIPTION',
  989. CLASSIC_SPADE_TOOL: 'CLASSIC_SPADE_TOOL_DESCRIPTION',
  990. SNIPER_TOOL: 'SNIPER_TOOL_DESCRIPTION',
  991. SNIPER2_TOOL: 'SNIPER2_TOOL_DESCRIPTION',
  992. LANDMINE_TOOL: 'LANDMINE_TOOL_DESCRIPTION',
  993. PICKAXE_TOOL: 'PICKAXE_TOOL_DESCRIPTION',
  994. KNIFE_TOOL: 'KNIFE_TOOL_DESCRIPTION',
  995. JETPACK_NORMAL: 'JETPACK_NORMAL_DESCRIPTION',
  996. JETPACK2: 'JETPACK_2_DESCRIPTION',
  997. JETPACK_ENGINEER: 'JETPACK_ENGINEER_DESCRIPTION',
  998. JETPACK_UGCBUILDER: 'JETPACK_UGCBUILDER_DESCRIPTION',
  999. SMG_TOOL: 'SMG_TOOL_DESCRIPTION',
  1000. ROCKET_TURRET_TOOL: 'ROCKET_TURRET_TOOL_DESCRIPTION',
  1001. SHOTGUN_TOOL: 'SHOTGUN_TOOL_DESCRIPTION',
  1002. SHOTGUN2_TOOL: 'SHOTGUN2_TOOL_DESCRIPTION',
  1003. DRILLGUN_TOOL: 'DRILLGUN_TOOL_DESCRIPTION',
  1004. DYNAMITE_TOOL: 'DYNAMITE_TOOL_DESCRIPTION',
  1005. SUPERSPADE_TOOL: 'SUPERSPADE_TOOL_DESCRIPTION',
  1006. ZOMBIEHAND_TOOL: 'ZOMBIEHAND_TOOL_DESCRIPTION',
  1007. RIFLE_TOOL: 'RIFLE_TOOL_DESCRIPTION',
  1008. MOLOTOV_TOOL: 'MOLOTOV_TOOL_DESCRIPTION',
  1009. CROWBAR_TOOL: 'CROWBAR_TOOL_DESCRIPTION',
  1010. TOMMYGUN_TOOL: 'TOMMYGUN_TOOL_DESCRIPTION',
  1011. SNUB_PISTOL_TOOL: 'SNUB_PISTOL_TOOL_DESCRIPTION',
  1012. MG_TOOL: 'MG_TOOL_DESCRIPTION',
  1013. CLASSIC_SHOTGUN_TOOL: 'CLASSIC_SHOTGUN_TOOL_DESCRIPTION',
  1014. CLASSIC_SMG_TOOL: 'CLASSIC_SMG_TOOL_DESCRIPTION',
  1015. NULL_TOOL: 'NULL_TOOL_DESCRIPTION',
  1016. FAKE_PISTOL_TOOL: 'FAKE_PISTOL_TOOL_DESCRIPTION'}
  1017. TOOL_HAS_IMAGE = {MINIGUN_TOOL: True,
  1018. RPG_TOOL: True,
  1019. RPG2_TOOL: True,
  1020. SNOWBLOWER_TOOL: True,
  1021. SNIPER_TOOL: 2,
  1022. SNIPER2_TOOL: True,
  1023. SMG_TOOL: True,
  1024. SHOTGUN_TOOL: True,
  1025. SHOTGUN2_TOOL: True,
  1026. PISTOL_TOOL: True,
  1027. GRENADE_TOOL: True,
  1028. CLASSIC_GRENADE_TOOL: True,
  1029. ANTIPERSONNEL_GRENADE_TOOL: True,
  1030. LANDMINE_TOOL: True,
  1031. DRILLGUN_TOOL: True,
  1032. DYNAMITE_TOOL: True,
  1033. JETPACK_NORMAL: True,
  1034. JETPACK2: True,
  1035. JETPACK_ENGINEER: True,
  1036. JETPACK_UGCBUILDER: True,
  1037. ZOMBIEHAND_TOOL: True,
  1038. PICKAXE_TOOL: True,
  1039. KNIFE_TOOL: True,
  1040. SUPERSPADE_TOOL: True,
  1041. SPADE_TOOL: True,
  1042. CLASSIC_SPADE_TOOL: True,
  1043. BLOCK_TOOL: True,
  1044. RIFLE_TOOL: True,
  1045. MG_TOOL: False,
  1046. ROCKET_TURRET_TOOL: True,
  1047. PREFAB_TOOL: True,
  1048. FLAREBLOCK_TOOL: True,
  1049. BOMB_TOOL: True,
  1050. DIAMOND_TOOL: True,
  1051. SHRAPNEL_TOOL: False,
  1052. ZOMBIE_PREFAB_TOOL: True,
  1053. INTEL_TOOL: True,
  1054. MOLOTOV_TOOL: True,
  1055. CROWBAR_TOOL: True,
  1056. TOMMYGUN_TOOL: True,
  1057. SNUB_PISTOL_TOOL: True,
  1058. CLASSIC_SHOTGUN_TOOL: True,
  1059. CLASSIC_SMG_TOOL: True,
  1060. NULL_TOOL: False,
  1061. FAKE_PISTOL_TOOL: False}
  1062. NOOF_GAME_STATS_TO_SHOW = 3
  1063. MOST_DISTANCE_RAN, MOST_TIME_IN_AIR, MOST_HEALTH_CRATES_COLLECTED, MOST_AMMO_CRATES_COLLECTED, MOST_BLOCK_CRATES_COLLECTED, MOST_KILLS, MOST_KILLS_AT_LOW_HEALTH, MOST_TEABAGS, MOST_HEADSHOTS, MOST_BLOCKS_PLACED, MOST_BLOCKS_DESTROYED, BIGGEST_KILL_STREAK, BIGGEST_COLLAPSING_OBJECT, LONGEST_RANGED_KILL, MOST_MELEE_KILLS, MOST_BRAINS_EATEN, MOST_DISTRACTIONS, MOST_DEFENDS, MOST_ASSISTS, MOST_AIRSTRIKES_SURVIVED, MOST_DAMAGE_TAKEN, HIGHEST_BLOCK, MOST_HEADSHOTS_RECEIVED, MOST_SNIPERS_KILLED, FEWEST_SHOTS_FIRED, MOST_SUICIDES, MOST_KILL_STEALS, MOST_TIME_ON_FIRE, MOST_DOMINATED, MOST_DOMINATIONS = xrange(30)
  1064. GAME_STAT_TYPES = {MOST_DISTANCE_RAN: 'MOST_DistanceTravelled',
  1065. MOST_TIME_IN_AIR: 'MOST_TimeInAir',
  1066. MOST_HEALTH_CRATES_COLLECTED: 'MOST_HealthCratesCollected',
  1067. MOST_AMMO_CRATES_COLLECTED: 'MOST_AmmoCratesCollected',
  1068. MOST_BLOCK_CRATES_COLLECTED: 'MOST_BlockCratesCollected',
  1069. MOST_KILLS: 'MOST_Kills',
  1070. MOST_KILLS_AT_LOW_HEALTH: 'MOST_KillsAtLowHealth',
  1071. MOST_TEABAGS: 'MOST_Teabags',
  1072. MOST_HEADSHOTS: 'MOST_Headshots',
  1073. MOST_BLOCKS_PLACED: 'MOST_BlocksPlaced',
  1074. MOST_BLOCKS_DESTROYED: 'MOST_BlocksDestroyed',
  1075. BIGGEST_KILL_STREAK: 'BIGGEST_KillStreak',
  1076. BIGGEST_COLLAPSING_OBJECT: 'BIGGEST_CollapsingObject',
  1077. LONGEST_RANGED_KILL: 'BIGGEST_RangedKill',
  1078. MOST_MELEE_KILLS: 'MOST_MeleeKills',
  1079. MOST_BRAINS_EATEN: 'MOST_BrainsEaten',
  1080. MOST_DISTRACTIONS: 'MOST_Distractions',
  1081. MOST_DEFENDS: 'MOST_Defends',
  1082. MOST_ASSISTS: 'MOST_Assists',
  1083. MOST_AIRSTRIKES_SURVIVED: 'MOST_AirStrikesSurvived',
  1084. MOST_DAMAGE_TAKEN: 'MOST_DamageTaken',
  1085. HIGHEST_BLOCK: 'HIGHEST_Block',
  1086. MOST_HEADSHOTS_RECEIVED: 'MOST_HeadshotsReceived',
  1087. MOST_SNIPERS_KILLED: 'MOST_SnipersKilled',
  1088. FEWEST_SHOTS_FIRED: 'FEWEST_ShotsFired',
  1089. MOST_SUICIDES: 'MOST_Suicides',
  1090. MOST_KILL_STEALS: 'MOST_KillSteals',
  1091. MOST_TIME_ON_FIRE: 'MOST_TimeOnFire',
  1092. MOST_DOMINATED: 'MOST_Dominated',
  1093. MOST_DOMINATIONS: 'MOST_Dominations'}
  1094. SET_TEAM_SCORE, SET_PLAYER_SCORE = xrange(2)
  1095. MAX_NOOF_SCORE_REASONS = 234
  1096. NO_SCORE_REASON, KILL_SCORE_REASON, SUICIDE_SCORE_REASON, KILL_SCORE_HEADSHOT_REASON, KILL_SCORE_MELEE_REASON, KILL_SCORE_ASSIST_REASON, KILL_SCORE_TEAMKILL_REASON, KILL_SCORE_REVENGE_REASON, KILL_SCORE_DISTRACT_REASON, KILL_SCORE_PAYBACK_REASON, KILL_SCORE_RELOAD_REASON, KILL_SCORE_DEFEND_REASON, VIP_SURVIVE_SCORE_REASON, VIP_ESCORT_SCORE_REASON, VIP_KILLENEMYVIP_SCORE_REASON, VIP_DISTRACT_SCORE_REASON, VIP_KILL_SCORE_REASON, VIP_ASSAULT_SCORE_REASON, VIP_ASSAULT_ENEMY_SCORE_REASON, VIP_DEFEND_SCORE_REASON, TC_OCCUPY_SCORE_REASON, TC_CLAIM_SCORE_REASON, TC_CONTROL_SCORE_REASON, TC_DEFEND_SCORE_REASON, TC_ASSAULT_SCORE_REASON, TC_CONTEND_SCORE_REASON, OCC_OCCUPY_SCORE_REASON, OCC_CARRY_SCORE_REASON, OCC_BOOM_SCORE_REASON, OCC_DISTRACT_SCORE_REASON, OCC_CARRIER_DEFEND_SCORE_REASON, OCC_DEFEND_SCORE_REASON, OCC_ASSAULT_SCORE_REASON, OCC_SURVIVE_SCORE_REASON, OCC_INTERCEPT_SCORE_REASON, OCC_LASTMAN_TOTAL, OCC_DISPOSAL_SCORE_REASON, OCC_INTERCEPT_DISPOSAL_SCORE_REASON, DIA_CAPTURE_SCORE_REASON, DIA_UNCOVER_SCORE_REASON, DIA_CARRY_SCORE_REASON, DIA_ESCORT_SCORE_REASON, DIA_DISTRACT_SCORE_REASON, DIA_CARRIER_DEFEND_SCORE_REASON, DIA_DEFEND_SCORE_REASON, DIA_ASSAULT_SCORE_REASON, DIA_INTERCEPT_SCORE_REASON, DIA_STEAL_TOTAL, DIA_FINDANDCASHIN_TOTAL, CTF_CAPTURE_SCORE_REASON, CTF_CARRY_SCORE_REASON, CTF_ESCORT_SCORE_REASON, CTF_CLAIM_SCORE_REASON, CTF_DISTRACT_SCORE_REASON, CTF_DEFEND_SCORE_REASON, CTF_ASSAULT_SCORE_REASON, CTF_ASSAULT_ENEMY_SCORE_REASON, CTF_CARRIER_DEFEND_SCORE_REASON, CTF_INTERCEPT_SCORE_REASON, ZOM_SURVIVE_SCORE_REASON, ZOM_LASTMAN_SCORE_REASON, ZOM_KILLSURVIVOR_SCORE_REASON, ZOM_LASTMAN_ZOMBIEKILL_SCORE_REASON, ZOM_ZOMBIES_KILLED_TOTAL, ZOM_TIME_SURVIVED_TOTAL, ZOM_LASTMAN_TIME_TOTAL, ZOM_PISTOL_ZOMBIEKILL_TOTAL, ZOM_LASTMAN_KILLS_TOTAL, ZOM_LASTMANSTANDING_TOTAL, DEM_DESTROY_SCORE_REASON, DEM_REPAIR_SCORE_REASON, DEM_DEFEND_SCORE_REASON, DEM_ASSAULT_SCORE_REASON, DEM_REPAIR_TOTAL, DEM_DAMAGE_TOTAL, DEM_FINAL_DAMAGE_TOBASE_TOTAL, MH_OCCUPY_SCORE_REASON, MH_FIRST_SCORE_REASON, MH_CLAIM_SCORE_REASON, MH_CONTROL_SCORE_REASON, MH_DEFEND_SCORE_REASON, MH_ASSAULT_SCORE_REASON, MH_CONTEST_SCORE_REASON, MH_SURVIVE_AIRSTRIKE_TOTAL, MH_TRIGGER_AIRSTRIKE_TOTAL, ZOMBIE_HUMANS_KILLED_TOTAL, ZOMBIE_HUMANS_KILLED_IN_WATER_TOTAL, ZOMBIE_HUMANS_KILLED_AS_PATIENTZERO_TOTAL, ZOMBIE_BLOCKS_DESTROYED_TOTAL, ZOMBIE_HANDS_KILLS_TOTAL, SOLDIER_MINIGUN_KILLS, SOLDIER_RPG_KILLS, SOLDIER_RPG2_KILLS, SOLDIER_PISTOL_KILLS, SOLDIER_GRENADE_KILLS, SOLDIER_APG_KILLS, SOLDIER_SNOWBLOWER_KILLS, SOLDIER_SPADE_KILLS, SOLDIER_KNIFE_KILLS, SOLDIER_MINIGUN_DEMOLISH_TOTAL, SOLDIER_RPG_FALL_TOTAL, SOLDIER_AIRBORNE_ROCKET_KILLS, SCOUT_SNIPER_KILLS, SCOUT_SNIPER2_KILLS, SCOUT_LANDMINE_KILLS, SCOUT_SNOWBLOWER_KILLS, SCOUT_PICKAXE_KILLS, SCOUT_KNIFE_KILLS, SCOUT_SNIPER_STREAK3_TOTAL, SCOUT_SNIPER_STREAK6_TOTAL, SCOUT_SNIPER_HEADSHOT_TOTAL, SCOUT_SNIPER2_SPEED_TOTAL, ROCKETEER_SMG_KILLS, ROCKETEER_TURRET_KILLS, ROCKETEER_GRENADE_KILLS, ROCKETEER_SPADE_KILLS, ROCKETEER_PICKAXE_KILLS, ROCKETEER_JETPACK_KILLS, ROCKETEER_JETPACK_GRENADE_KILLS, ROCKETEER_JETPACK_SMG_KILLS, MINER_SHOTGUN_KILLS, MINER_SHOTGUN2_KILLS, MINER_DYNAMITE_KILLS, MINER_SNOWBLOWER_KILLS, MINER_SUPERSPADE_KILLS, MINER_PICKAXE_KILLS, MINER_DRILL_DEMOLISH_TOTAL, MINER_DYNAMITE_BELOW_KILLS, MINER_SHOTGUN_HEADSHOT_TOTAL, MINER_SHOTGUN_ZOMBIE_KILLS, GANGSTER_TOMMYGUN_KILLS, GANGSTER_PISTOL_KILLS, GANGSTER_MOLOTOV_KILLS, GANGSTER_CROWBAR_KILLS, CLASSIC_SOLDIER_RIFLE_KILLS, CLASSIC_SOLDIER_GRENADE_KILLS, CLASSIC_SOLDIER_SPADE_KILLS, CLASSIC_SOLDIER_RIFLE_HEADSHOT_TOTAL, CLASSIC_SOLDIER_INTEL_KILLS, COMBAT_5INAROW_TOTAL, COMBAT_10INAROW_TOTAL, COMBAT_15INAROW_TOTAL, COMBAT_DISTANCE_RAN_TOTAL, COMBAT_AMMO_DROP_TOTAL, COMBAT_HEALTH_DROP_TOTAL, COMBAT_BLOCK_DROP_TOTAL, COMBAT_GRENADE_DEMOLISH_TOTAL, COMBAT_KILL_JETPACK_TOTAL, COMBAT_PICKAXE_KILLS, COMBAT_PISTOL_KILLS, COMBAT_SPADE_KILLS, COMBAT_TURRET_EVASION_TOTAL, COMBAT_TEABAG_TOTAL, COMBAT_TEABAG_CLASSIC_TOTAL, COMBAT_KILLSATLOWHEALTH_TOTAL, COMBAT_TIMEINAIR_TOTAL, MAP_SINGLEBLOCKS_ADDED_TOTAL, MAP_PREFAB_ADDED_TOTAL, MAP_BLOCKS_DESTROYED_TOTAL, GAME_WINS_TOTAL, GAME_LOSSES_TOTAL, GAME_DRAWS_TOTAL, ANCIENT_EGYPT_TIME_SCORE, ARCTIC_BASE_TIME_SCORE, BRAN_CASTLE_TIME_SCORE, DRAGON_ISLAND_TIME_SCORE, LONDON_TIME_SCORE, LUNAR_BASE_TIME_SCORE, MAYAN_JUNGLE_TIME_SCORE, SPOOKY_MANSION_TIME_SCORE, TOKYO_NEON_TIME_SCORE, HIESVILLE_TIME_SCORE, BLOCK_NESS_TIME_SCORE, CASTLE_WARS_TIME_SCORE, DOUBLE_DRAGON_TIME_SCORE, WW1_TIME_SCORE, TO_THE_BRIDGE_TIME_SCORE, CROSSROADS_TIME_SCORE, WINTER_VALLEY_TIME_SCORE, TRENCHES_TIME_SCORE, CITY_OF_CHICAGO_TIME_SCORE, ALCATRAZ_TIME_SCORE, ZOM_MODE_SCORE_REASON, TDM_MODE_SCORE_REASON, DIA_MODE_SCORE_REASON, OC_MODE_SCORE_REASON, DEM_MODE_SCORE_REASON, MH_MODE_SCORE_REASON, VIP_MODE_SCORE_REASON, CTF_MODE_SCORE_REASON, TC_MODE_SCORE_REASON, CCTF_MODE_SCORE_REASON, TDM_TOTAL_SCORE, VIP_TOTAL_SCORE, TC_TOTAL_SCORE, OCC_TOTAL_SCORE, DIA_TOTAL_SCORE, CTF_TOTAL_SCORE, ZOM_TOTAL_SCORE, DEM_TOTAL_SCORE, MH_TOTAL_SCORE, COMPLETE_TOTAL_SCORE, COM_TDM_ASSIST, COM_TDM_RETRIBUTION, COM_VIP_SURVIVE, COM_VIP_ASSAULT, COM_VIP_DEFEND, COM_VIP_ESCORT, COM_TC_CONTEND, COM_OCC_CARRY, COM_OCC_ASSIST, COM_OCC_DEFEND, COM_OCC_SURVIVAL, COM_DIA_ASSIST, COM_DIA_ASSAULT, COM_DIA_STEAL, COM_CTF_ASSIST, COM_CTF_DEFEND, COM_CTF_ASSAULT, COM_MH_CONTROL, DEATH_SCORE_REASON, TEABAG_SCORE_REASON, SUPER_MARKSMAN_SCORE_REASON, SUPER_SPRINTER_SCORE_REASON, KICKED_SCORE_REASON, ENGINEER_SMG_KILLS, ENGINEER_TURRET_KILLS, ENGINEER_GRENADE_KILLS, ENGINEER_SPADE_KILLS, ENGINEER_PICKAXE_KILLS, ENGINEER_JETPACK_KILLS, ENGINEER_JETPACK_GRENADE_KILLS, ENGINEER_JETPACK_SMG_KILLS, ENGINEER_SNOWBLOWER_KILLS = xrange(MAX_NOOF_SCORE_REASONS)
  1097. STATS_MAX_WEAPONS = 50
  1098. WEAPON_SHOOT_STATS = xrange(1000, 1000 + STATS_MAX_WEAPONS)
  1099. WEAPON_HIT_STATS = xrange(2000, 2000 + STATS_MAX_WEAPONS)
  1100. WEAPON_ACCUMULATED_POINTS_STATS = xrange(3000, 3000 + STATS_MAX_WEAPONS)
  1101. SCORE_REASON_CODES = {NO_SCORE_REASON: '',
  1102. KILL_SCORE_REASON: 'TDM_Kill',
  1103. SUICIDE_SCORE_REASON: 'TDM_Suicide',
  1104. KILL_SCORE_HEADSHOT_REASON: 'TDM_Headshot',
  1105. KILL_SCORE_MELEE_REASON: 'TDM_Melee',
  1106. KILL_SCORE_ASSIST_REASON: 'TDM_Assist',
  1107. KILL_SCORE_TEAMKILL_REASON: 'TDM_TeamKill',
  1108. KILL_SCORE_REVENGE_REASON: 'TDM_Revenge',
  1109. KILL_SCORE_DISTRACT_REASON: 'TDM_Distract',
  1110. KILL_SCORE_PAYBACK_REASON: 'TDM_Payback',
  1111. KILL_SCORE_RELOAD_REASON: 'TDM_Reload',
  1112. KILL_SCORE_DEFEND_REASON: 'TDM_Defend',
  1113. VIP_SURVIVE_SCORE_REASON: 'VIP_Survive',
  1114. VIP_ESCORT_SCORE_REASON: 'VIP_Escort',
  1115. VIP_KILLENEMYVIP_SCORE_REASON: 'VIP_KillEnemyVIP',
  1116. VIP_DISTRACT_SCORE_REASON: 'VIP_Distract',
  1117. VIP_KILL_SCORE_REASON: 'VIP_Kill',
  1118. VIP_ASSAULT_SCORE_REASON: 'VIP_Assault',
  1119. VIP_ASSAULT_ENEMY_SCORE_REASON: 'VIP_Assault_Enemy',
  1120. VIP_DEFEND_SCORE_REASON: 'VIP_Defend',
  1121. TC_OCCUPY_SCORE_REASON: 'TC_Occupy',
  1122. TC_CLAIM_SCORE_REASON: 'TC_Claim',
  1123. TC_CONTROL_SCORE_REASON: 'TC_Control',
  1124. TC_DEFEND_SCORE_REASON: 'TC_Defend',
  1125. TC_ASSAULT_SCORE_REASON: 'TC_Assault',
  1126. TC_CONTEND_SCORE_REASON: 'TC_Contend',
  1127. OCC_OCCUPY_SCORE_REASON: 'OCC_Occupy',
  1128. OCC_CARRY_SCORE_REASON: 'OCC_Carry',
  1129. OCC_BOOM_SCORE_REASON: 'OCC_Boom',
  1130. OCC_DISTRACT_SCORE_REASON: 'OCC_Distract',
  1131. OCC_CARRIER_DEFEND_SCORE_REASON: 'OCC_Carrier_Defend',
  1132. OCC_DEFEND_SCORE_REASON: 'OCC_Defend',
  1133. OCC_ASSAULT_SCORE_REASON: 'OCC_Assault',
  1134. OCC_SURVIVE_SCORE_REASON: 'OCC_Survive',
  1135. OCC_INTERCEPT_SCORE_REASON: 'OCC_Intercept',
  1136. OCC_LASTMAN_TOTAL: 'OCC_LastMan_Total',
  1137. OCC_DISPOSAL_SCORE_REASON: 'Occ_Disposal',
  1138. OCC_INTERCEPT_DISPOSAL_SCORE_REASON: 'Occ_Intercept_Disposal',
  1139. DIA_CAPTURE_SCORE_REASON: 'DIA_Capture',
  1140. DIA_UNCOVER_SCORE_REASON: 'DIA_Uncover',
  1141. DIA_CARRY_SCORE_REASON: 'DIA_Carry',
  1142. DIA_ESCORT_SCORE_REASON: 'DIA_Escort',
  1143. DIA_DISTRACT_SCORE_REASON: 'DIA_Distract',
  1144. DIA_CARRIER_DEFEND_SCORE_REASON: 'DIA_Carrier_Defend',
  1145. DIA_DEFEND_SCORE_REASON: 'DIA_Defend',
  1146. DIA_ASSAULT_SCORE_REASON: 'DIA_Assault',
  1147. DIA_INTERCEPT_SCORE_REASON: 'DIA_Intercept',
  1148. DIA_STEAL_TOTAL: 'DIA_Steal_Total',
  1149. DIA_FINDANDCASHIN_TOTAL: 'DIA_FindAndCashIn_Total',
  1150. CTF_CAPTURE_SCORE_REASON: 'CTF_Capture',
  1151. CTF_CARRY_SCORE_REASON: 'CTF_Carry',
  1152. CTF_ESCORT_SCORE_REASON: 'CTF_Escort',
  1153. CTF_CLAIM_SCORE_REASON: 'CTF_Claim',
  1154. CTF_DISTRACT_SCORE_REASON: 'CTF_Distract',
  1155. CTF_DEFEND_SCORE_REASON: 'CTF_Defend',
  1156. CTF_ASSAULT_SCORE_REASON: 'CTF_Assault',
  1157. CTF_ASSAULT_ENEMY_SCORE_REASON: 'CTF_Assault_Enemy',
  1158. CTF_CARRIER_DEFEND_SCORE_REASON: 'CTF_Carrier_Defend',
  1159. CTF_INTERCEPT_SCORE_REASON: 'CTF_Intercept',
  1160. ZOM_SURVIVE_SCORE_REASON: 'ZOM_Survive',
  1161. ZOM_LASTMAN_SCORE_REASON: 'ZOM_LastMan',
  1162. ZOM_KILLSURVIVOR_SCORE_REASON: 'ZOM_KillSurvivor',
  1163. ZOM_LASTMAN_ZOMBIEKILL_SCORE_REASON: 'ZOM_LastManZombieKill',
  1164. ZOM_ZOMBIES_KILLED_TOTAL: 'ZOM_Zombies_Killed_Total',
  1165. ZOM_TIME_SURVIVED_TOTAL: 'ZOM_Time_Survived_Total',
  1166. ZOM_LASTMAN_TIME_TOTAL: 'ZOM_LastMan_Time_Total',
  1167. ZOM_PISTOL_ZOMBIEKILL_TOTAL: 'ZOM_Pistol_ZombieKill_Total',
  1168. ZOM_LASTMAN_KILLS_TOTAL: 'ZOM_LastMan_Kills_Total',
  1169. ZOM_LASTMANSTANDING_TOTAL: 'ZOM_LastManStanding_Total',
  1170. DEM_DESTROY_SCORE_REASON: 'DEM_Destroy',
  1171. DEM_REPAIR_SCORE_REASON: 'DEM_Repair',
  1172. DEM_DEFEND_SCORE_REASON: 'DEM_Defend',
  1173. DEM_ASSAULT_SCORE_REASON: 'DEM_Assault',
  1174. DEM_REPAIR_TOTAL: 'DEM_Repair_Total',
  1175. DEM_DAMAGE_TOTAL: 'DEM_DestroyOverMultiple_Total',
  1176. DEM_FINAL_DAMAGE_TOBASE_TOTAL: 'DEM_FinalDamageToBase_Total',
  1177. MH_OCCUPY_SCORE_REASON: 'MH_Occupy',
  1178. MH_FIRST_SCORE_REASON: 'MH_First',
  1179. MH_CLAIM_SCORE_REASON: 'MH_Claim',
  1180. MH_CONTROL_SCORE_REASON: 'MH_Control',
  1181. MH_DEFEND_SCORE_REASON: 'MH_Defend',
  1182. MH_ASSAULT_SCORE_REASON: 'MH_Assault',
  1183. MH_CONTEST_SCORE_REASON: 'MH_Contest',
  1184. MH_SURVIVE_AIRSTRIKE_TOTAL: 'MH_Survive_Airstrike_Total',
  1185. MH_TRIGGER_AIRSTRIKE_TOTAL: 'MH_Trigger_Airstrike_Total',
  1186. ZOMBIE_HUMANS_KILLED_TOTAL: 'ZOMBIE_HumansKilled_Total',
  1187. ZOMBIE_HUMANS_KILLED_IN_WATER_TOTAL: 'ZOMBIE_HumansKilled_InWater_Total',
  1188. ZOMBIE_HUMANS_KILLED_AS_PATIENTZERO_TOTAL: 'ZOMBIE_HumansKilled_AsPatientZero_Total',
  1189. ZOMBIE_BLOCKS_DESTROYED_TOTAL: 'ZOMBIE_Blocks_Destroyed_Total',
  1190. ZOMBIE_HANDS_KILLS_TOTAL: 'ZOMBIE_Hands_Kills',
  1191. SOLDIER_MINIGUN_KILLS: 'SOLDIER_Minigun_Kills',
  1192. SOLDIER_RPG_KILLS: 'SOLDIER_RPG_Kills',
  1193. SOLDIER_RPG2_KILLS: 'SOLDIER_RPG2_Kills',
  1194. SOLDIER_PISTOL_KILLS: 'SOLDIER_Pistol_Kills',
  1195. SOLDIER_GRENADE_KILLS: 'SOLDIER_Grenade_Kills',
  1196. SOLDIER_APG_KILLS: 'SOLDIER_APG_Kills',
  1197. SOLDIER_SNOWBLOWER_KILLS: 'SOLDIER_Snowblower_Kills',
  1198. SOLDIER_SPADE_KILLS: 'SOLDIER_Spade_Kills',
  1199. SOLDIER_KNIFE_KILLS: 'SOLDIER_Knife_Kills',
  1200. SOLDIER_MINIGUN_DEMOLISH_TOTAL: 'SOLDIER_Minigun_Demolish_Total',
  1201. SOLDIER_RPG_FALL_TOTAL: 'SOLDIER_RPG_Fall_Total',
  1202. SOLDIER_AIRBORNE_ROCKET_KILLS: 'SOLDIER_Airborne_Rocket_Kills',
  1203. SCOUT_SNIPER_KILLS: 'SCOUT_Sniper_Kills',
  1204. SCOUT_SNIPER2_KILLS: 'SCOUT_Sniper2_Kills',
  1205. SCOUT_LANDMINE_KILLS: 'SCOUT_Landmine_Kills',
  1206. SCOUT_SNOWBLOWER_KILLS: 'SCOUT_Snowblower_Kills',
  1207. SCOUT_PICKAXE_KILLS: 'SCOUT_Pickaxe_Kills',
  1208. SCOUT_KNIFE_KILLS: 'SCOUT_Knife_Kills',
  1209. SCOUT_SNIPER_STREAK3_TOTAL: 'SCOUT_Sniper_Streak3_Total',
  1210. SCOUT_SNIPER_STREAK6_TOTAL: 'SCOUT_Sniper_Streak6_Total',
  1211. SCOUT_SNIPER2_SPEED_TOTAL: 'SCOUT_Sniper2_Speed_Total',
  1212. SCOUT_SNIPER_HEADSHOT_TOTAL: 'SCOUT_Sniper_Headshot_Total',
  1213. ROCKETEER_SMG_KILLS: 'ROCKETEER_SMG_Kills',
  1214. ROCKETEER_TURRET_KILLS: 'ROCKETEER_Turret_Kills',
  1215. ROCKETEER_GRENADE_KILLS: 'ROCKETEER_Grenade_Kills',
  1216. ROCKETEER_SPADE_KILLS: 'ROCKETEER_Spade_Kills',
  1217. ROCKETEER_PICKAXE_KILLS: 'ROCKETEER_Pickaxe_Kills',
  1218. ROCKETEER_JETPACK_KILLS: 'ROCKETEER_Jetpack_Kills',
  1219. ROCKETEER_JETPACK_GRENADE_KILLS: 'ROCKETEER_Jetpack_Grenade_Kills',
  1220. ROCKETEER_JETPACK_SMG_KILLS: 'ROCKETEER_Jetpack_SMG_Kills',
  1221. ENGINEER_SMG_KILLS: 'ENGINEER_SMG_Kills',
  1222. ENGINEER_SNOWBLOWER_KILLS: 'ENGINEER_Snowblower_Kills',
  1223. ENGINEER_TURRET_KILLS: 'ENGINEER_Turret_Kills',
  1224. ENGINEER_PICKAXE_KILLS: 'ENGINEER_Pickaxe_Kills',
  1225. ENGINEER_JETPACK_KILLS: 'ENGINEER_Jetpack_Kills',
  1226. ENGINEER_JETPACK_SMG_KILLS: 'ENGINEER_Jetpack_SMG_Kills',
  1227. MINER_SHOTGUN_KILLS: 'MINER_Shotgun_Kills',
  1228. MINER_SHOTGUN2_KILLS: 'MINER_Shotgun2_Kills',
  1229. MINER_DYNAMITE_KILLS: 'MINER_Dynamite_Kills',
  1230. MINER_SNOWBLOWER_KILLS: 'MINER_Snowblower_Kills',
  1231. MINER_SUPERSPADE_KILLS: 'MINER_Superspade_Kills',
  1232. MINER_PICKAXE_KILLS: 'MINER_Pickaxe_Kills',
  1233. MINER_DRILL_DEMOLISH_TOTAL: 'MINER_Drill_Demolish_Total',
  1234. MINER_DYNAMITE_BELOW_KILLS: 'MINER_Dynamite_Below_Kills',
  1235. MINER_SHOTGUN_HEADSHOT_TOTAL: 'MINER_Shotgun_Headshot_Total',
  1236. MINER_SHOTGUN_ZOMBIE_KILLS: 'MINER_Shotgun_Zombie_Kills',
  1237. GANGSTER_TOMMYGUN_KILLS: 'GANGSTER_Tommygun_Kills',
  1238. GANGSTER_PISTOL_KILLS: 'GANGSTER_Pistol_Kills',
  1239. GANGSTER_MOLOTOV_KILLS: 'GANGSTER_Molotov_Kills',
  1240. GANGSTER_CROWBAR_KILLS: 'GANGSTER_Crowbar_Kills',
  1241. CLASSIC_SOLDIER_RIFLE_KILLS: 'CLASSIC_SOLDIER_Rifle_Kills',
  1242. CLASSIC_SOLDIER_GRENADE_KILLS: 'CLASSIC_SOLDIER_Grenade_Kills',
  1243. CLASSIC_SOLDIER_SPADE_KILLS: 'CLASSIC_SOLDIER_Spade_Kills',
  1244. CLASSIC_SOLDIER_RIFLE_HEADSHOT_TOTAL: 'CLASSIC_SOLDIER_Rifle_Headshot_Total',
  1245. CLASSIC_SOLDIER_INTEL_KILLS: 'CLASSIC_SOLDIER_Intel_Kills',
  1246. COMBAT_5INAROW_TOTAL: 'COMBAT_5InARow_Total',
  1247. COMBAT_10INAROW_TOTAL: 'COMBAT_10InARow_Total',
  1248. COMBAT_15INAROW_TOTAL: 'COMBAT_15InARow_Total',
  1249. COMBAT_DISTANCE_RAN_TOTAL: 'COMBAT_DistanceRan_Total',
  1250. COMBAT_AMMO_DROP_TOTAL: 'COMBAT_AmmoDrop_Total',
  1251. COMBAT_HEALTH_DROP_TOTAL: 'COMBAT_HealthDrop_Total',
  1252. COMBAT_BLOCK_DROP_TOTAL: 'COMBAT_BlockDrop_Total',
  1253. COMBAT_GRENADE_DEMOLISH_TOTAL: 'COMBAT_GrenadeDemolish_Total',
  1254. COMBAT_KILL_JETPACK_TOTAL: 'COMBAT_KillJetpack_Total',
  1255. COMBAT_PICKAXE_KILLS: 'COMBAT_Pickaxe_Kills',
  1256. COMBAT_PISTOL_KILLS: 'COMBAT_Pistol_Kills',
  1257. COMBAT_SPADE_KILLS: 'COMBAT_Spade_Kills',
  1258. COMBAT_TURRET_EVASION_TOTAL: 'COMBAT_TurretEvasion_Total',
  1259. COMBAT_TEABAG_TOTAL: 'COMBAT_Teabag_Total',
  1260. COMBAT_TEABAG_CLASSIC_TOTAL: 'COMBAT_TeabagClassic_Total',
  1261. COMBAT_KILLSATLOWHEALTH_TOTAL: 'COMBAT_KillsAtLowHealth_Total',
  1262. COMBAT_TIMEINAIR_TOTAL: 'COMBAT_TimeInAir_Total',
  1263. MAP_SINGLEBLOCKS_ADDED_TOTAL: 'MAP_SingleBlocksAdded_Total',
  1264. MAP_PREFAB_ADDED_TOTAL: 'MAP_PrefabAdded_Total',
  1265. MAP_BLOCKS_DESTROYED_TOTAL: 'MAP_BlocksDestroyed_Total',
  1266. GAME_WINS_TOTAL: 'GAME_Wins_Total',
  1267. GAME_LOSSES_TOTAL: 'GAME_Losses_Total',
  1268. GAME_DRAWS_TOTAL: 'GAME_Draws_Total',
  1269. ANCIENT_EGYPT_TIME_SCORE: 'Ancient_Egypt_time_score',
  1270. ARCTIC_BASE_TIME_SCORE: 'Arctic_Base_time_score',
  1271. BRAN_CASTLE_TIME_SCORE: 'Bran_Castle_time_score',
  1272. DRAGON_ISLAND_TIME_SCORE: 'Dragon_Island_time_score',
  1273. LONDON_TIME_SCORE: 'London_time_score',
  1274. LUNAR_BASE_TIME_SCORE: 'Lunar_Base_time_score',
  1275. MAYAN_JUNGLE_TIME_SCORE: 'Mayan_Jungle_time_score',
  1276. SPOOKY_MANSION_TIME_SCORE: 'Spooky_Mansion_time_score',
  1277. TOKYO_NEON_TIME_SCORE: 'Tokyo_Neon_time_score',
  1278. HIESVILLE_TIME_SCORE: 'Hiesville_time_score',
  1279. BLOCK_NESS_TIME_SCORE: 'Block_Ness_time_score',
  1280. CASTLE_WARS_TIME_SCORE: 'Castle_Wars_time_score',
  1281. DOUBLE_DRAGON_TIME_SCORE: 'Double_Dragon_time_score',
  1282. WW1_TIME_SCORE: 'WW1_time_score',
  1283. TO_THE_BRIDGE_TIME_SCORE: 'To_The_Bridge_time_score',
  1284. CROSSROADS_TIME_SCORE: 'Crossroads_time_score',
  1285. WINTER_VALLEY_TIME_SCORE: 'Winter_Valley_time_score',
  1286. TRENCHES_TIME_SCORE: 'Trenches_time_score',
  1287. CITY_OF_CHICAGO_TIME_SCORE: 'City_Of_Chicago_time_score',
  1288. ALCATRAZ_TIME_SCORE: 'Alcatraz_time_score',
  1289. ZOM_MODE_SCORE_REASON: 'Zombie_mode_score',
  1290. TDM_MODE_SCORE_REASON: 'TDM_mode_score',
  1291. DIA_MODE_SCORE_REASON: 'Diamond_mine_mode_score',
  1292. OC_MODE_SCORE_REASON: 'Occupation_mode_score',
  1293. DEM_MODE_SCORE_REASON: 'Demolition_mode_score',
  1294. MH_MODE_SCORE_REASON: 'Multihill_mode_score',
  1295. VIP_MODE_SCORE_REASON: 'VIP_mode_score',
  1296. CTF_MODE_SCORE_REASON: 'Capture_the_flag_mode_score',
  1297. TC_MODE_SCORE_REASON: 'Territory_control_mode_score',
  1298. CCTF_MODE_SCORE_REASON: 'Classic_CTF_mode_score',
  1299. TDM_TOTAL_SCORE: 'TDM_total_score',
  1300. VIP_TOTAL_SCORE: 'VIP_total_score',
  1301. TC_TOTAL_SCORE: 'TC_total_score',
  1302. OCC_TOTAL_SCORE: 'OCC_total_score',
  1303. DIA_TOTAL_SCORE: 'DIA_total_score',
  1304. CTF_TOTAL_SCORE: 'CTF_total_score',
  1305. ZOM_TOTAL_SCORE: 'ZOM_total_score',
  1306. DEM_TOTAL_SCORE: 'DEM_total_score',
  1307. MH_TOTAL_SCORE: 'MH_total_score',
  1308. COMPLETE_TOTAL_SCORE: 'Complete_total_score',
  1309. COM_TDM_ASSIST: 'COM_TDM_ASSIST',
  1310. COM_TDM_RETRIBUTION: 'COM_TDM_RETRIBUTION',
  1311. COM_VIP_SURVIVE: 'COM_VIP_SURVIVE',
  1312. COM_VIP_ASSAULT: 'COM_VIP_ASSAULT',
  1313. COM_VIP_DEFEND: 'COM_VIP_DEFEND',
  1314. COM_VIP_ESCORT: 'COM_VIP_ESCORT',
  1315. COM_TC_CONTEND: 'COM_TC_CONTEND',
  1316. COM_OCC_CARRY: 'COM_OCC_CARRY',
  1317. COM_OCC_ASSIST: 'COM_OCC_ASSIST',
  1318. COM_OCC_DEFEND: 'COM_OCC_DEFEND',
  1319. COM_OCC_SURVIVAL: 'COM_OCC_SURVIVAL',
  1320. COM_DIA_ASSIST: 'COM_DIA_ASSIST',
  1321. COM_DIA_ASSAULT: 'COM_DIA_ASSAULT',
  1322. COM_DIA_STEAL: 'COM_DIA_STEAL',
  1323. COM_CTF_ASSIST: 'COM_CTF_ASSIST',
  1324. COM_CTF_DEFEND: 'COM_CTF_DEFEND',
  1325. COM_CTF_ASSAULT: 'COM_CTF_ASSAULT',
  1326. COM_MH_CONTROL: 'COM_MH_CONTROL',
  1327. DEATH_SCORE_REASON: 'DEATH_SCORE_REASON',
  1328. TEABAG_SCORE_REASON: 'TEABAG_SCORE_REASON',
  1329. SUPER_MARKSMAN_SCORE_REASON: 'SUPER_MARKSMAN_SCORE_REASON',
  1330. SUPER_SPRINTER_SCORE_REASON: 'SUPER_SPRINTER_SCORE_REASON',
  1331. KICKED_SCORE_REASON: 'KICKED_SCORE_REASON'}
  1332. MAP_NAME_TO_SCORE_REASON = {'Ancient Egypt': ANCIENT_EGYPT_TIME_SCORE,
  1333. 'Arctic Base': ARCTIC_BASE_TIME_SCORE,
  1334. 'Bran Castle': BRAN_CASTLE_TIME_SCORE,
  1335. 'Dragon Island': DRAGON_ISLAND_TIME_SCORE,
  1336. 'London': LONDON_TIME_SCORE,
  1337. 'Lunar Base': LUNAR_BASE_TIME_SCORE,
  1338. 'Mayan Jungle': MAYAN_JUNGLE_TIME_SCORE,
  1339. 'Spooky Mansion': SPOOKY_MANSION_TIME_SCORE,
  1340. 'Tokyo Neon': TOKYO_NEON_TIME_SCORE,
  1341. 'Hiesville': HIESVILLE_TIME_SCORE,
  1342. 'Block Ness': BLOCK_NESS_TIME_SCORE,
  1343. 'Castle Wars': CASTLE_WARS_TIME_SCORE,
  1344. 'Double Dragon': DOUBLE_DRAGON_TIME_SCORE,
  1345. 'WW1': WW1_TIME_SCORE,
  1346. 'To The Bridge': TO_THE_BRIDGE_TIME_SCORE,
  1347. 'Crossroads': CROSSROADS_TIME_SCORE,
  1348. 'Winter Valley': WINTER_VALLEY_TIME_SCORE,
  1349. 'Trenches': TRENCHES_TIME_SCORE,
  1350. 'City Of Chicago': CITY_OF_CHICAGO_TIME_SCORE,
  1351. 'Alcatraz': ALCATRAZ_TIME_SCORE}
  1352. GAMEMODE_TO_SCORE_REASON = {'zom': ZOM_MODE_SCORE_REASON,
  1353. 'tdm': TDM_MODE_SCORE_REASON,
  1354. 'dia': DIA_MODE_SCORE_REASON,
  1355. 'oc': OC_MODE_SCORE_REASON,
  1356. 'dem': DEM_MODE_SCORE_REASON,
  1357. 'mh': MH_MODE_SCORE_REASON,
  1358. 'vip': VIP_MODE_SCORE_REASON,
  1359. 'ctf': CTF_MODE_SCORE_REASON,
  1360. 'tc': TC_MODE_SCORE_REASON,
  1361. 'cctf': CCTF_MODE_SCORE_REASON}
  1362. SCORE_REASONS_FOR_TOTALS = {COM_TDM_ASSIST: [KILL_SCORE_ASSIST_REASON, KILL_SCORE_DISTRACT_REASON, KILL_SCORE_RELOAD_REASON],
  1363. COM_TDM_RETRIBUTION: [KILL_SCORE_REVENGE_REASON, KILL_SCORE_PAYBACK_REASON],
  1364. COM_VIP_SURVIVE: [VIP_SURVIVE_SCORE_REASON, VIP_KILL_SCORE_REASON],
  1365. COM_VIP_ASSAULT: [VIP_KILLENEMYVIP_SCORE_REASON, VIP_ASSAULT_SCORE_REASON, VIP_ASSAULT_ENEMY_SCORE_REASON],
  1366. COM_VIP_DEFEND: [VIP_DEFEND_SCORE_REASON, VIP_DISTRACT_SCORE_REASON],
  1367. COM_VIP_ESCORT: [VIP_ESCORT_SCORE_REASON],
  1368. COM_TC_CONTEND: [TC_ASSAULT_SCORE_REASON, TC_CONTEND_SCORE_REASON],
  1369. COM_OCC_CARRY: [OCC_CARRY_SCORE_REASON, OCC_DISTRACT_SCORE_REASON],
  1370. COM_OCC_ASSIST: [OCC_DEFEND_SCORE_REASON, OCC_CARRIER_DEFEND_SCORE_REASON, OCC_ASSAULT_SCORE_REASON],
  1371. COM_OCC_DEFEND: [OCC_INTERCEPT_SCORE_REASON, OCC_DISPOSAL_SCORE_REASON, OCC_INTERCEPT_DISPOSAL_SCORE_REASON],
  1372. COM_OCC_SURVIVAL: [OCC_LASTMAN_TOTAL, OCC_SURVIVE_SCORE_REASON],
  1373. COM_DIA_ASSIST: [DIA_ESCORT_SCORE_REASON, DIA_DISTRACT_SCORE_REASON, DIA_CARRIER_DEFEND_SCORE_REASON],
  1374. COM_DIA_ASSAULT: [DIA_DEFEND_SCORE_REASON, DIA_ASSAULT_SCORE_REASON, DIA_INTERCEPT_SCORE_REASON],
  1375. COM_DIA_STEAL: [DIA_STEAL_TOTAL, DIA_FINDANDCASHIN_TOTAL],
  1376. COM_CTF_ASSIST: [CTF_ESCORT_SCORE_REASON, CTF_DISTRACT_SCORE_REASON],
  1377. COM_CTF_DEFEND: [CTF_DEFEND_SCORE_REASON, CTF_CARRIER_DEFEND_SCORE_REASON],
  1378. COM_CTF_ASSAULT: [CTF_ASSAULT_SCORE_REASON, CTF_ASSAULT_ENEMY_SCORE_REASON, CTF_INTERCEPT_SCORE_REASON],
  1379. COM_MH_CONTROL: [MH_CLAIM_SCORE_REASON, MH_CONTROL_SCORE_REASON],
  1380. TDM_TOTAL_SCORE: [KILL_SCORE_HEADSHOT_REASON,
  1381. KILL_SCORE_MELEE_REASON,
  1382. KILL_SCORE_REASON,
  1383. COM_TDM_ASSIST,
  1384. COM_TDM_RETRIBUTION,
  1385. KILL_SCORE_DEFEND_REASON],
  1386. VIP_TOTAL_SCORE: [COM_VIP_SURVIVE,
  1387. COM_VIP_ASSAULT,
  1388. COM_VIP_DEFEND,
  1389. COM_VIP_ESCORT],
  1390. TC_TOTAL_SCORE: [TC_OCCUPY_SCORE_REASON,
  1391. TC_CLAIM_SCORE_REASON,
  1392. TC_CONTROL_SCORE_REASON,
  1393. TC_DEFEND_SCORE_REASON,
  1394. COM_TC_CONTEND],
  1395. OCC_TOTAL_SCORE: [OCC_OCCUPY_SCORE_REASON,
  1396. OCC_BOOM_SCORE_REASON,
  1397. COM_OCC_CARRY,
  1398. COM_OCC_ASSIST,
  1399. COM_OCC_DEFEND,
  1400. COM_OCC_SURVIVAL],
  1401. DIA_TOTAL_SCORE: [DIA_CAPTURE_SCORE_REASON,
  1402. DIA_UNCOVER_SCORE_REASON,
  1403. DIA_CARRY_SCORE_REASON,
  1404. COM_DIA_ASSIST,
  1405. COM_DIA_ASSAULT,
  1406. COM_DIA_STEAL],
  1407. CTF_TOTAL_SCORE: [CTF_CAPTURE_SCORE_REASON,
  1408. CTF_CARRY_SCORE_REASON,
  1409. CTF_CLAIM_SCORE_REASON,
  1410. COM_CTF_ASSIST,
  1411. COM_CTF_DEFEND,
  1412. COM_CTF_ASSAULT],
  1413. ZOM_TOTAL_SCORE: [ZOM_SURVIVE_SCORE_REASON,
  1414. ZOM_LASTMAN_SCORE_REASON,
  1415. ZOM_KILLSURVIVOR_SCORE_REASON,
  1416. ZOM_LASTMAN_ZOMBIEKILL_SCORE_REASON],
  1417. DEM_TOTAL_SCORE: [DEM_DESTROY_SCORE_REASON,
  1418. DEM_REPAIR_SCORE_REASON,
  1419. DEM_DEFEND_SCORE_REASON,
  1420. DEM_ASSAULT_SCORE_REASON],
  1421. MH_TOTAL_SCORE: [MH_OCCUPY_SCORE_REASON,
  1422. MH_FIRST_SCORE_REASON,
  1423. COM_MH_CONTROL,
  1424. MH_DEFEND_SCORE_REASON,
  1425. MH_ASSAULT_SCORE_REASON,
  1426. MH_CONTEST_SCORE_REASON]}
  1427. LEADERBOARD_TYPE_GENERAL, LEADERBOARD_TYPE_TDM, LEADERBOARD_TYPE_VIP, LEADERBOARD_TYPE_TC, LEADERBOARD_TYPE_OCC, LEADERBOARD_TYPE_DIA, LEADERBOARD_TYPE_CTF, LEADERBOARD_TYPE_ZOM, LEADERBOARD_TYPE_DEM, LEADERBOARD_TYPE_MH, LEADERBOARD_TYPE_TITLE = xrange(11)
  1428. LEADERBOARD_ENTRY_FILTER, LEADERBOARD_ENTRY_GLOBAL_STRING, LEADERBOARD_ENTRY_LOCAL_STRING, LEADERBOARD_ENTRY_SORT_STAT, LEADERBOARD_ENTRY_STAT_LIST = xrange(5)
  1429. LEADERBOARD_SETUP = {LEADERBOARD_TYPE_GENERAL: ['GENERAL',
  1430. 'General Global',
  1431. 'General Local',
  1432. COMPLETE_TOTAL_SCORE,
  1433. [KILL_SCORE_REASON,
  1434. DEATH_SCORE_REASON,
  1435. KILL_SCORE_REASON,
  1436. GAME_WINS_TOTAL,
  1437. GAME_LOSSES_TOTAL]],
  1438. LEADERBOARD_TYPE_TDM: ['TDM_TITLE',
  1439. SCORE_REASON_CODES[TDM_TOTAL_SCORE] + ' global',
  1440. SCORE_REASON_CODES[TDM_TOTAL_SCORE] + ' local',
  1441. TDM_TOTAL_SCORE,
  1442. SCORE_REASONS_FOR_TOTALS[TDM_TOTAL_SCORE]],
  1443. LEADERBOARD_TYPE_VIP: ['VIP_MODE_TITLE',
  1444. SCORE_REASON_CODES[VIP_TOTAL_SCORE] + ' global',
  1445. SCORE_REASON_CODES[VIP_TOTAL_SCORE] + ' local',
  1446. VIP_TOTAL_SCORE,
  1447. SCORE_REASONS_FOR_TOTALS[VIP_TOTAL_SCORE]],
  1448. LEADERBOARD_TYPE_TC: ['TC_TITLE',
  1449. SCORE_REASON_CODES[TC_TOTAL_SCORE] + ' global',
  1450. SCORE_REASON_CODES[TC_TOTAL_SCORE] + ' local',
  1451. TC_TOTAL_SCORE,
  1452. SCORE_REASONS_FOR_TOTALS[TC_TOTAL_SCORE]],
  1453. LEADERBOARD_TYPE_OCC: ['OCCUPATION_MODE_TITLE',
  1454. SCORE_REASON_CODES[OCC_TOTAL_SCORE] + ' global',
  1455. SCORE_REASON_CODES[OCC_TOTAL_SCORE] + ' local',
  1456. OCC_TOTAL_SCORE,
  1457. SCORE_REASONS_FOR_TOTALS[OCC_TOTAL_SCORE]],
  1458. LEADERBOARD_TYPE_DIA: ['DIAMOND_MINE_TITLE',
  1459. SCORE_REASON_CODES[DIA_TOTAL_SCORE] + ' global',
  1460. SCORE_REASON_CODES[DIA_TOTAL_SCORE] + ' local',
  1461. DIA_TOTAL_SCORE,
  1462. SCORE_REASONS_FOR_TOTALS[DIA_TOTAL_SCORE]],
  1463. LEADERBOARD_TYPE_CTF: ['CTF_TITLE',
  1464. SCORE_REASON_CODES[CTF_TOTAL_SCORE] + ' global',
  1465. SCORE_REASON_CODES[CTF_TOTAL_SCORE] + ' local',
  1466. CTF_TOTAL_SCORE,
  1467. SCORE_REASONS_FOR_TOTALS[CTF_TOTAL_SCORE]],
  1468. LEADERBOARD_TYPE_ZOM: ['ZOMBIE_MODE_TITLE',
  1469. SCORE_REASON_CODES[ZOM_TOTAL_SCORE] + ' global',
  1470. SCORE_REASON_CODES[ZOM_TOTAL_SCORE] + ' local',
  1471. ZOM_TOTAL_SCORE,
  1472. SCORE_REASONS_FOR_TOTALS[ZOM_TOTAL_SCORE]],
  1473. LEADERBOARD_TYPE_DEM: ['DEMOLITION_TITLE',
  1474. SCORE_REASON_CODES[DEM_TOTAL_SCORE] + ' global',
  1475. SCORE_REASON_CODES[DEM_TOTAL_SCORE] + ' local',
  1476. DEM_TOTAL_SCORE,
  1477. SCORE_REASONS_FOR_TOTALS[DEM_TOTAL_SCORE]],
  1478. LEADERBOARD_TYPE_MH: ['MULTIHILL_TITLE',
  1479. SCORE_REASON_CODES[MH_TOTAL_SCORE] + ' global',
  1480. SCORE_REASON_CODES[MH_TOTAL_SCORE] + ' local',
  1481. MH_TOTAL_SCORE,
  1482. SCORE_REASONS_FOR_TOTALS[MH_TOTAL_SCORE]]}
  1483. KICK_GRIEFING, KICK_HACKING, KICK_ABUSE, KICK_CANCEL = xrange(4)
  1484. KICK_REASONS = {KICK_GRIEFING: 'KICK_REASON_GRIEFING',
  1485. KICK_HACKING: 'KICK_REASON_HACKING',
  1486. KICK_ABUSE: 'KICK_REASON_ABUSE'}
  1487. SCORE_RETURN_SUCCESS = 1
  1488. SCORE_RETURN_FAILED = 2
  1489. SCORE_RETURN_INVALID_PARAMETER = 3
  1490. SCORE_RETURN_INTERNAL_ERROR = 4
  1491. SCORE_ERROR_STRINGS = {SCORE_RETURN_SUCCESS: 'Success',
  1492. SCORE_RETURN_FAILED: 'Failed',
  1493. SCORE_RETURN_INVALID_PARAMETER: 'Invalid parameter',
  1494. SCORE_RETURN_INTERNAL_ERROR: 'Internal error'}
  1495. MULTIKILLMAXTIMEGAP = 6.0
  1496. GENERIC_VOTE_START, GENERIC_VOTE_CAST, GENERIC_UPDATE_VOTE_COUNT, GENERIC_VOTE_CLOSED = xrange(4)
  1497. MONITOR_RETURN_SUCCESS, MONITOR_RETURN_INVALID_PARAMETER, MONITOR_RETURN_REQUEST_TOO_FAST, MONITOR_RETURN_MONITOR_FULL, MONITOR_RETURN_STEAM_AUTH_ERROR = xrange(5)
  1498. CHAT_ALL, CHAT_TEAM, CHAT_SYSTEM, CHAT_BIG = xrange(4)
  1499. FLAG, BASE, HELICOPTER, AMMO_CRATE, HEALTH_CRATE, BLOCK_CRATE, JETPACK_CRATE, MACHINE_GUN, ROCKET_TURRET_ENTITY, LANDMINE_ENTITY, DYNAMITE_ENTITY, GRAVE_ENTITY, CORPSE_ENTITY, FLARE_BLOCK, BOMB_PICKUP, DIAMOND_PICKUP, INTEL_PICKUP, AIRSTRIKE_ENTITY, AMMO_DROP_POINT_ENTITY, HEALTH_DROP_POINT_ENTITY, BLOCK_CRATE_DROP_POINT_ENTITY, ROCKET_ENTITY, ROCKET2_ENTITY, DRILL_ENTITY, SNOWBALL_ENTITY, CAPTURE_POINT_ENTITY, TANK_ENTITY, MOLOTOV_ENTITY, BLOCKFIRE = xrange(29)
  1500. ERROR_UNDEFINED, ERROR_BANNED, ERROR_KICKED, ERROR_SERVER_OUT_OF_DATE, ERROR_FULL, ERROR_NOSTEAM, ERROR_NOVAC, ERROR_NOLICENSE, ERROR_NOTICKET, ERROR_VACBANNED, ERROR_CLIENT_OUT_OF_DATE, ERROR_TIMEOUT, ERROR_RANKED_SERVER, ERROR_DATA, ERROR_DLC_LOCKED, ERROR_CONTENT_LOCKED, ERROR_AFK_TIMEOUT, ERROR_CUSTOM_SERVER, ERROR_MATCH_ENDED, ERROR_TEMP_BANNED, ERROR_CONTROL_ALREADY_BOUND = xrange(21)
  1501. SET_STATE, SET_POSITION, SET_VELOCITY, SET_PLAYER, SET_FORWARD_VECTOR, SET_TARGET, SET_FUSE, SET_AMMO, SET_HIGH_MINIMAP_VISIBILITY, SET_CHASE_CAM = xrange(10)
  1502. DAMAGE_SELF, DAMAGE_OTHER, HEAL, DAMAGE_FIRE, DAMAGE_SUDDEN_DEATH = xrange(5)
  1503. FLY_CAMERA, CHASE_CAMERA, TANK_CAMERA, PAN_CAMERA, LOOKAT_CAMERA, DEATH_CAMERA = xrange(6)
  1504. MELEE_TOLERANCE = 1.0
  1505. MAX_CHAT_SIZE = 90
  1506. RUBBERBAND_DISTANCE = 99999
  1507. MAX_TIMER_SPEED = 2000
  1508. TIMER_WINDOW_ENTRIES = 40
  1509. MAX_RAPID_SPEED = 60
  1510. RAPID_WINDOW_ENTRIES = 10
  1511. MOUNTABLE_DISTANCE = 3.0
  1512. MAX_DISPLAY_NAME_DISTANCE = 100.0
  1513. NETWORK_FPS = 30.0
  1514. UPDATE_FRAMERATE = 60.0
  1515. UPDATE_INTERVAL = 1.0 / UPDATE_FRAMERATE
  1516. MAX_UPDATES_PER_FRAME = 4
  1517. BLOCK_TYPE_PREFAB, BLOCK_TYPE_SNOW = xrange(2)
  1518. CLASSIC_MAX_BLOCK_DISTANCE = 5
  1519. CLOCK_SYNC_RATE = 60
  1520. UPDATE_ENTITIES_RATE = 10
  1521. ATTEMPT_PLAYER_PICKUP_RATE = 10
  1522. MIN_BLOCK_INTERVAL = 0.1
  1523. MAX_BLOCK_DISTANCE = 12
  1524. HIT_TOLERANCE = 5.0
  1525. CRATE_DISTANCE = 2.5
  1526. PICKUP_DISTANCE = 3.0
  1527. CAPTURE_POINT_DISTANCE = 3.0
  1528. CAPTURE_POINT_REFILL_TIME = 10.0
  1529. NO_PICKUP_AFTER_DROP_TIME = 2.5
  1530. CHAT_SHOWN_LINES = 10
  1531. CHAT_BUFFER_SIZE = 50
  1532. NETWORK_RATE = 1 / 30.0
  1533. MAX_DAMAGE = 2
  1534. HIT_INDICATOR_TIME = 1.2
  1535. BURN_INDICATOR_TIME = 1.2
  1536. SUDDEN_DEATH_INDICATOR_TIME = 1.2
  1537. DEFAULT_BLOCK_HEALTH = 5
  1538. DEFAULT_PREFAB_HEALTH = 9
  1539. DEFAULT_SNOW_HEALTH = 3
  1540. RADIUS_BLOCK_DAMAGE_RANDOM_EXTRA = 2
  1541. ZOMBIE_BLOCK_DAMAGE_RANDOM_EXTRA = 8
  1542. SUPER_SPADE_BLOCK_DAMAGE_RANDOM_EXTRA = 5
  1543. DIAMOND_LIFETIME = 60
  1544. WEAPON_DAMAGE_MULTIPLIER_THRESHOLD = 0.3
  1545. CRATE_SPAWN_DELAY = 25
  1546. CRATE_PARACHUTE_DEPLOYMENT_HEIGHT = 10
  1547. CRATE_PARACHUTE_REMOVAL_HEIGHT = 2
  1548. CRATE_PARACHUTE_SLOWDOWN = 0.75
  1549. USE_BILLBOARDS = False
  1550. USE_GLSL = True
  1551. LIGHT0_DIRECTION = (0, 0.707, -0.707)
  1552. LIGHT0_BACK_DIRECTION = (0, 0.707, 0.707)
  1553. LIGHT0_COLOR = (1.0,
  1554. 1.0,
  1555. 1.0,
  1556. 1.0)
  1557. UI_LIGHT_POSITION = (1.0,
  1558. 1.0,
  1559. 0.0,
  1560. 0.0)
  1561. PLAYER_NAME_COLOR = (255,
  1562. 255,
  1563. 255,
  1564. 255)
  1565. PLAYER_NAME_SCALE = 0.0075
  1566. OVER_FRIENDLY_COLOR = (255,
  1567. 255,
  1568. 255,
  1569. 200)
  1570. OVER_ENEMY_COLOR = (255,
  1571. 0,
  1572. 0,
  1573. 200)
  1574. BUTTON_COLOR = (20,
  1575. 20,
  1576. 20,
  1577. 255)
  1578. MENU_FONT_COLOR = (244,
  1579. 236,
  1580. 187,
  1581. 255)
  1582. MENU_FONT_DISABLED_COLOR = (122,
  1583. 118,
  1584. 94,
  1585. 255)
  1586. MENU_FONT_COLOR2 = (232,
  1587. 207,
  1588. 78,
  1589. 255)
  1590. SCORE_FONT_COLOR = (244,
  1591. 236,
  1592. 187,
  1593. 255)
  1594. MAP_NAME_FONT_COLOR = (255,
  1595. 255,
  1596. 255,
  1597. 255)
  1598. MAP_NAME_DROPSHADOW_COLOR = (0,
  1599. 0,
  1600. 0,
  1601. 255)
  1602. MODE_NAME_FONT_COLOR = (255,
  1603. 255,
  1604. 255,
  1605. 255)
  1606. MODE_NAME_DROPSHADOW_COLOR = (0,
  1607. 0,
  1608. 0,
  1609. 255)
  1610. INFOGRAPHIC_TEXT_COLOR = (255,
  1611. 255,
  1612. 255,
  1613. 255)
  1614. FOG_COLOR = (243, 237, 179)
  1615. DARK_GREEN = (86,
  1616. 100,
  1617. 21,
  1618. 255)
  1619. LIGHT_GREEN = (137,
  1620. 179,
  1621. 45,
  1622. 255)
  1623. RANKUP_TOLERANCE = 10
  1624. RANKUP_STATS_INITIAL_DELAY = 5.5
  1625. RANKUP_BAR_BEFORE_RANKUP_DELAY = 0.75
  1626. RANKUP_BAR_RANKUP_TIME = 1.5
  1627. RANKUP_BAR_CONTINUE_DELAY = 2.0
  1628. RANKUP_BAR_TOTAL_TIME = RANKUP_BAR_BEFORE_RANKUP_DELAY + RANKUP_BAR_RANKUP_TIME + RANKUP_BAR_CONTINUE_DELAY
  1629. RANKUP_FADEIN_TIME = 0.5
  1630. RANKUP_FADEOUT_TIME = 0.5
  1631. RANKUP_LEVEL_UP_TEXT_SCALE_FROM = 0.3
  1632. RANKUP_LEVEL_UP_TEXT_SCALE_TO = 3
  1633. RANKUP_LEVEL_UP_TEXT_SCALE_UP_TIMER = 0.0
  1634. RANKUP_LEVEL_UP_TEXT_SCALE_DOWN_TIMER = 0.4
  1635. RANKUP_LEVEL_UP_BOX_FADE_UP_TIMER = 0.3
  1636. RANKUP_LEVEL_UP_BOX_FADE_DOWN_TIMER = 0.3
  1637. RANKUP_TEXT_COLOUR = (104,
  1638. 173,
  1639. 87,
  1640. 255)
  1641. RANKUP_BAR_FLASH_COLOUR = (192, 255, 132)
  1642. PLAYER_SCORE_TICKER_SPEED = 2.0
  1643. MELEE_RANGE = 3
  1644. MELEE_WORLD_RANGE = 4
  1645. WEAPON_RANGE = 10000
  1646. WEAPON_WORLD_RANGE = 10000
  1647. WEAPON_ZOOM = 1.0
  1648. SELF_EXPLOSION_DAMAGE_REDUCTION = 0.5
  1649. TEAM_EXPLOSION_DAMAGE_REDUCTION = 0.5
  1650. SHRAPNEL_TRACER_SPEED = 200
  1651. WEAPON_TRACER_SPEED = 200
  1652. SPADE_SHOOT_INTERVAL = 0.4
  1653. SPADE_DAMAGE_AMOUNT = 5
  1654. SPADE_HITPLAYER_DAMAGE_AMOUNT = 35
  1655. SUPERSPADE_SHOOT_INTERVAL = 0.6
  1656. SUPERSPADE_DAMAGE_AMOUNT = 7.5
  1657. SUPERSPADE_HITPLAYER_DAMAGE_AMOUNT = 50
  1658. PICKAXE_SHOOT_INTERVAL = 0.4
  1659. PICKAXE_DAMAGE_AMOUNT = 9
  1660. PICKAXE_HITPLAYER_DAMAGE_AMOUNT = 50
  1661. KNIFE_SHOOT_INTERVAL = 0.25
  1662. KNIFE_DAMAGE_AMOUNT = 1.0
  1663. KNIFE_HITPLAYER_DAMAGE_AMOUNT = 20
  1664. CROWBAR_SHOOT_INTERVAL = 0.6
  1665. CROWBAR_DAMAGE_AMOUNT = 5
  1666. CROWBAR_HITPLAYER_DAMAGE_AMOUNT = 80
  1667. ZOMBIEHAND_SHOOT_INTERVAL = 0.4
  1668. ZOMBIEHAND_DAMAGE_AMOUNT = 2
  1669. ZOMBIEHAND_HITPLAYER_DAMAGE_AMOUNT = 70
  1670. PISTOL_RANGE = 1000
  1671. PISTOL_RELOAD_TIME = 0.5
  1672. PISTOL_SHOOT_INTERVAL = 0.3
  1673. PISTOL_ACCURACY = 0.015
  1674. PISTOL_RECOIL_UP = -0.005
  1675. PISTOL_RECOIL_SIDE = 0
  1676. PISTOL_DAMAGE_TORSO = 20
  1677. PISTOL_DAMAGE_HEAD = 50
  1678. PISTOL_DAMAGE_ARMS = 20
  1679. PISTOL_DAMAGE_LEGS = 20
  1680. PISTOL_DAMAGE_ENTITY = 20
  1681. PISTOL_DAMAGE_BLOCK = 3
  1682. PISTOL_AMMO_MAX = 42
  1683. PISTOL_AMMO_INITIAL_STOCK = PISTOL_AMMO_MAX
  1684. PISTOL_AMMO_RESTOCK_AMOUNT = PISTOL_AMMO_MAX
  1685. PISTOL_AMMO_CLIP_SIZE = 6
  1686. SNUB_PISTOL_RANGE = 500
  1687. SNUB_PISTOL_RELOAD_TIME = 0.75
  1688. SNUB_PISTOL_DELAY = 1.0
  1689. SNUB_PISTOL_SHOOT_INTERVAL = 0.5
  1690. SNUB_PISTOL_ACCURACY = 0.01
  1691. SNUB_PISTOL_RECOIL_UP = -0.05
  1692. SNUB_PISTOL_RECOIL_SIDE = 0
  1693. SNUB_PISTOL_DAMAGE_TORSO = 40
  1694. SNUB_PISTOL_DAMAGE_HEAD = 70
  1695. SNUB_PISTOL_DAMAGE_ARMS = 30
  1696. SNUB_PISTOL_DAMAGE_LEGS = 30
  1697. SNUB_PISTOL_DAMAGE_ENTITY = 20
  1698. SNUB_PISTOL_DAMAGE_BLOCK = 1
  1699. SNUB_PISTOL_AMMO_MAX = 35
  1700. SNUB_PISTOL_AMMO_INITIAL_STOCK = SNUB_PISTOL_AMMO_MAX
  1701. SNUB_PISTOL_AMMO_RESTOCK_AMOUNT = SNUB_PISTOL_AMMO_MAX
  1702. SNUB_PISTOL_AMMO_CLIP_SIZE = 6
  1703. SMG_RANGE = 250
  1704. SMG_RELOAD_TIME = 1.25
  1705. SMG_DELAY = 0.11
  1706. SMG_SHOOT_INTERVAL = 0.1
  1707. SMG_ACCURACY = 0.02
  1708. SMG_ACCURACY_RANGE = 0.02
  1709. SMG_ACCURACY_SPREAD_INITIAL = 1
  1710. SMG_ACCURACY_SPREAD_RANGE = 5
  1711. SMG_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.2
  1712. SMG_ACCURACY_SPREAD_REDUCTION_SPEED = 1
  1713. SMG_RECOIL_UP = -0.01
  1714. SMG_RECOIL_SIDE = 2e-05
  1715. SMG_DAMAGE_TORSO = 10
  1716. SMG_DAMAGE_HEAD = 15
  1717. SMG_DAMAGE_ARMS = 10
  1718. SMG_DAMAGE_LEGS = 10
  1719. SMG_DAMAGE_ENTITY = 15
  1720. SMG_DAMAGE_BLOCK = 1
  1721. SMG_AMMO_MAX = 100
  1722. SMG_AMMO_INITIAL_STOCK = SMG_AMMO_MAX
  1723. SMG_AMMO_RESTOCK_AMOUNT = SMG_AMMO_MAX
  1724. SMG_AMMO_CLIP_SIZE = 25
  1725. CLASSIC_SMG_RANGE = 100
  1726. CLASSIC_SMG_RELOAD_TIME = 1.25
  1727. CLASSIC_SMG_DELAY = 0.11
  1728. CLASSIC_SMG_SHOOT_INTERVAL = 0.1
  1729. CLASSIC_SMG_ACCURACY = 0.01
  1730. CLASSIC_SMG_ACCURACY_RANGE = 0.05
  1731. CLASSIC_SMG_ACCURACY_SPREAD_INITIAL = 1
  1732. CLASSIC_SMG_ACCURACY_SPREAD_RANGE = 5
  1733. CLASSIC_SMG_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.2
  1734. CLASSIC_SMG_ACCURACY_SPREAD_REDUCTION_SPEED = 0.6
  1735. CLASSIC_SMG_RECOIL_UP = -0.007
  1736. CLASSIC_SMG_RECOIL_SIDE = 0
  1737. CLASSIC_SMG_DAMAGE_TORSO = 20
  1738. CLASSIC_SMG_DAMAGE_HEAD = 20
  1739. CLASSIC_SMG_DAMAGE_ARMS = 20
  1740. CLASSIC_SMG_DAMAGE_LEGS = 20
  1741. CLASSIC_SMG_DAMAGE_ENTITY = 20
  1742. CLASSIC_SMG_DAMAGE_BLOCK = 2
  1743. CLASSIC_SMG_AMMO_MAX = 100
  1744. CLASSIC_SMG_AMMO_INITIAL_STOCK = SMG_AMMO_MAX
  1745. CLASSIC_SMG_AMMO_RESTOCK_AMOUNT = SMG_AMMO_MAX
  1746. CLASSIC_SMG_AMMO_CLIP_SIZE = 25
  1747. TOMMYGUN_RANGE = 500
  1748. TOMMYGUN_RELOAD_TIME = 2.0
  1749. TOMMYGUN_DELAY = 0.11
  1750. TOMMYGUN_SHOOT_INTERVAL = 0.12
  1751. TOMMYGUN_ACCURACY = 0.01
  1752. TOMMYGUN_ACCURACY_RANGE = 0.04
  1753. TOMMYGUN_ACCURACY_SPREAD_INITIAL = 1
  1754. TOMMYGUN_ACCURACY_SPREAD_RANGE = 4
  1755. TOMMYGUN_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.1
  1756. TOMMYGUN_ACCURACY_SPREAD_REDUCTION_SPEED = 0.5
  1757. TOMMYGUN_RECOIL_UP = -0.01
  1758. TOMMYGUN_RECOIL_SIDE = 0
  1759. TOMMYGUN_DAMAGE_TORSO = 30
  1760. TOMMYGUN_DAMAGE_HEAD = 35
  1761. TOMMYGUN_DAMAGE_ARMS = 30
  1762. TOMMYGUN_DAMAGE_LEGS = 30
  1763. TOMMYGUN_DAMAGE_ENTITY = 30
  1764. TOMMYGUN_DAMAGE_BLOCK = 1
  1765. TOMMYGUN_AMMO_MAX = 120
  1766. TOMMYGUN_AMMO_INITIAL_STOCK = TOMMYGUN_AMMO_MAX
  1767. TOMMYGUN_AMMO_RESTOCK_AMOUNT = TOMMYGUN_AMMO_MAX
  1768. TOMMYGUN_AMMO_CLIP_SIZE = 30
  1769. MINIGUN_RANGE = 100
  1770. MINIGUN_RELOAD_TIME = 2
  1771. MINIGUN_DELAY = 0.11
  1772. MINIGUN_SHOOT_INTERVAL = 0.3
  1773. MINIGUN_SHOOT_INTERVAL_ACTIVE_ALTERATION_PER_SECOND = -0.15
  1774. MINIGUN_SHOOT_INTERVAL_INACTIVE_ALTERATION_PER_SECOND = 0.075
  1775. MINIGUN_SHOOT_INTERVAL_RANGE = -0.2
  1776. MINIGUN_SHOOT_SOUND_LENGTH = 0.1
  1777. MINIGUN_BARREL_SPIN_SPEED_MAX = 5
  1778. MINIGUN_BARREL_SPIN_SPEED_MIN_TO_ALLOW_SHOOTING = 0.5
  1779. MINIGUN_BARREL_SPIN_SOUND_FADE_THRESHOLD = 0.03
  1780. MINIGUN_ACCURACY = 0.015
  1781. MINIGUN_ACCURACY_RANGE = 0.015
  1782. MINIGUN_ACCURACY_SPREAD_INITIAL = 2
  1783. MINIGUN_ACCURACY_SPREAD_RANGE = 5
  1784. MINIGUN_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.3
  1785. MINIGUN_ACCURACY_SPREAD_REDUCTION_SPEED = 2
  1786. MINIGUN_RECOIL_UP = -0.003
  1787. MINIGUN_RECOIL_SIDE = 2e-05
  1788. MINIGUN_DAMAGE_TORSO = 15
  1789. MINIGUN_DAMAGE_HEAD = 30
  1790. MINIGUN_DAMAGE_ARMS = 15
  1791. MINIGUN_DAMAGE_LEGS = 15
  1792. MINIGUN_DAMAGE_ENTITY = 20
  1793. MINIGUN_DAMAGE_BLOCK = 2.5
  1794. MINIGUN_AMMO_MAX = 400
  1795. MINIGUN_AMMO_INITIAL_STOCK = MINIGUN_AMMO_MAX
  1796. MINIGUN_AMMO_RESTOCK_AMOUNT = MINIGUN_AMMO_MAX
  1797. MINIGUN_AMMO_CLIP_SIZE = 100
  1798. SHOTGUN_RANGE = 60
  1799. SHOTGUN_RELOAD_TIME = 0.5
  1800. SHOTGUN_DELAY = 1.0
  1801. SHOTGUN_SHOOT_INTERVAL = 1
  1802. SHOTGUN_ACCURACY = 0.04
  1803. SHOTGUN_ACCURACY_RANGE = 0.04
  1804. SHOTGUN_ACCURACY_SPREAD_INITIAL = 4.0
  1805. SHOTGUN_ACCURACY_SPREAD_RANGE = 3.0
  1806. SHOTGUN_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.5
  1807. SHOTGUN_ACCURACY_SPREAD_REDUCTION_SPEED = 1.0
  1808. SHOTGUN_RECOIL_UP = -0.1
  1809. SHOTGUN_RECOIL_SIDE = 0.0002
  1810. SHOTGUN_DAMAGE_TORSO = 20
  1811. SHOTGUN_DAMAGE_HEAD = 30
  1812. SHOTGUN_DAMAGE_ARMS = 12
  1813. SHOTGUN_DAMAGE_LEGS = 12
  1814. SHOTGUN_DAMAGE_ENTITY = 25
  1815. SHOTGUN_DAMAGE_BLOCK = 1
  1816. SHOTGUN_AMMO_MAX = 30.0
  1817. SHOTGUN_AMMO_INITIAL_STOCK = SHOTGUN_AMMO_MAX
  1818. SHOTGUN_AMMO_RESTOCK_AMOUNT = SHOTGUN_AMMO_MAX
  1819. SHOTGUN_AMMO_CLIP_SIZE = 5
  1820. SHOTGUN_NUMBER_PELLETS = 10
  1821. CLASSIC_SHOTGUN_RANGE = 75
  1822. CLASSIC_SHOTGUN_RELOAD_TIME = 0.5
  1823. CLASSIC_SHOTGUN_DELAY = 1.0
  1824. CLASSIC_SHOTGUN_SHOOT_INTERVAL = 1
  1825. CLASSIC_SHOTGUN_ACCURACY = 0.04
  1826. CLASSIC_SHOTGUN_ACCURACY_RANGE = 0.04
  1827. CLASSIC_SHOTGUN_ACCURACY_SPREAD_INITIAL = 4.0
  1828. CLASSIC_SHOTGUN_ACCURACY_SPREAD_RANGE = 3.0
  1829. CLASSIC_SHOTGUN_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.5
  1830. CLASSIC_SHOTGUN_ACCURACY_SPREAD_REDUCTION_SPEED = 1.0
  1831. CLASSIC_SHOTGUN_RECOIL_UP = -0.1
  1832. CLASSIC_SHOTGUN_RECOIL_SIDE = 0.0002
  1833. CLASSIC_SHOTGUN_DAMAGE_TORSO = 20
  1834. CLASSIC_SHOTGUN_DAMAGE_HEAD = 30
  1835. CLASSIC_SHOTGUN_DAMAGE_ARMS = 12
  1836. CLASSIC_SHOTGUN_DAMAGE_LEGS = 12
  1837. CLASSIC_SHOTGUN_DAMAGE_ENTITY = 25
  1838. CLASSIC_SHOTGUN_DAMAGE_BLOCK = 1
  1839. CLASSIC_SHOTGUN_AMMO_MAX = 45.0
  1840. CLASSIC_SHOTGUN_AMMO_INITIAL_STOCK = SHOTGUN_AMMO_MAX
  1841. CLASSIC_SHOTGUN_AMMO_RESTOCK_AMOUNT = SHOTGUN_AMMO_MAX
  1842. CLASSIC_SHOTGUN_AMMO_CLIP_SIZE = 5
  1843. CLASSIC_SHOTGUN_NUMBER_PELLETS = 12
  1844. SHOTGUN2_RANGE = 20
  1845. SHOTGUN2_RELOAD_TIME = 1.0
  1846. SHOTGUN2_DELAY = 1.0
  1847. SHOTGUN2_SHOOT_INTERVAL = 1.0
  1848. SHOTGUN2_ACCURACY = 0.05
  1849. SHOTGUN2_ACCURACY_RANGE = 0.05
  1850. SHOTGUN2_ACCURACY_SPREAD_INITIAL = 4.0
  1851. SHOTGUN2_ACCURACY_SPREAD_RANGE = 3.0
  1852. SHOTGUN2_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.5
  1853. SHOTGUN2_ACCURACY_SPREAD_REDUCTION_SPEED = 1.0
  1854. SHOTGUN2_RECOIL_UP = -0.25
  1855. SHOTGUN2_RECOIL_SIDE = 0.001
  1856. SHOTGUN2_DAMAGE_TORSO = 40
  1857. SHOTGUN2_DAMAGE_HEAD = 50
  1858. SHOTGUN2_DAMAGE_ARMS = 50
  1859. SHOTGUN2_DAMAGE_LEGS = 50
  1860. SHOTGUN2_DAMAGE_ENTITY = 25
  1861. SHOTGUN2_DAMAGE_BLOCK = 2.5
  1862. SHOTGUN2_AMMO_MAX = 14
  1863. SHOTGUN2_AMMO_INITIAL_STOCK = SHOTGUN2_AMMO_MAX
  1864. SHOTGUN2_AMMO_RESTOCK_AMOUNT = SHOTGUN2_AMMO_MAX
  1865. SHOTGUN2_AMMO_CLIP_SIZE = 2
  1866. SHOTGUN2_NUMBER_PELLETS = 10
  1867. SNIPER_RANGE = 10000
  1868. SNIPER_RELOAD_TIME = 2.0
  1869. SNIPER_DELAY = 1.0
  1870. SNIPER_SHOOT_INTERVAL = 1.0
  1871. SNIPER_ACCURACY = 0.025
  1872. SNIPER_ACCURACY_ZOOM = 0.0
  1873. SNIPER_RECOIL_UP = -0.06
  1874. SNIPER_RECOIL_SIDE = 0.0
  1875. SNIPER_DAMAGE_TORSO = 50
  1876. SNIPER_DAMAGE_HEAD = 175
  1877. SNIPER_DAMAGE_ARMS = 50.0
  1878. SNIPER_DAMAGE_LEGS = 50.0
  1879. SNIPER_DAMAGE_ENTITY = 100.0
  1880. SNIPER_DAMAGE_BLOCK = 5
  1881. SNIPER_AMMO_MAX = 15
  1882. SNIPER_AMMO_INITIAL_STOCK = SNIPER_AMMO_MAX
  1883. SNIPER_AMMO_RESTOCK_AMOUNT = SNIPER_AMMO_MAX
  1884. SNIPER_AMMO_CLIP_SIZE = 1
  1885. SNIPER_ZOOM_FACTOR = 1.5
  1886. SNIPER_ZOOM_SENSITIVITY_FACTOR = 0.4
  1887. SNIPER_LASER_START_DISTANCE = 2.5
  1888. SNIPER_LASER_FADE_IN_DISTANCE = 1.5
  1889. SNIPER_LASER_FADE_OUT_DISTANCE = 3.0
  1890. SNIPER_LASER_THICKNESS = (0.08, 0.08)
  1891. SNIPER_LASER_TILING = 2.0
  1892. SNIPER_LASER_MAX_DOT_SIZE = 0.015
  1893. SNIPER_LASER_MIN_DOT_SIZE = 0.01
  1894. SNIPER_LASER_THIRD_PERSON_SIZE = 0.07
  1895. SNIPER_LASER_DISTANCE_TO_PLAYER_OPAQUE = PLAYER_RADIUS
  1896. SNIPER_LASER_DISTANCE_TO_PLAYER_TRANSPARENT = 12
  1897. SNIPER2_RANGE = 10000
  1898. SNIPER2_RELOAD_TIME = 3.0
  1899. SNIPER2_DELAY = 1.0
  1900. SNIPER2_SHOOT_INTERVAL = 1.0
  1901. SNIPER2_ACCURACY = 0.025
  1902. SNIPER2_ACCURACY_ZOOM = 0.0
  1903. SNIPER2_RECOIL_UP = -0.03
  1904. SNIPER2_RECOIL_SIDE = 0.0
  1905. SNIPER2_DAMAGE_TORSO = 70
  1906. SNIPER2_DAMAGE_HEAD = 95
  1907. SNIPER2_DAMAGE_ARMS = 35
  1908. SNIPER2_DAMAGE_LEGS = 35
  1909. SNIPER2_DAMAGE_ENTITY = 100.0
  1910. SNIPER2_DAMAGE_BLOCK = 3
  1911. SNIPER2_AMMO_MAX = 25
  1912. SNIPER2_AMMO_INITIAL_STOCK = SNIPER2_AMMO_MAX
  1913. SNIPER2_AMMO_RESTOCK_AMOUNT = SNIPER2_AMMO_MAX
  1914. SNIPER2_AMMO_CLIP_SIZE = 5
  1915. SNIPER2_ZOOM_FACTOR = 1.2
  1916. SNIPER2_ZOOM_SENSITIVITY_FACTOR = 0.5
  1917. RPG_RELOAD_TIME = 1.5
  1918. RPG_DELAY = 1.0
  1919. RPG_ACCURACY = 0.01
  1920. RPG_RECOIL_UP = -0.1
  1921. RPG_RECOIL_SIDE = 0.0001
  1922. RPG_SHOOT_INTERVAL = 0.7
  1923. RPG_AMMO_MAX = 3
  1924. RPG_AMMO_INITIAL_STOCK = RPG_AMMO_MAX
  1925. RPG_AMMO_RESTOCK_AMOUNT = RPG_AMMO_MAX
  1926. RPG_AMMO_CLIP_SIZE = 1
  1927. ROCKET_SPEED = 75
  1928. ROCKET_GRAVITY_MULTIPLIER = 0.05
  1929. ROCKET_COLLISION_RANGE = 0.5
  1930. SMOKE_INTERVAL = 1.2
  1931. ROCKET_EXPLOSION_RADIUS = 4.0
  1932. ROCKET_EXPLOSION_BLAST_WAVE_RADIUS = 6.0
  1933. ROCKET_EXPLOSION_DAMAGE = 140
  1934. ROCKET_EXPLOSION_BLOCK_DAMAGE = 5
  1935. ROCKET_EXPLOSION_KNOCKBACK_MAX = 0.25
  1936. ROCKET_EXPLOSION_KNOCKBACK_MIN = 0
  1937. ROCKET_MODEL_SIZE = 0.06
  1938. ROCKET_MODEL_Z_OFFSET = 0.0
  1939. ROCKET_HEALTH = 1
  1940. RPG2_RELOAD_TIME = 1.0
  1941. RPG2_DELAY = 0.75
  1942. RPG2_ACCURACY = 0.02
  1943. RPG2_RECOIL_UP = -0.05
  1944. RPG2_RECOIL_SIDE = 0
  1945. RPG2_SHOOT_INTERVAL = 0.75
  1946. RPG2_AMMO_MAX = 6
  1947. RPG2_AMMO_INITIAL_STOCK = RPG2_AMMO_MAX
  1948. RPG2_AMMO_RESTOCK_AMOUNT = RPG2_AMMO_MAX
  1949. RPG2_AMMO_CLIP_SIZE = 3
  1950. ROCKET2_SPEED = 150
  1951. ROCKET2_GRAVITY_MULTIPLIER = 0.025
  1952. ROCKET2_COLLISION_RANGE = 0.5
  1953. SMOKE_INTERVAL = 1.2
  1954. ROCKET2_EXPLOSION_RADIUS = 4.0
  1955. ROCKET2_EXPLOSION_BLAST_WAVE_RADIUS = 4.0
  1956. ROCKET2_EXPLOSION_DAMAGE = 50
  1957. ROCKET2_EXPLOSION_BLOCK_DAMAGE = 2
  1958. ROCKET2_EXPLOSION_KNOCKBACK_MAX = 0.25
  1959. ROCKET2_EXPLOSION_KNOCKBACK_MIN = 0
  1960. ROCKET2_EXPLOSION_SELF_KNOCKBACK_MAX = 1.5
  1961. ROCKET2_EXPLOSION_SELF_KNOCKBACK_MIN = 1.0
  1962. ROCKET2_MODEL_SIZE = 0.06
  1963. ROCKET2_MODEL_Z_OFFSET = 0.0
  1964. ROCKET2_HEALTH = 1
  1965. SNOWBLOWER_RELOAD_TIME = 3.0
  1966. SNOWBLOWER_DELAY = 1.0
  1967. SNOWBLOWER_ACCURACY = 0.02
  1968. SNOWBLOWER_RECOIL_UP = 0.0
  1969. SNOWBLOWER_RECOIL_SIDE = 0
  1970. SNOWBLOWER_SHOOT_INTERVAL = 0.2
  1971. SNOWBLOWER_AMMO_MAX = 9
  1972. SNOWBLOWER_AMMO_CLIP_SIZE = 3.0
  1973. SNOWBALL_SPEED = 50
  1974. SNOWBALL_GRAVITY_MULTIPLIER = 0.5
  1975. SNOWBALL_EXPLOSION_RADIUS = 5.0
  1976. SNOWBALL_EXPLOSION_DAMAGE = 10
  1977. SNOWBALL_EXPLOSION_BLOCK_DAMAGE = 0
  1978. SNOWBALL_EXPLOSION_KNOCKBACK_MAX = 0.3
  1979. SNOWBALL_EXPLOSION_KNOCKBACK_MIN = 0.3
  1980. DRILLGUN_RELOAD_TIME = 4.0
  1981. DRILLGUN_DELAY = 1.0
  1982. DRILLGUN_ACCURACY = 0.04
  1983. DRILLGUN_RECOIL_UP = -0.1
  1984. DRILLGUN_RECOIL_SIDE = 0.0002
  1985. DRILLGUN_SHOOT_INTERVAL = 0.2
  1986. DRILLGUN_AMMO_MAX = 4.0
  1987. DRILLGUN_AMMO_INITIAL_STOCK = 1
  1988. DRILLGUN_AMMO_RESTOCK_AMOUNT = 2
  1989. DRILLGUN_AMMO_CLIP_SIZE = 1.0
  1990. DRILL_SPEED = 20.0
  1991. DRILL_GRAVITY_MULTIPLIER = 1.5
  1992. DRILL_COLLISION_RANGE = 0.5
  1993. DRILL_OWNER_EXPLOSION_PROTECTION_TIME = 1
  1994. DRILL_EXPLOSION_RADIUS = 3.0
  1995. DRILL_EXPLOSION_DAMAGE = 50
  1996. DRILL_EXPLOSION_BLOCK_DAMAGE = 5.0
  1997. DRILL_EXPLOSION_KNOCKBACK_MAX = 0.1
  1998. DRILL_EXPLOSION_KNOCKBACK_MIN = 0.01
  1999. DRILL_DESTROYED_EXPLOSION_RADIUS = 3.5
  2000. DRILL_DESTROYED_EXPLOSION_DAMAGE = 95
  2001. DRILL_DESTROYED_EXPLOSION_BLOCK_DAMAGE = 10.0
  2002. DRILL_DESTROYED_EXPLOSION_KNOCKBACK_MAX = 0.2
  2003. DRILL_DESTROYED_EXPLOSION_KNOCKBACK_MIN = 0.1
  2004. DRILL_LIFESPAN = 3.0
  2005. DRILL_DIGGING_SPEED = 20.0
  2006. DRILL_DIG_SLOWDOWN_DURATION = 0.5
  2007. DRILL_FLYING_SPEED = 40.0
  2008. DRILL_MODEL_SIZE = 0.06
  2009. DRILL_MODEL_Z_OFFSET = 0.0
  2010. DRILL_HEALTH = 10
  2011. ENTITY_BILLBOARD_Z_OFFSET = 1.0
  2012. MG_DEPLOYMENT_TIME = 3.0
  2013. MG_WITHDRAWAL_TIME = 0.75
  2014. MG_RANGE = 300
  2015. MG_DEPLOYED_RANGE = 300
  2016. MG_RELOAD_TIME = 4.0
  2017. MG_DEPLOYED_RELOAD_TIME = 4.0
  2018. MG_DELAY = 0.11
  2019. MG_SHOOT_INTERVAL = 0.5
  2020. MG_DEPLOYED_SHOOT_INTERVAL = 0.1
  2021. MG_ACCURACY = 0.01
  2022. MG_DEPLOYED_ACCURACY = 0.01
  2023. MG_ACCURACY_RANGE = 0.05
  2024. MG_DEPLOYED_ACCURACY_RANGE = 0.005
  2025. MG_ACCURACY_SPREAD_INITIAL = 1
  2026. MG_DEPLOYED_ACCURACY_SPREAD_INITIAL = 1
  2027. MG_ACCURACY_SPREAD_RANGE = 5
  2028. MG_DEPLOYED_ACCURACY_SPREAD_RANGE = 5
  2029. MG_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.2
  2030. MG_DEPLOYED_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.2
  2031. MG_ACCURACY_SPREAD_REDUCTION_SPEED = 0.6
  2032. MG_DEPLOYED_ACCURACY_SPREAD_REDUCTION_SPEED = 0.6
  2033. MG_RECOIL_UP = -0.007
  2034. MG_DEPLOYED_RECOIL_UP = -0.007
  2035. MG_RECOIL_SIDE = 0
  2036. MG_DEPLOYED_RECOIL_SIDE = 0
  2037. MG_DAMAGE_TORSO = 30
  2038. MG_DEPLOYED_DAMAGE_TORSO = 30
  2039. MG_DAMAGE_HEAD = 20
  2040. MG_DEPLOYED_DAMAGE_HEAD = 20
  2041. MG_DAMAGE_ARMS = 20
  2042. MG_DEPLOYED_DAMAGE_ARMS = 20
  2043. MG_DAMAGE_LEGS = 20
  2044. MG_DEPLOYED_DAMAGE_LEGS = 20
  2045. MG_DAMAGE_ENTITY = 20
  2046. MG_DEPLOYED_DAMAGE_ENTITY = 20
  2047. MG_DAMAGE_BLOCK = 2
  2048. MG_DEPLOYED_DAMAGE_BLOCK = 2
  2049. MG_AMMO_MAX = 400
  2050. MG_AMMO_INITIAL_STOCK = MG_AMMO_MAX
  2051. MG_AMMO_RESTOCK_AMOUNT = MG_AMMO_MAX
  2052. MG_AMMO_CLIP_SIZE = 100
  2053. MG_VERTICAL_ANGLE_RANGE = 45
  2054. MG_HORIZONTAL_ANGLE_RANGE = 45
  2055. MG_MODEL_SIZE = 0.06
  2056. MG_BASE_MODEL_OFFSET_Z = -25.0 * MG_MODEL_SIZE
  2057. MG_TOP_MODEL_OFFSET_Z = -25.0 * MG_MODEL_SIZE
  2058. MG_FAR_RADIUS = 5.0
  2059. MG_EXPLOSION_RADIUS = 3.0
  2060. MG_EXPLOSION_DAMAGE = 100
  2061. MG_EXPLOSION_BLOCK_DAMAGE = 5
  2062. MG_EXPLOSION_KNOCKBACK_MAX = 1.0
  2063. MG_EXPLOSION_KNOCKBACK_MIN = 0.2
  2064. MG_HEALTH = 100
  2065. MG_AMMO = 999
  2066. ROCKET_TURRET_STOCK = 4
  2067. ROCKET_TURRET_INITIAL_STOCK = 2
  2068. ROCKET_TURRET_RESTOCK_AMOUNT = 2
  2069. ROCKET_TURRET_FAR_RADIUS = 10
  2070. ROCKET_TURRET_SHOOT_INTERVAL = 1.5
  2071. ROCKET_TURRET_TRACKING_RANGE = 50.0
  2072. ROCKET_TURRET_DETECTION_RANGE = 30.0
  2073. ROCKET_TURRET_TOLERANCE = 0.1
  2074. ROCKET_TURRET_AIMING_SPEED = 180
  2075. ROCKET_TURRET_LOWER_PITCH_LIMIT = 30
  2076. ROCKET_TURRET_MODEL_SIZE = 0.06
  2077. ROCKET_TURRET_HEALTH = 100
  2078. ROCKET_TURRET_BASE_MODEL_OFFSET_Z = -3.0 * ROCKET_TURRET_MODEL_SIZE
  2079. ROCKET_TURRET_BALL_MODEL_OFFSET_Z = -17.0 * ROCKET_TURRET_MODEL_SIZE
  2080. ROCKET_TURRET_GUN_MODEL_OFFSET_Z = -11.0 * ROCKET_TURRET_MODEL_SIZE
  2081. ROCKET_TURRET_AMMO = 10
  2082. ROCKET_TURRET_EXPLOSION_RADIUS = 3.0
  2083. ROCKET_TURRET_EXPLOSION_DAMAGE = 100
  2084. ROCKET_TURRET_EXPLOSION_BLOCK_DAMAGE = 15
  2085. ROCKET_TURRET_EXPLOSION_KNOCKBACK_MAX = 1.0
  2086. ROCKET_TURRET_EXPLOSION_KNOCKBACK_MIN = 0.2
  2087. ROCKET_TURRET_ROCKET_EXPLOSION_RADIUS = 3
  2088. ROCKET_TURRET_ROCKET_EXPLOSION_DAMAGE = 50
  2089. ROCKET_TURRET_ROCKET_EXPLOSION_BLOCK_DAMAGE = 10
  2090. ROCKET_TURRET_ROCKET_EXPLOSION_KNOCKBACK_MAX = 0.3
  2091. ROCKET_TURRET_ROCKET_EXPLOSION_KNOCKBACK_MIN = 0.1
  2092. ROCKET_TURRET_AMMO_TEXT_RADIUS = 20
  2093. DYNAMITE_STOCK = 3
  2094. DYNAMITE_INITIAL_STOCK = 1
  2095. DYNAMITE_RESTOCK_AMOUNT = DYNAMITE_STOCK
  2096. DYNAMITE_SHOOT_INTERVAL = 1.0
  2097. DYNAMITE_EXPLOSION_FUSE = 7
  2098. DYNAMITE_EXPLOSION_RADIUS = 5
  2099. DYNAMITE_EXPLOSION_DAMAGE = 300.0
  2100. DYNAMITE_EXPLOSION_BLOCK_DAMAGE = 7
  2101. DYNAMITE_EXPLOSION_KNOCKBACK_MAX = 0.15
  2102. DYNAMITE_EXPLOSION_KNOCKBACK_MIN = 0.1
  2103. DYNAMITE_FAR_RADIUS = 5.0
  2104. DYNAMITE_MODEL_SIZE = 0.06
  2105. DYNAMITE_HEALTH = 1
  2106. DYNAMITE_MODEL_Z_OFFSET = -0.2
  2107. MOLOTOV_STOCK = 3
  2108. MOLOTOV_INITIAL_STOCK = 3
  2109. MOLOTOV_RESTOCK_AMOUNT = MOLOTOV_STOCK
  2110. MOLOTOV_SHOOT_INTERVAL = 1.0
  2111. MOLOTOV_THROW_MAX_CHARGE = 3
  2112. MOLOTOV_THROW_SPEED = 40.0
  2113. MOLOTOV_THROW_MIN_SPEED = 35.0
  2114. MOLOTOV_GRAVITY_MULTIPLIER = 1.0
  2115. MOLOTOV_EXPLOSION_RADIUS = 4
  2116. MOLOTOV_EXPLOSION_DAMAGE = 50
  2117. MOLOTOV_EXPLOSION_BLOCK_DAMAGE = 3
  2118. MOLOTOV_EXPLOSION_KNOCKBACK_MAX = 0.1
  2119. MOLOTOV_EXPLOSION_KNOCKBACK_MIN = 0.0
  2120. MOLOTOV_ACCURACY_SPREAD_INITIAL = 6.0
  2121. MOLOTOV_ACCURACY_SPREAD_RANGE = 0.0
  2122. MOLOTOV_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.0
  2123. MOLOTOV_ACCURACY_SPREAD_REDUCTION_SPEED = 0.0
  2124. BLOCKFIRE_CHARACTER_DAMAGE = 2.5
  2125. BLOCKFIRE_CHARACTER_DAMAGE_TIMER = 0.3
  2126. BLOCKFIRE_CHARACTER_SPREAD_RANGE = 3
  2127. BLOCKFIRE_CHARACTER_DURATION = 10
  2128. BLOCKFIRE_BLOCK_DAMAGE = 0.7
  2129. BLOCKFIRE_BLOCK_DAMAGE_TIMER = 0.4
  2130. BLOCKFIRE_MAX_LIFESPAN = 4.0
  2131. BLOCKFIRE_SPREAD_COUNT = 5
  2132. BLOCKFIRE_SPREAD_TIMER = 0.5
  2133. BLOCKFIRE_SPREAD_RADIUS = 2.0
  2134. BLOCKFIRE_MAX_RANDOM_CHANCE = 0.3
  2135. BLOCKFIRE_BLOCKS_TO_ATTEMPT_TO_LIGHT = -1
  2136. BLOCKFIRE_MAX_FALLING_DISTANCE = 1.0
  2137. BLOCKFIRE_INITIAL_SPREAD_RADIUS = 2
  2138. BLOCKFIRE_HOT_COLOUR = (255, 255, 255)
  2139. BLOCKFIRE_MID_COLOUR = (255, 255, 0)
  2140. BLOCKFIRE_COLD_COLOUR = (255, 0, 0)
  2141. LANDMINE_STOCK = 5
  2142. LANDMINE_INITIAL_STOCK = 3
  2143. LANDMINE_RESTOCK_AMOUNT = LANDMINE_STOCK
  2144. LANDMINE_SHOOT_INTERVAL = 1.0
  2145. LANDMINE_EXPLOSION_RADIUS = 3.0
  2146. LANDMINE_EXPLOSION_BLAST_WAVE_RADIUS = 6.0
  2147. LANDMINE_ACTIVATION_TIMER = 4
  2148. LANDMINE_DETECTION_RANGE = 2.5
  2149. LANDMINE_DETECTION_LAYERS = 3
  2150. LANDMINE_EXPLOSION_AND_DETECTION_VERTICAL_OFFSET = -0.5
  2151. LANDMINE_EXPLOSION_DAMAGE = 100
  2152. LANDMINE_EXPLOSION_BLOCK_DAMAGE = 15
  2153. LANDMINE_EXPLOSION_KNOCKBACK_MAX = 0.75
  2154. LANDMINE_EXPLOSION_KNOCKBACK_MIN = 0.75
  2155. LANDMINE_FAR_RADIUS = 5.0
  2156. LANDMINE_MODEL_SIZE = 0.05
  2157. LANDMINE_HEALTH = 1
  2158. LANDMINE_MODEL_Z_OFFSET = 0.0
  2159. LANDMINE_CAN_PLACE_ON_WATER = True
  2160. GRENADE_STOCK = 4
  2161. GRENADE_INITIAL_STOCK = 2
  2162. GRENADE_RESTOCK_AMOUNT = GRENADE_STOCK
  2163. GRENADE_SHOOT_INTERVAL = 0.5
  2164. GRENADE_THROW_SPEED = 50.0
  2165. GRENADE_THROW_MIN_SPEED = 25
  2166. GRENADE_EXPLOSION_FUSE = 2.5
  2167. GRENADE_EXPLOSION_RADIUS = 4
  2168. GRENADE_EXPLOSION_DAMAGE = 230.0
  2169. GRENADE_EXPLOSION_BLOCK_DAMAGE = 4
  2170. GRENADE_EXPLOSION_KNOCKBACK_MAX = 1.0
  2171. GRENADE_EXPLOSION_KNOCKBACK_MIN = 0.5
  2172. GRENADE_SHRAPNEL_DAMAGE_TORSO = 50
  2173. GRENADE_SHRAPNEL_DAMAGE_HEAD = 50
  2174. GRENADE_SHRAPNEL_DAMAGE_ARMS = 50
  2175. GRENADE_SHRAPNEL_DAMAGE_LEGS = 50
  2176. GRENADE_SHRAPNEL_DAMAGE_ENTITY = 50
  2177. GRENADE_ACCURACY_SPREAD_INITIAL = 6.0
  2178. GRENADE_ACCURACY_SPREAD_RANGE = 0.0
  2179. GRENADE_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.0
  2180. GRENADE_ACCURACY_SPREAD_REDUCTION_SPEED = 0.0
  2181. ANTIPERSONNEL_GRENADE_STOCK = 4
  2182. ANTIPERSONNEL_GRENADE_INITIAL_STOCK = 2
  2183. ANTIPERSONNEL_GRENADE_RESTOCK_AMOUNT = ANTIPERSONNEL_GRENADE_STOCK
  2184. ANTIPERSONNEL_GRENADE_SHOOT_INTERVAL = 0.5
  2185. ANTIPERSONNEL_GRENADE_THROW_SPEED = 50.0
  2186. ANTIPERSONNEL_GRENADE_THROW_MIN_SPEED = 25
  2187. ANTIPERSONNEL_GRENADE_EXPLOSION_FUSE = 2.5
  2188. ANTIPERSONNEL_GRENADE_EXPLOSION_RADIUS = 2.0
  2189. ANTIPERSONNEL_GRENADE_EXPLOSION_BLAST_WAVE_RADIUS = 6.0
  2190. ANTIPERSONNEL_GRENADE_EXPLOSION_DAMAGE = 500.0
  2191. ANTIPERSONNEL_GRENADE_EXPLOSION_BLOCK_DAMAGE = 0.5
  2192. ANTIPERSONNEL_GRENADE_EXPLOSION_KNOCKBACK_MAX = 0.5
  2193. ANTIPERSONNEL_GRENADE_EXPLOSION_KNOCKBACK_MIN = 0.25
  2194. ANTIPERSONNEL_GRENADE_ACCURACY_SPREAD_INITIAL = 6.0
  2195. ANTIPERSONNEL_GRENADE_ACCURACY_SPREAD_RANGE = 0.0
  2196. ANTIPERSONNEL_GRENADE_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.0
  2197. ANTIPERSONNEL_GRENADE_ACCURACY_SPREAD_REDUCTION_SPEED = 0.0
  2198. CLASSIC_SPADE_SHOOT_INTERVAL = 0.3
  2199. CLASSIC_SPADE_DAMAGE_AMOUNT = 3
  2200. CLASSIC_SPADE_SECONDARY_DAMAGE_AMOUNT = 5
  2201. CLASSIC_SPADE_HITPLAYER_DAMAGE_AMOUNT = 50
  2202. RIFLE_RANGE = 10000
  2203. RIFLE_RELOAD_TIME = 2.5
  2204. RIFLE_DELAY = 0.5
  2205. RIFLE_SHOOT_INTERVAL = 0.5
  2206. RIFLE_ACCURACY = 0.003
  2207. RIFLE_RECOIL_UP = -0.05
  2208. RIFLE_RECOIL_SIDE = 0.0001
  2209. RIFLE_DAMAGE_TORSO = 70.0
  2210. RIFLE_DAMAGE_HEAD = 150
  2211. RIFLE_DAMAGE_ARMS = 35
  2212. RIFLE_DAMAGE_LEGS = 35
  2213. RIFLE_DAMAGE_ENTITY = 25.0
  2214. RIFLE_DAMAGE_BLOCK = 2
  2215. RIFLE_AMMO_MAX = 50.0
  2216. RIFLE_AMMO_INITIAL_STOCK = 30.0
  2217. RIFLE_AMMO_RESTOCK_AMOUNT = RIFLE_AMMO_MAX
  2218. RIFLE_AMMO_CLIP_SIZE = 10.0
  2219. CLASSIC_GRENADE_STOCK = 4
  2220. CLASSIC_GRENADE_INITIAL_STOCK = 2
  2221. CLASSIC_GRENADE_RESTOCK_AMOUNT = CLASSIC_GRENADE_STOCK
  2222. CLASSIC_GRENADE_SHOOT_INTERVAL = 0.5
  2223. CLASSIC_GRENADE_THROW_SPEED = 35.0
  2224. CLASSIC_GRENADE_EXPLOSION_FUSE = 3.0
  2225. CLASSIC_GRENADE_EXPLOSION_RADIUS = 2.0
  2226. CLASSIC_GRENADE_EXPLOSION_BLAST_WAVE_RADIUS = 9.0
  2227. CLASSIC_GRENADE_EXPLOSION_DAMAGE = 130.0
  2228. CLASSIC_GRENADE_EXPLOSION_BLOCK_DAMAGE = 15
  2229. CLASSIC_GRENADE_EXPLOSION_KNOCKBACK_MAX = 0.1
  2230. CLASSIC_GRENADE_EXPLOSION_KNOCKBACK_MIN = 0.1
  2231. CLASSIC_GRENADE_ACCURACY_SPREAD_INITIAL = 6.0
  2232. CLASSIC_GRENADE_ACCURACY_SPREAD_RANGE = 0.0
  2233. CLASSIC_GRENADE_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.0
  2234. CLASSIC_GRENADE_ACCURACY_SPREAD_REDUCTION_SPEED = 0.0
  2235. CORPSE_EXPLOSION_FUSE = 0
  2236. CORPSE_EXPLOSION_JETPACK_FUSE = 1.0
  2237. CORPSE_EXPLOSION_RADIUS = 3
  2238. CORPSE_EXPLOSION_DAMAGE = 0
  2239. CORPSE_EXPLOSION_BLOCK_DAMAGE = 1
  2240. CORPSE_EXPLOSION_KNOCKBACK_MAX = 0.1
  2241. CORPSE_EXPLOSION_KNOCKBACK_MIN = 0.05
  2242. VIP_CORPSE_EXPLOSION_RADIUS = 10
  2243. VIP_CORPSE_EXPLOSION_DAMAGE = 75.0
  2244. VIP_CORPSE_EXPLOSION_BLOCK_DAMAGE = 20
  2245. VIP_CORPSE_EXPLOSION_KNOCKBACK_MAX = 3
  2246. VIP_CORPSE_EXPLOSION_KNOCKBACK_MIN = 2
  2247. GRAVE_EXPLOSION_FUSE = 7
  2248. GRAVE_EXPLOSION_RADIUS = 3
  2249. GRAVE_EXPLOSION_DAMAGE = 25
  2250. GRAVE_EXPLOSION_BLOCK_DAMAGE = 3
  2251. GRAVE_EXPLOSION_KNOCKBACK_MAX = 1.0
  2252. GRAVE_EXPLOSION_KNOCKBACK_MIN = 0.5
  2253. BOMB_EXPLOSION_FUSE = 10.0
  2254. BOMB_EXPLOSION_RADIUS = 7
  2255. BOMB_EXPLOSION_FUSE = 7.0
  2256. BOMB_EXPLOSION_RADIUS = 8.0
  2257. BOMB_EXPLOSION_FUSE = 10
  2258. BOMB_EXPLOSION_RADIUS = 7
  2259. BOMB_EXPLOSION_DAMAGE = 500
  2260. BOMB_EXPLOSION_BLOCK_DAMAGE = 20
  2261. BOMB_EXPLOSION_KNOCKBACK_MAX = 3.0
  2262. BOMB_EXPLOSION_KNOCKBACK_MIN = 2.0
  2263. BOMB_THROW_SPEED = 10
  2264. DIAMOND_THROW_SPEED = 15
  2265. INTEL_THROW_SPEED = 15
  2266. INTEL_MINIMAP_EXPOSURE_TIME = 30
  2267. AIRSTRIKE_EXPLOSION_RADIUS = 6
  2268. AIRSTRIKE_EXPLOSION_DAMAGE = 400.0
  2269. AIRSTRIKE_EXPLOSION_BLOCK_DAMAGE = 15
  2270. AIRSTRIKE_EXPLOSION_KNOCKBACK_MAX = 2.0
  2271. AIRSTRIKE_EXPLOSION_KNOCKBACK_MIN = 1.0
  2272. AIRSTRIKE_SHELL_SPEED = 100
  2273. AIRSTRIKE_GRAVITY_MULTIPLIER = 100
  2274. TANK_GRAVITY_MULTIPLIER = 1.0
  2275. TANK_SPEED_FORWARD = 100.0
  2276. TANK_SPEED_BACK = 50.0
  2277. TANK_SPEED_LEFT = 1.0
  2278. TANK_SPEED_RIGHT = 1.0
  2279. TANK_RIDER_VERTICAL_OFFSET = 5.0
  2280. TANK_CAMERA_DISTANCE = 12.0
  2281. TANK_CONTACT_POINT_COUNT = 4
  2282. TANK_TRACK_LENGTH = 3.0
  2283. TANK_TRACK_SEPARATION = 3.0
  2284. JETPACK_START_DELAY, JETPACK_MAX_FUEL, JETPACK_FUEL_ACTIVATION_COST, JETPACK_FUEL_REFILL_RATE, JETPACK_FUEL_FLYING_CONSUMPTION, JETPACK_BURDENED_SLOW_DOWN, JETPACK_FUEL_REFILL_DELAY_DUE_DAMAGE, JETPACK_DAMAGE_MULTIPLIER, JETPACK_DEATH_ACCELERATION = xrange(9)
  2285. JETPACK_PROPERTIES = {JETPACK_NORMAL: {JETPACK_START_DELAY: 0.25,
  2286. JETPACK_MAX_FUEL: 100,
  2287. JETPACK_FUEL_ACTIVATION_COST: 10,
  2288. JETPACK_FUEL_REFILL_RATE: 10,
  2289. JETPACK_FUEL_FLYING_CONSUMPTION: 75,
  2290. JETPACK_BURDENED_SLOW_DOWN: 0.5,
  2291. JETPACK_FUEL_REFILL_DELAY_DUE_DAMAGE: 2.0,
  2292. JETPACK_DAMAGE_MULTIPLIER: 2.0,
  2293. JETPACK_DEATH_ACCELERATION: 3},
  2294. JETPACK2: {JETPACK_START_DELAY: 0.25,
  2295. JETPACK_MAX_FUEL: 100,
  2296. JETPACK_FUEL_ACTIVATION_COST: 10,
  2297. JETPACK_FUEL_REFILL_RATE: 9,
  2298. JETPACK_FUEL_FLYING_CONSUMPTION: 17,
  2299. JETPACK_BURDENED_SLOW_DOWN: 0.5,
  2300. JETPACK_FUEL_REFILL_DELAY_DUE_DAMAGE: 2.0,
  2301. JETPACK_DAMAGE_MULTIPLIER: 2.0,
  2302. JETPACK_DEATH_ACCELERATION: 0.25},
  2303. JETPACK_ENGINEER: {JETPACK_START_DELAY: 0.25,
  2304. JETPACK_MAX_FUEL: 100,
  2305. JETPACK_FUEL_ACTIVATION_COST: 10,
  2306. JETPACK_FUEL_REFILL_RATE: 2.5,
  2307. JETPACK_FUEL_FLYING_CONSUMPTION: 18,
  2308. JETPACK_BURDENED_SLOW_DOWN: 0.5,
  2309. JETPACK_FUEL_REFILL_DELAY_DUE_DAMAGE: 0.5,
  2310. JETPACK_DAMAGE_MULTIPLIER: 1.0,
  2311. JETPACK_DEATH_ACCELERATION: 0.25},
  2312. JETPACK_UGCBUILDER: {JETPACK_START_DELAY: 0.25,
  2313. JETPACK_MAX_FUEL: 100,
  2314. JETPACK_FUEL_ACTIVATION_COST: 10,
  2315. JETPACK_FUEL_REFILL_RATE: 100,
  2316. JETPACK_FUEL_FLYING_CONSUMPTION: 1,
  2317. JETPACK_BURDENED_SLOW_DOWN: 0.5,
  2318. JETPACK_FUEL_REFILL_DELAY_DUE_DAMAGE: 1.0,
  2319. JETPACK_DAMAGE_MULTIPLIER: 1.0,
  2320. JETPACK_DEATH_ACCELERATION: 0.25}}
  2321. BLOCKFIRE_SMOKE_GENERATION_MIN_RATE = 1.0
  2322. BLOCKFIRE_SMOKE_GENERATION_MAX_RATE = 2.0
  2323. BLOCKFIRE_SMOKE_GENERATION_PARTICLE_DECAY = -1
  2324. BLOCKFIRE_SMOKE_GENERATION_PARTICLE_LIFESPAN = 3
  2325. BLOCKFIRE_SMOKE_GENERATION_PARTICLE_MIN_SIZE = 4
  2326. BLOCKFIRE_SMOKE_GENERATION_PARTICLE_MAX_SIZE = 8
  2327. BLOCKFIRE_SMOKE_GENERATION_MIN_VELOCITY = 0.0
  2328. BLOCKFIRE_SMOKE_GENERATION_MAX_VELOCITY = 0.1
  2329. CHARACTER_MOLOTOV_SMOKE_GENERATION_RATE = 0.02
  2330. CHARACTER_MOLOTOV_SMOKE_GENERATION_PARTICLE_DECAY = -1
  2331. CHARACTER_MOLOTOV_SMOKE_GENERATION_PARTICLE_LIFESPAN = 1
  2332. CHARACTER_MOLOTOV_SMOKE_GENERATION_PARTICLE_MIN_SIZE = 2
  2333. CHARACTER_MOLOTOV_SMOKE_GENERATION_PARTICLE_MAX_SIZE = 5
  2334. CHARACTER_MOLOTOV_SMOKE_GENERATION_MIN_VELOCITY = 0.0
  2335. CHARACTER_MOLOTOV_SMOKE_GENERATION_MAX_VELOCITY = 0.1
  2336. MOLOTOV_SMOKE_GENERATION_PARTICLE_DECAY = -1
  2337. MOLOTOV_SMOKE_GENERATION_PARTICLE_LIFESPAN = 2
  2338. MOLOTOV_SMOKE_GENERATION_PARTICLE_MIN_SIZE = 3
  2339. MOLOTOV_SMOKE_GENERATION_PARTICLE_MAX_SIZE = 5
  2340. BOMB_SMOKE_GENERATION_RATE = 25.0
  2341. BOMB_SMOKE_GENERATION_PARTICLE_DECAY = -1
  2342. BOMB_SMOKE_GENERATION_PARTICLE_LIFESPAN = 1
  2343. BOMB_SMOKE_GENERATION_PARTICLE_MIN_SIZE = 0.5
  2344. BOMB_SMOKE_GENERATION_PARTICLE_MAX_SIZE = 1.0
  2345. BOMB_SMOKE_GENERATION_MIN_VELOCITY = 0.05
  2346. BOMB_SMOKE_GENERATION_MAX_VELOCITY = 0.05
  2347. BOMB_TOOL_SMOKE_FP_FORWARD_OFFSET = 0
  2348. BOMB_TOOL_SMOKE_FP_RIGHT_OFFSET = 0
  2349. BOMB_TOOL_SMOKE_FP_UP_OFFSET = 0.45
  2350. BOMB_TOOL_SMOKE_TP_FORWARD_OFFSET = 0.82
  2351. BOMB_TOOL_SMOKE_TP_RIGHT_OFFSET = 0.37
  2352. BOMB_TOOL_SMOKE_TP_UP_OFFSET = 0.45
  2353. BOMB_SMOKE_X_OFFSET = -0.05
  2354. BOMB_SMOKE_Y_OFFSET = -0.05
  2355. BOMB_SMOKE_Z_OFFSET = -1.2
  2356. JETPACK_SMOKE_GENERATION_RATE = 0.02
  2357. JETPACK_SMOKE_GENERATION_NUMBER_OF_PARTICLES = 2
  2358. JETPACK_SMOKE_GENERATION_PARTICLE_SPREAD = 0.01
  2359. JETPACK_SMOKE_GENERATION_PARTICLE_LIFESPAN = 5
  2360. JETPACK_SMOKE_GENERATION_PARTICLE_DECAY = -1
  2361. JETPACK_SMOKE_GENERATION_PARTICLE_SIZE = 2
  2362. JETPACK_SPRINT_SMOKE_GENERATION_RATE = 0.01
  2363. JETPACK_SPRINT_SMOKE_GENERATION_NUMBER_OF_PARTICLES = 2
  2364. JETPACK_SPRINT_SMOKE_GENERATION_PARTICLE_SPREAD = 0.01
  2365. JETPACK_SPRINT_SMOKE_GENERATION_PARTICLE_LIFESPAN = 2
  2366. JETPACK_SPRINT_SMOKE_GENERATION_PARTICLE_DECAY = -1
  2367. JETPACK_SPRINT_SMOKE_GENERATION_PARTICLE_MIN_ROT = 160
  2368. JETPACK_SPRINT_SMOKE_GENERATION_PARTICLE_MAX_ROT = 200
  2369. JETPACK_SPRINT_SMOKE_GENERATION_PARTICLE_MIN_SIZE = 2
  2370. JETPACK_SPRINT_SMOKE_GENERATION_PARTICLE_MAX_SIZE = 4
  2371. ROCKET_SMOKE_VELOCITY_MULTIPLIER = 0.7
  2372. ROCKET_SMOKE_VELOCITY_RANDOM_MIN_MULTIPLIER = 0.0
  2373. ROCKET_SMOKE_VELOCITY_RANDOM_MAX_MULTIPLIER = 0.05
  2374. ROCKET_SMOKE_INITIAL_SIZE_RANDOM_MIN = 3
  2375. ROCKET_SMOKE_INITIAL_SIZE_RANDOM_MAX = 6
  2376. ROCKET_SMOKE_INITIAL_ROTATION_RANDOM_MIN = 160
  2377. ROCKET_SMOKE_INITIAL_ROTATION_RANDOM_MAX = 200
  2378. ROCKET_SMOKE_LIFETIME = 2.5
  2379. ROCKET_SMOKE_DECAY_RATE_MIN = 1
  2380. ROCKET_SMOKE_DECAY_RATE_MAX = 1
  2381. ROCKET_SMOKE_DECAY_RATE_DEFAULT = -1
  2382. SNOWBALL_SMOKE_VELOCITY_MULTIPLIER = 0.7
  2383. SNOWBALL_SMOKE_VELOCITY_RANDOM_MIN_MULTIPLIER = 0.0
  2384. SNOWBALL_SMOKE_VELOCITY_RANDOM_MAX_MULTIPLIER = 0.05
  2385. SNOWBALL_SMOKE_INITIAL_SIZE_RANDOM_MIN = 0.2
  2386. SNOWBALL_SMOKE_INITIAL_SIZE_RANDOM_MAX = 0.5
  2387. SNOWBALL_SMOKE_INITIAL_ROTATION_RANDOM_MIN = 160
  2388. SNOWBALL_SMOKE_INITIAL_ROTATION_RANDOM_MAX = 200
  2389. SNOWBALL_SMOKE_LIFETIME = 0.5
  2390. SNOWBALL_SMOKE_DECAY_RATE_MIN = 1
  2391. SNOWBALL_SMOKE_DECAY_RATE_MAX = 1
  2392. SNOWBALL_SMOKE_DECAY_RATE_DEFAULT = -1
  2393. BLOCK_SMOKE_TRAIL_INITIAL_SIZE_RANDOM_MIN = ROCKET_SMOKE_INITIAL_SIZE_RANDOM_MIN
  2394. BLOCK_SMOKE_TRAIL_INITIAL_SIZE_RANDOM_MAX = ROCKET_SMOKE_INITIAL_SIZE_RANDOM_MAX
  2395. BLOCK_SMOKE_TRAIL_INITIAL_ROTATION_RANDOM_MIN = ROCKET_SMOKE_INITIAL_ROTATION_RANDOM_MIN
  2396. BLOCK_SMOKE_TRAIL_INITIAL_ROTATION_RANDOM_MAX = ROCKET_SMOKE_INITIAL_ROTATION_RANDOM_MAX
  2397. BLOCK_SMOKE_TRAIL_LIFETIME = 1.0
  2398. INITIAL_HEALTH = 100.0
  2399. FIRST_ZOMBIE_SPAWN_PROTECTION_TIME = 0.5
  2400. SPAWN_COLOR_MULTIPLIER = 2.0
  2401. SPAWN_OFFSET_X = 0.5
  2402. SPAWN_OFFSET_Y = 0.5
  2403. SPAWN_OFFSET_Z = -2.4
  2404. MAP_X = 512
  2405. MAP_Y = 512
  2406. MAP_Z = 240
  2407. Z_ABOVE_WATERPLANE = MAP_Z - 2
  2408. MAP_SHIFT_Y = 9
  2409. MAP_SHIFT_Z = 18
  2410. MAP_MASK_X = 511
  2411. MAP_MASK_Y = 261632
  2412. MAP_MASK_Z = 133955584
  2413. GROUND_COLORS = ((80,
  2414. 96,
  2415. 80,
  2416. 0),
  2417. (96,
  2418. 88,
  2419. 72,
  2420. int(0.58 * MAP_Z)),
  2421. (112,
  2422. 80,
  2423. 64,
  2424. int(0.94 * MAP_Z)),
  2425. (128,
  2426. 72,
  2427. 56,
  2428. int(0.66 * MAP_Z)),
  2429. (112,
  2430. 64,
  2431. 58,
  2432. int(0.78 * MAP_Z)),
  2433. (96,
  2434. 56,
  2435. 40,
  2436. int(0.86 * MAP_Z)),
  2437. (80,
  2438. 48,
  2439. 32,
  2440. int(0.94 * MAP_Z)),
  2441. (64,
  2442. 40,
  2443. 24,
  2444. MAP_Z - 2),
  2445. (5,
  2446. 85,
  2447. 156,
  2448. MAP_Z - 1))
  2449. UNMODIFIABLE_BEACH_COLOR = (59,
  2450. 58,
  2451. 55,
  2452. MAP_Z - 2)
  2453. NORTH, EAST, SOUTH, WEST, NOOF_DIRECTIONS = xrange(5)
  2454. NON_HUD_TOOLS = [BOMB_TOOL,
  2455. DIAMOND_TOOL,
  2456. PREFAB_TOOL,
  2457. ZOMBIE_PREFAB_TOOL,
  2458. FLAREBLOCK_TOOL,
  2459. INTEL_TOOL]
  2460. PREFAB_TOOLS = [PREFAB_TOOL, ZOMBIE_PREFAB_TOOL, FLAREBLOCK_TOOL]
  2461. NEXT_MAP_MESSAGE, TEAM_SCORES_MESSAGE, DEMOLITION_END_MESSAGE, ZOMBIE_WIN_MESSAGE, SURVIVOR_WIN_MESSAGE, OCCUPATION_WIN_MESSAGE, VIP_TEAM1_WIN_MESSAGE, VIP_TEAM2_WIN_MESSAGE, TEAM_SCORES_DRAW = xrange(9)
  2462. PREFAB_CONSTANT_DISTANCE_FROM_PLAYER = 1.0
  2463. PREFAB_SCALED_DISTANCE_FROM_PLAYER = 1.3
  2464. PREFAB_MIN_DISTANCE_FROM_PLAYER = 1.0
  2465. PREFAB_MAX_DISTANCE_FROM_PLAYER = 12.0
  2466. PREFAB_FAR_RADIUS = 20.0
  2467. PREFAB_SERVER_TOLERANCE = 5.0
  2468. FLAREBLOCK_COST = 10
  2469. PLAYER_SAFE_BUILD_RADIUS = 5
  2470. ENTITY_RADIUS = 5.0
  2471. FLAREBLOCK_LIGHT_RADIUS = 5.0
  2472. BLOCKFIRE_LIGHT_RADIUS = 3.0
  2473. SIMULATE_LAG = False
  2474. SIMULATE_LATENCY = 100.0 / 1000.0 / 2.0
  2475. PROFILE = False
  2476. BLOCK_HIT_DEBUG = False
  2477. SIMULATE_LAG_TRANSMIT, SIMULATE_LAG_RECEIVE = xrange(2)
  2478. MAX_SERVER_NAME_SIZE = 31
  2479. MAX_MAP_NAME_SIZE = 20
  2480. MAX_GAME_MODE_SIZE = 7
  2481. DEFAULT_RESPAWN_TIME = 10
  2482. NEVER_RESPAWN_TIME = 255
  2483. ANALYTICS_ENABLED = True
  2484. ANALYTICS_WRITE_TO_LOG = False
  2485. ANALYTICS_KONTAGENT = False
  2486. ANALYTICS_TEST_SERVER = False
  2487. FALLING_BLOCKS_PARTICLE_MOD_MIN = 5
  2488. FALLING_BLOCKS_PARTICLE_MOD_MAX = 15
  2489. FALLING_BLOCKS_MAX_SIZE = 8000
  2490. MAX_NUM_PARTICLES = 5000
  2491. PARTICLES_EFFECT_QUALITY = (0.1, 0.5, 1.0)
  2492. MAX_NUM_BILLBOARDS = 64
  2493. DRAW_DISTANCE_LOW, DRAW_DISTANCE_MED, DRAW_DISTANCE_HIGH = xrange(3)
  2494. DRAW_DISTANCES_MAP = {DRAW_DISTANCE_LOW: 90,
  2495. DRAW_DISTANCE_MED: 128,
  2496. DRAW_DISTANCE_HIGH: 192}
  2497. BASE_ZONE_TINT_ALPHA = 150
  2498. BASE_ZONE_DISTANCE_TOLERANCE = 0.5
  2499. BASE_PLAYER_ZONE_DISTANCE_TOLERANCE_XY = 0.3
  2500. BASE_PLAYER_ZONE_DISTANCE_TOLERANCE_ZEYES = 0.0
  2501. BASE_PLAYER_ZONE_DISTANCE_TOLERANCE_ZFEET = -0.1
  2502. CORPSE_BOUNCE = 0.1
  2503. CORPSE_BOUNCE_SOUND_THRESHOLD = 2
  2504. CORPSE_MOVE_THRESHOLD = 0.5
  2505. TEABAG_TIME_THRESHOLD = 0.5
  2506. TEABAG_CROUCH_COUNT = 3
  2507. TEABAG_MAX_DISTANCE = 1.75
  2508. DEFAULT_ATTENUATION = 0.15
  2509. DEBUG_BUILD = False
  2510. SMOKE_RING_SIZE = 1.0
  2511. SMOKE_RING_DECAY_RATE_MIN = 0.0
  2512. SMOKE_RING_DECAY_RATE_MAX = 0.5
  2513. SMOKE_RING_LIFETIME = 1.0
  2514. SMOKE_RING_VELOCITY = 0.5
  2515. SMOKE_RING_PARTICLE_SIZE_MIN = 3.0
  2516. SMOKE_RING_PARTICLE_SIZE_MAX = 10
  2517. SMOKE_RING_NOOF = 8
  2518. ACH_DEBUG, ACH_REGIONS = xrange(2)
  2519. ACH_ID, ACH_TYPE, ACH_CENTRE, ACH_W_H_D, ACH_TEAM, ACH_CUBES, ACH_KILLS, ACH_WEAPON = xrange(8)
  2520. ACH_KILL_REGION = 1
  2521. ACH_BLOCK_DESTROY_REGION = 2
  2522. ACH_JUMP_REGION = 3
  2523. RECENT_KILLS_EXPIRY_SECONDS = 30.0
  2524. SNIPER2_RAPID_KILL_ACHIEVE_TIME = 20.0
  2525. SNIPER2_RAPID_KILL_ACHIEVE_COUNT = 3
  2526. ALPHA_BLEND_MODE_NONE, ALPHA_BLEND_MODE_BLEND, ALPHA_BLEND_MODE_ADDITIVE, ALPHA_BLEND_MODE_SUBTRACTIVE = xrange(4)
  2527. CRATE_PICKUP_FX_NOOF = 25
  2528. CRATE_PICKUP_FX_VERTICAL_SPEED = 0.05
  2529. CRATE_PICKUP_FX_EXPLOSION_SPEED = 0.05
  2530. CRATE_PICKUP_FX_PARTICLE_SIZE = 4
  2531. CRATE_PICKUP_FX_INITIAL_ROTATION = 0
  2532. CRATE_PICKUP_FX_ROTATION_SPEED = 180
  2533. CRATE_PICKUP_FX_DECAY_RATE = 1
  2534. CRATE_PICKUP_FX_LIFETIME = 2
  2535. CRATE_PICKUP_FX_START_FRAME = 0
  2536. CRATE_PICKUP_FX_NUM_FRAMES_X = 4
  2537. CRATE_PICKUP_FX_NUM_FRAMES_Y = 4
  2538. CRATE_PICKUP_FX_LOOP = 0
  2539. CRATE_PICKUP_FX_FRAMERATE = 30
  2540. CRATE_PICKUP_FX_COLLIDES = False
  2541. CRATE_PICKUP_FX_GRAVITY = False
  2542. CRATE_PICKUP_FX_ALPHA_BLEND_MODE = ALPHA_BLEND_MODE_ADDITIVE
  2543. DIAMOND_PICKUP_FX_NOOF = 50
  2544. DIAMOND_PICKUP_FX_VERTICAL_SPEED = 0.08
  2545. DIAMOND_PICKUP_FX_EXPLOSION_SPEED = 0.07
  2546. DIAMOND_PICKUP_FX_PARTICLE_SIZE = 5
  2547. DIAMOND_PICKUP_FX_INITIAL_ROTATION = 0
  2548. DIAMOND_PICKUP_FX_ROTATION_SPEED = 180
  2549. DIAMOND_PICKUP_FX_DECAY_RATE = 1
  2550. DIAMOND_PICKUP_FX_LIFETIME = 2
  2551. DIAMOND_PICKUP_FX_START_FRAME = 0
  2552. DIAMOND_PICKUP_FX_NUM_FRAMES_X = 4
  2553. DIAMOND_PICKUP_FX_NUM_FRAMES_Y = 4
  2554. DIAMOND_PICKUP_FX_LOOP = 0
  2555. DIAMOND_PICKUP_FX_FRAMERATE = 30
  2556. DIAMOND_PICKUP_FX_COLLIDES = False
  2557. DIAMOND_PICKUP_FX_GRAVITY = False
  2558. DIAMOND_PICKUP_FX_ALPHA_BLEND_MODE = ALPHA_BLEND_MODE_ADDITIVE
  2559. RULE_DISABLED, RULE_ENABLED = xrange(2)
  2560. NOT_CLASSIC, CLASSIC = xrange(2)
  2561. COLOUR_PALETTE_DISABLED, COLOUR_PALETTE_ENABLED = xrange(2)
  2562. EXPOSED_TEAMS_NOT_ALWAYS_ON_MINIMAP, EXPOSED_TEAMS_ALWAYS_ON_MINIMAP = xrange(2)
  2563. DISABLE_NUMERIC_HP, ENABLE_NUMERIC_HP = xrange(2)
  2564. DISABLE_MINIMAP_HEIGHT_ICONS, ENABLE_MINIMAP_HEIGHT_ICONS = xrange(2)
  2565. MINIMAP_HEIGHT_ICON_THRESHOLD = 4
  2566. MINIMAP_HEIGHT_ICON_ENTITIES = [CAPTURE_POINT_ENTITY, INTEL_PICKUP]
  2567. DEATHCAM_STREAK_FOR_ORIENTATION = 2
  2568. DEATHCAM_ANGLE_LERP_SPEED = 10.0
  2569. DEATHCAM_STREAK_FOR_POSITION = 3
  2570. DEATHCAM_TIME_TILL_POSITION_CHANGE = 0.25
  2571. DEATHCAM_POSITION_LERP_SPEED = 20.0
  2572. DEATHCAM_RANGE_FROM_KILLER = 5.0
  2573. DEATHCAM_TIME_TILL_CHASE_CAM_AVAIL = 1.5
  2574. DEATHCAM_TIME_TILL_CHASE_CAM_FORCED = 5.0
  2575. DEATHCAM_VALID_TYPES = [WEAPON_KILL,
  2576. HEADSHOT_KILL,
  2577. MELEE_KILL,
  2578. GRENADE_KILL,
  2579. ROCKET_KILL,
  2580. ROCKET2_KILL,
  2581. DRILL_KILL,
  2582. SNOWBALL_KILL,
  2583. CLASSIC_GRENADE_KILL,
  2584. ANTIPERSONNEL_GRENADE_KILL,
  2585. MOLOTOV_KILL]
  2586. ONE_HIT_KILL_WEAPONS = [WEAPON_KILL,
  2587. HEADSHOT_KILL,
  2588. MELEE_KILL,
  2589. GRENADE_KILL,
  2590. ROCKET_KILL,
  2591. ROCKET2_KILL,
  2592. DRILL_KILL,
  2593. SNOWBALL_KILL,
  2594. CLASSIC_GRENADE_KILL,
  2595. ANTIPERSONNEL_GRENADE_KILL,
  2596. MOLOTOV_KILL,
  2597. ROCKET_TURRET_KILL]
  2598. TEXT_DISPLAY_RANGE = 80.0
  2599. TUTORIAL_ENABLED = True
  2600. MIN_TIME_BETWEEN_KICK_VOTES = 5 * 60
  2601. SERVERMODE_PUBLIC = 1 << 0
  2602. SERVERMODE_RANKED = 1 << 1
  2603. SERVERMODE_TUTORIAL = 1 << 2
  2604. SERVERMODE_CUSTOM = 1 << 3
  2605. SERVERMODE_MONITOR = 1 << 4
  2606. SERVERMODE_NOOF = 5
  2607. SERVERMODE_ANY = SERVERMODE_PUBLIC | SERVERMODE_RANKED | SERVERMODE_TUTORIAL | SERVERMODE_CUSTOM
  2608. import sys
  2609. if 'blitzdev' in sys.argv and 'enzymebeta' in sys.argv:
  2610. parse_constant_overrides()
  2611. CLIMB_SLOW_DOWN = 1.0
  2612. CLIMB_SLOW_DOWN_CLASSIC = 0.92
  2613. ROCKET_JUMP_FALL_DAMAGE_MULTIPLIER = 0.2
  2614. ZERO_FALL_DAMAGE_AIR_TIME = UPDATE_INTERVAL
  2615. MAX_FALL_DAMAGE_AIR_TIME = UPDATE_INTERVAL * 4
  2616. CLASS_BLOCKS = {CLASS_SOLDIER: (SOLDIER_STARTING_BLOCKS, SOLDIER_MAX_BLOCKS),
  2617. CLASS_SCOUT: (SCOUT_STARTING_BLOCKS, SCOUT_MAX_BLOCKS),
  2618. CLASS_ROCKETEER: (ROCKETEER_STARTING_BLOCKS, ROCKETEER_MAX_BLOCKS),
  2619. CLASS_ENGINEER: (ENGINEER_STARTING_BLOCKS, ENGINEER_MAX_BLOCKS),
  2620. CLASS_MINER: (MINER_STARTING_BLOCKS, MINER_MAX_BLOCKS),
  2621. CLASS_ZOMBIE: (ZOMBIE_STARTING_BLOCKS, ZOMBIE_MAX_BLOCKS),
  2622. CLASS_CLASSIC_SOLDIER: (CLASSIC_SOLDIER_STARTING_BLOCKS, CLASSIC_SOLDIER_MAX_BLOCKS),
  2623. CLASS_GANGSTER_1: (GANGSTER_STARTING_BLOCKS, GANGSTER_MAX_BLOCKS),
  2624. CLASS_GANGSTER_2: (GANGSTER_STARTING_BLOCKS, GANGSTER_MAX_BLOCKS),
  2625. CLASS_GANGSTER_3: (GANGSTER_STARTING_BLOCKS, GANGSTER_MAX_BLOCKS),
  2626. CLASS_GANGSTER_4: (GANGSTER_STARTING_BLOCKS, GANGSTER_MAX_BLOCKS),
  2627. CLASS_GANGSTER_VIP_1: (GANGSTER_STARTING_BLOCKS, GANGSTER_MAX_BLOCKS),
  2628. CLASS_GANGSTER_VIP_2: (GANGSTER_STARTING_BLOCKS, GANGSTER_MAX_BLOCKS),
  2629. CLASS_UGCBUILDER: (UGCBUILDER_STARTING_BLOCKS, UGCBUILDER_MAX_BLOCKS)}
  2630. CLASS_HEADSHOT_DAMAGE_MULTIPLIER = {CLASS_SOLDIER: SOLDIER_HEADSHOT_DAMAGE_MULTIPLIER,
  2631. CLASS_SCOUT: SCOUT_HEADSHOT_DAMAGE_MULTIPLIER,
  2632. CLASS_ROCKETEER: ROCKETEER_HEADSHOT_DAMAGE_MULTIPLIER,
  2633. CLASS_ENGINEER: ENGINEER_HEADSHOT_DAMAGE_MULTIPLIER,
  2634. CLASS_MINER: MINER_HEADSHOT_DAMAGE_MULTIPLIER,
  2635. CLASS_ZOMBIE: ZOMBIE_HEADSHOT_DAMAGE_MULTIPLIER,
  2636. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_HEADSHOT_DAMAGE_MULTIPLIER,
  2637. CLASS_GANGSTER_1: GANGSTER_HEADSHOT_DAMAGE_MULTIPLIER,
  2638. CLASS_GANGSTER_2: GANGSTER_HEADSHOT_DAMAGE_MULTIPLIER,
  2639. CLASS_GANGSTER_3: GANGSTER_HEADSHOT_DAMAGE_MULTIPLIER,
  2640. CLASS_GANGSTER_4: GANGSTER_HEADSHOT_DAMAGE_MULTIPLIER,
  2641. CLASS_GANGSTER_VIP_1: GANGSTER_HEADSHOT_DAMAGE_MULTIPLIER,
  2642. CLASS_GANGSTER_VIP_2: GANGSTER_HEADSHOT_DAMAGE_MULTIPLIER,
  2643. CLASS_UGCBUILDER: UGCBUILDER_HEADSHOT_DAMAGE_MULTIPLIER}
  2644. CLASS_DAMAGE_MULTIPLIER = {CLASS_SOLDIER: SOLDIER_DAMAGE_MULTIPLIER,
  2645. CLASS_SCOUT: SCOUT_DAMAGE_MULTIPLIER,
  2646. CLASS_ROCKETEER: ROCKETEER_DAMAGE_MULTIPLIER,
  2647. CLASS_ENGINEER: ENGINEER_DAMAGE_MULTIPLIER,
  2648. CLASS_MINER: MINER_DAMAGE_MULTIPLIER,
  2649. CLASS_ZOMBIE: ZOMBIE_DAMAGE_MULTIPLIER,
  2650. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_DAMAGE_MULTIPLIER,
  2651. CLASS_GANGSTER_1: GANGSTER_DAMAGE_MULTIPLIER,
  2652. CLASS_GANGSTER_2: GANGSTER_DAMAGE_MULTIPLIER,
  2653. CLASS_GANGSTER_3: GANGSTER_DAMAGE_MULTIPLIER,
  2654. CLASS_GANGSTER_4: GANGSTER_DAMAGE_MULTIPLIER,
  2655. CLASS_GANGSTER_VIP_1: GANGSTER_DAMAGE_MULTIPLIER,
  2656. CLASS_GANGSTER_VIP_2: GANGSTER_DAMAGE_MULTIPLIER,
  2657. CLASS_UGCBUILDER: UGCBUILDER_DAMAGE_MULTIPLIER}
  2658. CLASS_ACCEL_MULTIPLIER = {CLASS_SOLDIER: SOLDIER_ACCEL_MULTIPLIER,
  2659. CLASS_SCOUT: SCOUT_ACCEL_MULTIPLIER,
  2660. CLASS_ROCKETEER: ROCKETEER_ACCEL_MULTIPLIER,
  2661. CLASS_ENGINEER: ENGINEER_ACCEL_MULTIPLIER,
  2662. CLASS_MINER: MINER_ACCEL_MULTIPLIER,
  2663. CLASS_ZOMBIE: ZOMBIE_ACCEL_MULTIPLIER,
  2664. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_ACCEL_MULTIPLIER,
  2665. CLASS_GANGSTER_1: GANGSTER_ACCEL_MULTIPLIER,
  2666. CLASS_GANGSTER_2: GANGSTER_ACCEL_MULTIPLIER,
  2667. CLASS_GANGSTER_3: GANGSTER_ACCEL_MULTIPLIER,
  2668. CLASS_GANGSTER_4: GANGSTER_ACCEL_MULTIPLIER,
  2669. CLASS_GANGSTER_VIP_1: GANGSTER_ACCEL_MULTIPLIER,
  2670. CLASS_GANGSTER_VIP_2: GANGSTER_ACCEL_MULTIPLIER,
  2671. CLASS_UGCBUILDER: UGCBUILDER_ACCEL_MULTIPLIER}
  2672. CLASS_SPRINT_MULTIPLIER = {CLASS_SOLDIER: SOLDIER_SPRINT_MULTIPLIER,
  2673. CLASS_SCOUT: SCOUT_SPRINT_MULTIPLIER,
  2674. CLASS_ROCKETEER: ROCKETEER_SPRINT_MULTIPLIER,
  2675. CLASS_ENGINEER: ENGINEER_SPRINT_MULTIPLIER,
  2676. CLASS_MINER: MINER_SPRINT_MULTIPLIER,
  2677. CLASS_ZOMBIE: ZOMBIE_SPRINT_MULTIPLIER,
  2678. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_SPRINT_MULTIPLIER,
  2679. CLASS_GANGSTER_1: GANGSTER_SPRINT_MULTIPLIER,
  2680. CLASS_GANGSTER_2: GANGSTER_SPRINT_MULTIPLIER,
  2681. CLASS_GANGSTER_3: GANGSTER_SPRINT_MULTIPLIER,
  2682. CLASS_GANGSTER_4: GANGSTER_SPRINT_MULTIPLIER,
  2683. CLASS_GANGSTER_VIP_1: GANGSTER_SPRINT_MULTIPLIER,
  2684. CLASS_GANGSTER_VIP_2: GANGSTER_SPRINT_MULTIPLIER,
  2685. CLASS_UGCBUILDER: UGCBUILDER_SPRINT_MULTIPLIER}
  2686. CLASS_CROUCH_SNEAK_MULTIPLIER = {CLASS_SOLDIER: SOLDIER_CROUCH_SNEAK_MULTIPLIER,
  2687. CLASS_SCOUT: SCOUT_CROUCH_SNEAK_MULTIPLIER,
  2688. CLASS_ROCKETEER: ROCKETEER_CROUCH_SNEAK_MULTIPLIER,
  2689. CLASS_ENGINEER: ENGINEER_CROUCH_SNEAK_MULTIPLIER,
  2690. CLASS_MINER: MINER_CROUCH_SNEAK_MULTIPLIER,
  2691. CLASS_ZOMBIE: ZOMBIE_CROUCH_SNEAK_MULTIPLIER,
  2692. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_CROUCH_SNEAK_MULTIPLIER,
  2693. CLASS_GANGSTER_1: GANGSTER_CROUCH_SNEAK_MULTIPLIER,
  2694. CLASS_GANGSTER_2: GANGSTER_CROUCH_SNEAK_MULTIPLIER,
  2695. CLASS_GANGSTER_3: GANGSTER_CROUCH_SNEAK_MULTIPLIER,
  2696. CLASS_GANGSTER_4: GANGSTER_CROUCH_SNEAK_MULTIPLIER,
  2697. CLASS_GANGSTER_VIP_1: GANGSTER_CROUCH_SNEAK_MULTIPLIER,
  2698. CLASS_GANGSTER_VIP_2: GANGSTER_CROUCH_SNEAK_MULTIPLIER,
  2699. CLASS_UGCBUILDER: UGCBUILDER_CROUCH_SNEAK_MULTIPLIER}
  2700. CLASS_FALL_ON_WATER_DAMAGE_MULTIPLIER = {CLASS_SOLDIER: SOLDIER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2701. CLASS_SCOUT: SCOUT_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2702. CLASS_ROCKETEER: ROCKETEER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2703. CLASS_ENGINEER: ENGINEER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2704. CLASS_MINER: MINER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2705. CLASS_ZOMBIE: ZOMBIE_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2706. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2707. CLASS_GANGSTER_1: GANGSTER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2708. CLASS_GANGSTER_2: GANGSTER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2709. CLASS_GANGSTER_3: GANGSTER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2710. CLASS_GANGSTER_4: GANGSTER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2711. CLASS_GANGSTER_VIP_1: GANGSTER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2712. CLASS_GANGSTER_VIP_2: GANGSTER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2713. CLASS_UGCBUILDER: UGCBUILDER_FALL_ON_WATER_DAMAGE_MULTIPLIER}
  2714. CLASS_JUMP_MULTIPLIER = {CLASS_SOLDIER: SOLDIER_JUMP_MULTIPLIER,
  2715. CLASS_SCOUT: SCOUT_JUMP_MULTIPLIER,
  2716. CLASS_ROCKETEER: ROCKETEER_JUMP_MULTIPLIER,
  2717. CLASS_ENGINEER: ENGINEER_JUMP_MULTIPLIER,
  2718. CLASS_MINER: MINER_JUMP_MULTIPLIER,
  2719. CLASS_ZOMBIE: ZOMBIE_JUMP_MULTIPLIER,
  2720. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_JUMP_MULTIPLIER,
  2721. CLASS_GANGSTER_1: GANGSTER_JUMP_MULTIPLIER,
  2722. CLASS_GANGSTER_2: GANGSTER_JUMP_MULTIPLIER,
  2723. CLASS_GANGSTER_3: GANGSTER_JUMP_MULTIPLIER,
  2724. CLASS_GANGSTER_4: GANGSTER_JUMP_MULTIPLIER,
  2725. CLASS_GANGSTER_VIP_1: GANGSTER_JUMP_MULTIPLIER,
  2726. CLASS_GANGSTER_VIP_2: GANGSTER_JUMP_MULTIPLIER,
  2727. CLASS_UGCBUILDER: UGCBUILDER_JUMP_MULTIPLIER}
  2728. CLASS_CAN_SPRINT_UPHILL = {CLASS_SOLDIER: True,
  2729. CLASS_SCOUT: True,
  2730. CLASS_ROCKETEER: True,
  2731. CLASS_ENGINEER: True,
  2732. CLASS_MINER: True,
  2733. CLASS_ZOMBIE: True,
  2734. CLASS_CLASSIC_SOLDIER: False,
  2735. CLASS_GANGSTER_1: True,
  2736. CLASS_GANGSTER_2: True,
  2737. CLASS_GANGSTER_3: True,
  2738. CLASS_GANGSTER_4: True,
  2739. CLASS_GANGSTER_VIP_1: True,
  2740. CLASS_GANGSTER_VIP_2: True,
  2741. CLASS_UGCBUILDER: True}
  2742. CLASS_WATER_FRICTION = {CLASS_SOLDIER: SOLDIER_WATER_FRICTION,
  2743. CLASS_SCOUT: SCOUT_WATER_FRICTION,
  2744. CLASS_ROCKETEER: ROCKETEER_WATER_FRICTION,
  2745. CLASS_ENGINEER: ENGINEER_WATER_FRICTION,
  2746. CLASS_MINER: MINER_WATER_FRICTION,
  2747. CLASS_ZOMBIE: ZOMBIE_WATER_FRICTION,
  2748. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_WATER_FRICTION,
  2749. CLASS_GANGSTER_1: GANGSTER_WATER_FRICTION,
  2750. CLASS_GANGSTER_2: GANGSTER_WATER_FRICTION,
  2751. CLASS_GANGSTER_3: GANGSTER_WATER_FRICTION,
  2752. CLASS_GANGSTER_4: GANGSTER_WATER_FRICTION,
  2753. CLASS_GANGSTER_VIP_1: GANGSTER_WATER_FRICTION,
  2754. CLASS_GANGSTER_VIP_2: GANGSTER_WATER_FRICTION,
  2755. CLASS_UGCBUILDER: UGCBUILDER_WATER_FRICTION}
  2756. CLASS_FALLING_DAMAGE_MIN_DISTANCE = {CLASS_SOLDIER: SOLDIER_FALLING_DAMAGE_MIN_DISTANCE,
  2757. CLASS_SCOUT: SCOUT_FALLING_DAMAGE_MIN_DISTANCE,
  2758. CLASS_ROCKETEER: ROCKETEER_FALLING_DAMAGE_MIN_DISTANCE,
  2759. CLASS_ENGINEER: ENGINEER_FALLING_DAMAGE_MIN_DISTANCE,
  2760. CLASS_MINER: MINER_FALLING_DAMAGE_MIN_DISTANCE,
  2761. CLASS_ZOMBIE: ZOMBIE_FALLING_DAMAGE_MIN_DISTANCE,
  2762. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_FALLING_DAMAGE_MIN_DISTANCE,
  2763. CLASS_GANGSTER_1: GANGSTER_FALLING_DAMAGE_MIN_DISTANCE,
  2764. CLASS_GANGSTER_2: GANGSTER_FALLING_DAMAGE_MIN_DISTANCE,
  2765. CLASS_GANGSTER_3: GANGSTER_FALLING_DAMAGE_MIN_DISTANCE,
  2766. CLASS_GANGSTER_4: GANGSTER_FALLING_DAMAGE_MIN_DISTANCE,
  2767. CLASS_GANGSTER_VIP_1: GANGSTER_FALLING_DAMAGE_MIN_DISTANCE,
  2768. CLASS_GANGSTER_VIP_2: GANGSTER_FALLING_DAMAGE_MIN_DISTANCE}
  2769. CLASS_FALLING_DAMAGE_MAX_DISTANCE = {CLASS_SOLDIER: SOLDIER_FALLING_DAMAGE_MAX_DISTANCE,
  2770. CLASS_SCOUT: SCOUT_FALLING_DAMAGE_MAX_DISTANCE,
  2771. CLASS_ROCKETEER: ROCKETEER_FALLING_DAMAGE_MAX_DISTANCE,
  2772. CLASS_ENGINEER: ENGINEER_FALLING_DAMAGE_MAX_DISTANCE,
  2773. CLASS_MINER: MINER_FALLING_DAMAGE_MAX_DISTANCE,
  2774. CLASS_ZOMBIE: ZOMBIE_FALLING_DAMAGE_MAX_DISTANCE,
  2775. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_FALLING_DAMAGE_MAX_DISTANCE,
  2776. CLASS_GANGSTER_1: GANGSTER_FALLING_DAMAGE_MAX_DISTANCE,
  2777. CLASS_GANGSTER_2: GANGSTER_FALLING_DAMAGE_MAX_DISTANCE,
  2778. CLASS_GANGSTER_3: GANGSTER_FALLING_DAMAGE_MAX_DISTANCE,
  2779. CLASS_GANGSTER_4: GANGSTER_FALLING_DAMAGE_MAX_DISTANCE,
  2780. CLASS_GANGSTER_VIP_1: GANGSTER_FALLING_DAMAGE_MAX_DISTANCE,
  2781. CLASS_GANGSTER_VIP_2: GANGSTER_FALLING_DAMAGE_MAX_DISTANCE}
  2782. CLASS_FALLING_DAMAGE_MAX_DAMAGE = {CLASS_SOLDIER: SOLDIER_FALLING_DAMAGE_MAX_DAMAGE,
  2783. CLASS_SCOUT: SCOUT_FALLING_DAMAGE_MAX_DAMAGE,
  2784. CLASS_ROCKETEER: ROCKETEER_FALLING_DAMAGE_MAX_DAMAGE,
  2785. CLASS_ENGINEER: ENGINEER_FALLING_DAMAGE_MAX_DAMAGE,
  2786. CLASS_MINER: MINER_FALLING_DAMAGE_MAX_DAMAGE,
  2787. CLASS_ZOMBIE: ZOMBIE_FALLING_DAMAGE_MAX_DAMAGE,
  2788. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_FALLING_DAMAGE_MAX_DAMAGE,
  2789. CLASS_GANGSTER_1: GANGSTER_FALLING_DAMAGE_MAX_DAMAGE,
  2790. CLASS_GANGSTER_2: GANGSTER_FALLING_DAMAGE_MAX_DAMAGE,
  2791. CLASS_GANGSTER_3: GANGSTER_FALLING_DAMAGE_MAX_DAMAGE,
  2792. CLASS_GANGSTER_4: GANGSTER_FALLING_DAMAGE_MAX_DAMAGE,
  2793. CLASS_GANGSTER_VIP_1: GANGSTER_FALLING_DAMAGE_MAX_DAMAGE,
  2794. CLASS_GANGSTER_VIP_2: GANGSTER_FALLING_DAMAGE_MAX_DAMAGE}
  2795. CLASS_SOUNDS = {CLASS_SOLDIER: {JUMP_SOUND: GENERIC_JUMP_SOUND,
  2796. WATER_JUMP_SOUND: GENERIC_WATER_JUMP_SOUND,
  2797. JETPACK_LAND_SOUND: GENERIC_JETPACK_LAND_SOUND,
  2798. LAND_SOUND: GENERIC_LAND_SOUND,
  2799. WATER_LAND_SOUND: GENERIC_WATER_LAND_SOUND,
  2800. FALL_HURT_SOUND: GENERIC_FALLHURT_SOUND,
  2801. FOOTSTEP_SOUND: GENERIC_FOOTSTEP_SOUND,
  2802. WADE_SOUND: GENERIC_WADE_SOUND,
  2803. DEATH_SOUND: ['sol_death_vo_001-008', -1, 100],
  2804. PERIODIC_SOUND: (BLANK_SOUND, 0, 0),
  2805. SPAWN_VO: ['sol_spawn_vo_001-006', -1, SPAWN_VO_CHANCE],
  2806. JUMP_VO: ['sol_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2807. WATER_JUMP_VO: ['sol_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2808. LAND_VO: ['sol_land_vo_001-008', -1, LAND_VO_CHANCE],
  2809. WATER_LAND_VO: ['sol_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2810. FALL_HURT_VO: ['sol_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]},
  2811. CLASS_SCOUT: {JUMP_SOUND: GENERIC_JUMP_SOUND,
  2812. WATER_JUMP_SOUND: GENERIC_WATER_JUMP_SOUND,
  2813. JETPACK_LAND_SOUND: GENERIC_JETPACK_LAND_SOUND,
  2814. LAND_SOUND: GENERIC_LAND_SOUND,
  2815. WATER_LAND_SOUND: GENERIC_WATER_LAND_SOUND,
  2816. FALL_HURT_SOUND: GENERIC_FALLHURT_SOUND,
  2817. FOOTSTEP_SOUND: GENERIC_FOOTSTEP_SOUND,
  2818. WADE_SOUND: GENERIC_WADE_SOUND,
  2819. DEATH_SOUND: ['sco_death_vo_001-008', -1, 100],
  2820. PERIODIC_SOUND: (BLANK_SOUND, 0, 0),
  2821. SPAWN_VO: ['sco_spawn_vo_001-006', -1, SPAWN_VO_CHANCE],
  2822. JUMP_VO: ['sco_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2823. WATER_JUMP_VO: ['sco_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2824. LAND_VO: ['sco_land_vo_001-008', -1, LAND_VO_CHANCE],
  2825. WATER_LAND_VO: ['sco_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2826. FALL_HURT_VO: ['sco_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]},
  2827. CLASS_ROCKETEER: {JUMP_SOUND: GENERIC_JUMP_SOUND,
  2828. WATER_JUMP_SOUND: GENERIC_WATER_JUMP_SOUND,
  2829. JETPACK_LAND_SOUND: GENERIC_JETPACK_LAND_SOUND,
  2830. LAND_SOUND: GENERIC_LAND_SOUND,
  2831. WATER_LAND_SOUND: GENERIC_WATER_LAND_SOUND,
  2832. FALL_HURT_SOUND: GENERIC_FALLHURT_SOUND,
  2833. FOOTSTEP_SOUND: GENERIC_FOOTSTEP_SOUND,
  2834. WADE_SOUND: GENERIC_WADE_SOUND,
  2835. DEATH_SOUND: ['roc_death_vo_001-008', -1, 100],
  2836. PERIODIC_SOUND: (BLANK_SOUND, 0, 0),
  2837. SPAWN_VO: ['roc_spawn_vo_001-005', -1, SPAWN_VO_CHANCE],
  2838. JUMP_VO: ['roc_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2839. WATER_JUMP_VO: ['roc_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2840. LAND_VO: ['roc_land_vo_001-008', -1, LAND_VO_CHANCE],
  2841. WATER_LAND_VO: ['roc_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2842. FALL_HURT_VO: ['roc_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]},
  2843. CLASS_ENGINEER: {JUMP_SOUND: GENERIC_JUMP_SOUND,
  2844. WATER_JUMP_SOUND: GENERIC_WATER_JUMP_SOUND,
  2845. JETPACK_LAND_SOUND: GENERIC_JETPACK_LAND_SOUND,
  2846. LAND_SOUND: GENERIC_LAND_SOUND,
  2847. WATER_LAND_SOUND: GENERIC_WATER_LAND_SOUND,
  2848. FALL_HURT_SOUND: GENERIC_FALLHURT_SOUND,
  2849. FOOTSTEP_SOUND: GENERIC_FOOTSTEP_SOUND,
  2850. WADE_SOUND: GENERIC_WADE_SOUND,
  2851. DEATH_SOUND: ['eng_death_vo_001-008', -1, 100],
  2852. PERIODIC_SOUND: (BLANK_SOUND, 0, 0),
  2853. SPAWN_VO: ['eng_spawn_vo_001-005', -1, SPAWN_VO_CHANCE],
  2854. JUMP_VO: ['eng_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2855. WATER_JUMP_VO: ['eng_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2856. LAND_VO: ['eng_land_vo_001-008', -1, LAND_VO_CHANCE],
  2857. WATER_LAND_VO: ['eng_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2858. FALL_HURT_VO: ['eng_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]},
  2859. CLASS_MINER: {JUMP_SOUND: GENERIC_JUMP_SOUND,
  2860. WATER_JUMP_SOUND: GENERIC_WATER_JUMP_SOUND,
  2861. JETPACK_LAND_SOUND: GENERIC_JETPACK_LAND_SOUND,
  2862. LAND_SOUND: GENERIC_LAND_SOUND,
  2863. WATER_LAND_SOUND: GENERIC_WATER_LAND_SOUND,
  2864. FALL_HURT_SOUND: GENERIC_FALLHURT_SOUND,
  2865. FOOTSTEP_SOUND: GENERIC_FOOTSTEP_SOUND,
  2866. WADE_SOUND: GENERIC_WADE_SOUND,
  2867. DEATH_SOUND: ['min_death_vo_001-008', -1, 100],
  2868. PERIODIC_SOUND: (BLANK_SOUND, 0, 0),
  2869. SPAWN_VO: ['min_spawn_vo_001-004', -1, SPAWN_VO_CHANCE],
  2870. JUMP_VO: ['min_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2871. WATER_JUMP_VO: ['min_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2872. LAND_VO: ['min_land_vo_001-008', -1, LAND_VO_CHANCE],
  2873. WATER_LAND_VO: ['min_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2874. FALL_HURT_VO: ['min_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]},
  2875. CLASS_ZOMBIE: {JUMP_SOUND: ZOMBIE_JUMP_SOUND,
  2876. WATER_JUMP_SOUND: ZOMBIE_JUMP_WATER_SOUND,
  2877. JETPACK_LAND_SOUND: GENERIC_JETPACK_LAND_SOUND,
  2878. LAND_SOUND: ZOMBIE_LAND_SOUND,
  2879. WATER_LAND_SOUND: ZOMBIE_LAND_WATER_SOUND,
  2880. FALL_HURT_SOUND: 'zombie_fallhurt',
  2881. FOOTSTEP_SOUND: ZOMBIE_FOOTSTEP_SOUND,
  2882. WADE_SOUND: ZOMBIE_WADE_SOUND,
  2883. DEATH_SOUND: ['vo_zombiedeath_001-010', -1, 100],
  2884. PERIODIC_SOUND: (['vo_zombiegroan_001-016', -1, 100], 3.0, 6.0),
  2885. SPAWN_VO: BLANK_SOUND,
  2886. JUMP_VO: BLANK_SOUND,
  2887. WATER_JUMP_VO: BLANK_SOUND,
  2888. LAND_VO: BLANK_SOUND,
  2889. WATER_LAND_VO: BLANK_SOUND,
  2890. FALL_HURT_VO: BLANK_SOUND},
  2891. CLASS_CLASSIC_SOLDIER: {JUMP_SOUND: GENERIC_JUMP_SOUND,
  2892. WATER_JUMP_SOUND: GENERIC_WATER_JUMP_SOUND,
  2893. JETPACK_LAND_SOUND: GENERIC_JETPACK_LAND_SOUND,
  2894. LAND_SOUND: GENERIC_LAND_SOUND,
  2895. WATER_LAND_SOUND: GENERIC_WATER_LAND_SOUND,
  2896. FALL_HURT_SOUND: GENERIC_FALLHURT_SOUND,
  2897. FOOTSTEP_SOUND: GENERIC_FOOTSTEP_SOUND,
  2898. WADE_SOUND: GENERIC_WADE_SOUND,
  2899. DEATH_SOUND: ['classic_death_vo', -1, 100],
  2900. PERIODIC_SOUND: (BLANK_SOUND, 0, 0),
  2901. SPAWN_VO: BLANK_SOUND,
  2902. JUMP_VO: BLANK_SOUND,
  2903. WATER_JUMP_VO: BLANK_SOUND,
  2904. LAND_VO: BLANK_SOUND,
  2905. WATER_LAND_VO: BLANK_SOUND,
  2906. FALL_HURT_VO: ['classic_fallhurt_vo', -1, FULLHURT_VO_CHANCE]},
  2907. CLASS_GANGSTER_1: {JUMP_SOUND: GENERIC_JUMP_SOUND,
  2908. WATER_JUMP_SOUND: GENERIC_WATER_JUMP_SOUND,
  2909. JETPACK_LAND_SOUND: GENERIC_JETPACK_LAND_SOUND,
  2910. LAND_SOUND: GENERIC_LAND_SOUND,
  2911. WATER_LAND_SOUND: GENERIC_WATER_LAND_SOUND,
  2912. FALL_HURT_SOUND: GENERIC_FALLHURT_SOUND,
  2913. FOOTSTEP_SOUND: GENERIC_FOOTSTEP_SOUND,
  2914. WADE_SOUND: GENERIC_WADE_SOUND,
  2915. DEATH_SOUND: ['gang_death_vo_001-008', -1, 100],
  2916. PERIODIC_SOUND: (BLANK_SOUND, 0, 0),
  2917. SPAWN_VO: ['gang_spawn_vo_001-006', -1, SPAWN_VO_CHANCE],
  2918. JUMP_VO: ['gang_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2919. WATER_JUMP_VO: ['gang_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2920. LAND_VO: ['gang_land_vo_001-008', -1, LAND_VO_CHANCE],
  2921. WATER_LAND_VO: ['gang_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2922. FALL_HURT_VO: ['gang_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]},
  2923. CLASS_GANGSTER_2: {JUMP_SOUND: GENERIC_JUMP_SOUND,
  2924. WATER_JUMP_SOUND: GENERIC_WATER_JUMP_SOUND,
  2925. JETPACK_LAND_SOUND: GENERIC_JETPACK_LAND_SOUND,
  2926. LAND_SOUND: GENERIC_LAND_SOUND,
  2927. WATER_LAND_SOUND: GENERIC_WATER_LAND_SOUND,
  2928. FALL_HURT_SOUND: GENERIC_FALLHURT_SOUND,
  2929. FOOTSTEP_SOUND: GENERIC_FOOTSTEP_SOUND,
  2930. WADE_SOUND: GENERIC_WADE_SOUND,
  2931. DEATH_SOUND: ['gang_death_vo_001-008', -1, 100],
  2932. PERIODIC_SOUND: (BLANK_SOUND, 0, 0),
  2933. SPAWN_VO: ['gang_spawn_vo_001-006', -1, SPAWN_VO_CHANCE],
  2934. JUMP_VO: ['gang_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2935. WATER_JUMP_VO: ['gang_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2936. LAND_VO: ['gang_land_vo_001-008', -1, LAND_VO_CHANCE],
  2937. WATER_LAND_VO: ['gang_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2938. FALL_HURT_VO: ['gang_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]},
  2939. CLASS_GANGSTER_3: {JUMP_SOUND: GENERIC_JUMP_SOUND,
  2940. WATER_JUMP_SOUND: GENERIC_WATER_JUMP_SOUND,
  2941. JETPACK_LAND_SOUND: GENERIC_JETPACK_LAND_SOUND,
  2942. LAND_SOUND: GENERIC_LAND_SOUND,
  2943. WATER_LAND_SOUND: GENERIC_WATER_LAND_SOUND,
  2944. FALL_HURT_SOUND: GENERIC_FALLHURT_SOUND,
  2945. FOOTSTEP_SOUND: GENERIC_FOOTSTEP_SOUND,
  2946. WADE_SOUND: GENERIC_WADE_SOUND,
  2947. DEATH_SOUND: ['gang_death_vo_001-008', -1, 100],
  2948. PERIODIC_SOUND: (BLANK_SOUND, 0, 0),
  2949. SPAWN_VO: ['gang_spawn_vo_001-006', -1, SPAWN_VO_CHANCE],
  2950. JUMP_VO: ['gang_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2951. WATER_JUMP_VO: ['gang_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2952. LAND_VO: ['gang_land_vo_001-008', -1, LAND_VO_CHANCE],
  2953. WATER_LAND_VO: ['gang_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2954. FALL_HURT_VO: ['gang_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]},
  2955. CLASS_GANGSTER_4: {JUMP_SOUND: GENERIC_JUMP_SOUND,
  2956. WATER_JUMP_SOUND: GENERIC_WATER_JUMP_SOUND,
  2957. JETPACK_LAND_SOUND: GENERIC_JETPACK_LAND_SOUND,
  2958. LAND_SOUND: GENERIC_LAND_SOUND,
  2959. WATER_LAND_SOUND: GENERIC_WATER_LAND_SOUND,
  2960. FALL_HURT_SOUND: GENERIC_FALLHURT_SOUND,
  2961. FOOTSTEP_SOUND: GENERIC_FOOTSTEP_SOUND,
  2962. WADE_SOUND: GENERIC_WADE_SOUND,
  2963. DEATH_SOUND: ['gang_death_vo_001-008', -1, 100],
  2964. PERIODIC_SOUND: (BLANK_SOUND, 0, 0),
  2965. SPAWN_VO: ['gang_spawn_vo_001-006', -1, SPAWN_VO_CHANCE],
  2966. JUMP_VO: ['gang_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2967. WATER_JUMP_VO: ['gang_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2968. LAND_VO: ['gang_land_vo_001-008', -1, LAND_VO_CHANCE],
  2969. WATER_LAND_VO: ['gang_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2970. FALL_HURT_VO: ['gang_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]},
  2971. CLASS_GANGSTER_VIP_1: {JUMP_SOUND: GENERIC_JUMP_SOUND,
  2972. WATER_JUMP_SOUND: GENERIC_WATER_JUMP_SOUND,
  2973. JETPACK_LAND_SOUND: GENERIC_JETPACK_LAND_SOUND,
  2974. LAND_SOUND: GENERIC_LAND_SOUND,
  2975. WATER_LAND_SOUND: GENERIC_WATER_LAND_SOUND,
  2976. FALL_HURT_SOUND: GENERIC_FALLHURT_SOUND,
  2977. FOOTSTEP_SOUND: GENERIC_FOOTSTEP_SOUND,
  2978. WADE_SOUND: GENERIC_WADE_SOUND,
  2979. DEATH_SOUND: ['gang_death_vo_001-008', -1, 100],
  2980. PERIODIC_SOUND: (BLANK_SOUND, 0, 0),
  2981. SPAWN_VO: ['gang_spawn_vo_001-006', -1, SPAWN_VO_CHANCE],
  2982. JUMP_VO: ['gang_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2983. WATER_JUMP_VO: ['gang_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2984. LAND_VO: ['gang_land_vo_001-008', -1, LAND_VO_CHANCE],
  2985. WATER_LAND_VO: ['gang_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2986. FALL_HURT_VO: ['gang_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]},
  2987. CLASS_GANGSTER_VIP_2: {JUMP_SOUND: GENERIC_JUMP_SOUND,
  2988. WATER_JUMP_SOUND: GENERIC_WATER_JUMP_SOUND,
  2989. JETPACK_LAND_SOUND: GENERIC_JETPACK_LAND_SOUND,
  2990. LAND_SOUND: GENERIC_LAND_SOUND,
  2991. WATER_LAND_SOUND: GENERIC_WATER_LAND_SOUND,
  2992. FALL_HURT_SOUND: GENERIC_FALLHURT_SOUND,
  2993. FOOTSTEP_SOUND: GENERIC_FOOTSTEP_SOUND,
  2994. WADE_SOUND: GENERIC_WADE_SOUND,
  2995. DEATH_SOUND: ['gang_death_vo_001-008', -1, 100],
  2996. PERIODIC_SOUND: (BLANK_SOUND, 0, 0),
  2997. SPAWN_VO: ['gang_spawn_vo_001-006', -1, SPAWN_VO_CHANCE],
  2998. JUMP_VO: ['gang_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2999. WATER_JUMP_VO: ['gang_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  3000. LAND_VO: ['gang_land_vo_001-008', -1, LAND_VO_CHANCE],
  3001. WATER_LAND_VO: ['gang_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  3002. FALL_HURT_VO: ['gang_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]},
  3003. CLASS_UGCBUILDER: {JUMP_SOUND: GENERIC_JUMP_SOUND,
  3004. WATER_JUMP_SOUND: GENERIC_WATER_JUMP_SOUND,
  3005. JETPACK_LAND_SOUND: GENERIC_JETPACK_LAND_SOUND,
  3006. LAND_SOUND: GENERIC_LAND_SOUND,
  3007. WATER_LAND_SOUND: GENERIC_WATER_LAND_SOUND,
  3008. FALL_HURT_SOUND: GENERIC_FALLHURT_SOUND,
  3009. FOOTSTEP_SOUND: GENERIC_FOOTSTEP_SOUND,
  3010. WADE_SOUND: GENERIC_WADE_SOUND,
  3011. DEATH_SOUND: BLANK_SOUND,
  3012. PERIODIC_SOUND: (BLANK_SOUND, 0, 0),
  3013. SPAWN_VO: BLANK_SOUND,
  3014. JUMP_VO: BLANK_SOUND,
  3015. WATER_JUMP_VO: BLANK_SOUND,
  3016. LAND_VO: BLANK_SOUND,
  3017. WATER_LAND_VO: BLANK_SOUND,
  3018. FALL_HURT_VO: BLANK_SOUND}}
  3019. SERVER_TIMEOUT_AFTER_FIRST_RESPONSE = 20.0
  3020. SERVER_TIMEOUT_BEFORE_FIRST_RESPONSE = 10.0
  3021. LOADING_MENU_NO_PROGRESS_TIMEOUT = 10.0
  3022. BLOCK_BUILD_TYPE_STATS = {BLOCK_TYPE_PREFAB: [DEFAULT_PREFAB_HEALTH],
  3023. BLOCK_TYPE_SNOW: [DEFAULT_SNOW_HEALTH]}
  3024. BLITZ_DEV = False
  3025. ENABLE_DLC_AUTH = True
  3026. MODE_NORMAL, MODE_DEMOLITION, MODE_ZOMBIE, MODE_MULTIHILL, MODE_OCCUPATION, MODE_DIAMONDMINE, MODE_TDM, MODE_VIP, MODE_CTF, MODE_TERRITORY, MODE_TUTORIAL, MODE_CCTF = xrange(12)
  3027. MODE_MAP_TITLES = {'zom': 'ZOMBIE_MODE_TITLE',
  3028. 'tdm': 'TDM_TITLE',
  3029. 'dia': 'DIAMOND_MINE_TITLE',
  3030. 'oc': 'OCCUPATION_MODE_TITLE',
  3031. 'dem': 'DEMOLITION_TITLE',
  3032. 'mh': 'MULTIHILL_TITLE',
  3033. 'vip': 'VIP_MODE_TITLE',
  3034. 'ctf': 'CTF_TITLE',
  3035. 'tc': 'TC_TITLE',
  3036. 'cctf': 'CLASSIC_CTF_TITLE',
  3037. 'tut': 'TUTORIAL_TITLE'}
  3038. MODE_DESCRIPTIONS = {'dem': 'DEMOLITION_DESCRIPTION',
  3039. 'zom': 'ZOMBIE_MODE_DESCRIPTION',
  3040. 'mh': 'MULTIHILL_DESCRIPTION',
  3041. 'oc': 'OCCUPATION_MODE_DESCRIPTION',
  3042. 'dia': 'DIAMOND_MINE_DESCRIPTION',
  3043. 'tdm': 'TDM_DESCRIPTION',
  3044. 'vip': 'VIP_MODE_DESCRIPTION',
  3045. 'ctf': 'CTF_DESCRIPTION',
  3046. 'tc': 'TC_DESCRIPTION',
  3047. 'cctf': 'CTF_DESCRIPTION',
  3048. 'tut': 'TUTORIAL_DESCRIPTION'}
  3049. MODE_MODE_IDS = {'zom': MODE_ZOMBIE,
  3050. 'tdm': MODE_TDM,
  3051. 'dia': MODE_DIAMONDMINE,
  3052. 'oc': MODE_OCCUPATION,
  3053. 'dem': MODE_DEMOLITION,
  3054. 'mh': MODE_MULTIHILL,
  3055. 'vip': MODE_VIP,
  3056. 'ctf': MODE_CTF,
  3057. 'tc': MODE_TERRITORY,
  3058. 'cctf': MODE_CTF,
  3059. 'tut': MODE_TUTORIAL}
  3060. GAME_MODE_CALLBACK_EMPTY_SERVER_TIMEOUT, GAME_MODE_CALLBACK_BUILDING_MODE, GAME_MODE_CALLBACK_WATCH_EXPLOSION, GAME_MODE_CALLBACK_TIMER, GAME_MODE_CALLBACK_TIMER_MUSIC, GAME_MODE_CALLBACK_GAME_ENDED_SCORES, GAME_MODE_CALLBACK_TIMEOUT, GAME_MODE_CALLBACK_TIMEOUT_MUSIC, GAME_MODE_CALLBACK_ADVANCE_DELAY, GAME_MODE_CALLBACK_SPAWNING_BOMB, GAME_MODE_CALLBACK_VIP_SUDDEN_DEATH_DELAY, GAME_MODE_CALLBACK_ZOMBIE_PICK, GAME_MODE_CALLBACK_ZOMBIE_PICK_SOUND, GAME_MODE_CALLBACK_ZOMBIE_WIN_END, GAME_MODE_CALLBACK_SURVIVOR_WIN, GAME_MODE_CALLBACK_SURVIVOR_WIN_MUSIC, GAME_MODE_CALLBACK_SURVIVOR_WIN_END, GAME_MODE_CALLBACK_WIN_START, GAME_MODE_CALLBACK_BASE_PICK, GAME_MODE_CALLBACK_MAP_VOTE_CLOSE = xrange(20)
  3061. ZONE_ICON_NONE, ZONE_ICON_DEMOLITION, ZONE_ICON_MULTIHILL, ZONE_ICON_OCCUPATION, ZONE_ICON_DIAMONDMINE, ZONE_ICON_VIP, ZONE_ICON_CTF, ZONE_ICON_TERRITORY_A, ZONE_ICON_TERRITORY_B, ZONE_ICON_TERRITORY_C, ZONE_ICON_TERRITORY_D, ZONE_ICON_TERRITORY_E, ZONE_ICON_TERRITORY_F, ZONE_ICON_TERRITORY_G, ZONE_ICON_TERRITORY_H, ZONE_ICON_TERRITORY_I, ZONE_ICON_TERRITORY_J = xrange(17)
  3062. MODE_ZONE_ICONS = {ZONE_ICON_NONE: [],
  3063. ZONE_ICON_DEMOLITION: ['minimap_base', 'base_icon'],
  3064. ZONE_ICON_MULTIHILL: ['minimap_multihill', 'MultiHill'],
  3065. ZONE_ICON_OCCUPATION: ['minimap_occupation_target', 'OccupationTarget'],
  3066. ZONE_ICON_DIAMONDMINE: ['minimap_diamond_dropoff', 'diamond_dropoff'],
  3067. ZONE_ICON_VIP: ['vip_icon_256x256', 'vip_icon_256x256'],
  3068. ZONE_ICON_CTF: ['minimap_base', 'base_icon'],
  3069. ZONE_ICON_TERRITORY_A: ['tc_minimap_a', 'tc_billboard_a'],
  3070. ZONE_ICON_TERRITORY_B: ['tc_minimap_b', 'tc_billboard_b'],
  3071. ZONE_ICON_TERRITORY_C: ['tc_minimap_c', 'tc_billboard_c'],
  3072. ZONE_ICON_TERRITORY_D: ['tc_minimap_d', 'tc_billboard_d'],
  3073. ZONE_ICON_TERRITORY_E: ['tc_minimap_e', 'tc_billboard_e'],
  3074. ZONE_ICON_TERRITORY_F: ['tc_minimap_f', 'tc_billboard_f'],
  3075. ZONE_ICON_TERRITORY_G: ['tc_minimap_g', 'tc_billboard_g'],
  3076. ZONE_ICON_TERRITORY_H: ['tc_minimap_g', 'tc_billboard_g'],
  3077. ZONE_ICON_TERRITORY_I: ['tc_minimap_g', 'tc_billboard_g'],
  3078. ZONE_ICON_TERRITORY_J: ['tc_minimap_g', 'tc_billboard_g']}
  3079. PROGRESSBAR_ICON_BASE, PROGRESSBAR_ICON_DIAMOND = xrange(2)
  3080. MODE_TITLE = {MODE_NORMAL: None,
  3081. MODE_DEMOLITION: 'DEMOLITION_TITLE',
  3082. MODE_ZOMBIE: 'ZOMBIE_MODE_TITLE',
  3083. MODE_MULTIHILL: 'MULTIHILL_TITLE',
  3084. MODE_OCCUPATION: 'OCCUPATION_MODE_TITLE',
  3085. MODE_DIAMONDMINE: 'DIAMOND_MINE_TITLE',
  3086. MODE_TDM: 'TDM_TITLE',
  3087. MODE_VIP: 'VIP_MODE_TITLE',
  3088. MODE_CTF: 'CTF_TITLE',
  3089. MODE_TERRITORY: 'TC_TITLE',
  3090. MODE_TUTORIAL: 'TUTORIAL_TITLE'}
  3091. LOADING_MENU_TAB_INTERVAL = 3.0
  3092. LOADING_MENU_TAB_LOOP = True
  3093. SCREENSHOT_CAMERA_SWITCH_INTERVAL = 5.0
  3094. SCREENSHOT_CAMERA_GAME_LENGTH = 60
  3095. SCREENSHOT_CAMERA_PAN_DISTANCE = -5.0
  3096. SCREENSHOT_CAMERA_PAN_TIME = 5.0
  3097. TIMEOUT_MUSIC_LENGTH = 61.0
  3098. TIME_AFTER_WIN_BEFORE_SCORES = 5.0
  3099. TIME_AFTER_MAP_VOTE_START_BEFORE_END = 10.0
  3100. DEFAULT_GAME_LENGTH = 900
  3101. CLASSIC_GAME_LENGTH = 2700
  3102. GENERIC_SCORE_KILL = 100
  3103. GENERIC_SCORE_HEADSHOT = 150
  3104. GENERIC_SCORE_MELEE = 150
  3105. GENERIC_SCORE_ASSIST = 50
  3106. GENERIC_SCORE_REVENGE = 50
  3107. GENERIC_SCORE_PAYBACK = 50
  3108. GENERIC_SCORE_RELOAD = 50
  3109. GENERIC_SCORE_DEFEND = 50
  3110. GENERIC_SCORE_SUICIDE = -100
  3111. GENERIC_SCORE_TEAMKILL = -100
  3112. GENERIC_ASSIST_PERCENTAGE = 50.0
  3113. NORMAL_SCORE_TEABAG = 2
  3114. CLASSIC_SCORE_TEABAG = 2
  3115. TDM_GAME_LENGTH = DEFAULT_GAME_LENGTH
  3116. TDM_TEAM_SCORE_FOR_KILL = 1
  3117. TDM_SCORE_DISTRACT = 50
  3118. ZOM_ROUND_TIME = 600.0
  3119. ZOM_NOOF_ROUNDS_BEFORE_NEXT_MAP = 3
  3120. ZOM_EXTRA_INDIVIDUAL_SCORE_FOR_SURVIVAL = 200
  3121. ZOM_NOOF_FIRST_INFECTION_ZOMBIES = 2
  3122. ZOM_TIME_BEFORE_FIRST_INFECTION = 60
  3123. ZOM_TIME_AFTER_ZOMBIE_WIN_BEFORE_SCORES = 5.0
  3124. ZOM_TIME_AFTER_SURVIVOR_WIN_BEFORE_SCORES = 5.0
  3125. ZOM_GAMEMODE_TIMEOUT = 600.0
  3126. ZOM_RESPAWN_AS_ZOMBIE_TIME = 0.0
  3127. ZOM_SCORE_SURVIVE = 50
  3128. ZOM_SCORE_SURVIVE_INTERVAL = 10.0
  3129. ZOM_SCORE_LASTMAN = 150
  3130. ZOM_SCORE_LASTMAN_INTERVAL = 5.0
  3131. ZOM_SCORE_KILL_SURVIVOR = 100
  3132. ZOM_SCORE_LASTMAN_ZOMBIEKILL = 50
  3133. MH_GAME_LENGTH = 1500
  3134. MH_TEAM_SCORE_PER_TICK = 1
  3135. MH_TEAM_SCORE_TICK_RATE = 1.0
  3136. MH_DEFAULT_BASE_AUTO_TIMEOUT = 240
  3137. MH_TIME_BETWEEN_BASE_ACTIVATIONS = 10.0
  3138. MH_DEFAULT_NUMBER_OF_BASE_TO_ACTIVATE_AT_ONCE = 1
  3139. MH_SCORE_OCCUPY = 150
  3140. MH_SCORE_OCCUPY_INTERVAL = 5.0
  3141. MH_SCORE_DEFEND = 100
  3142. MH_SCORE_ASSAULT = 50
  3143. MH_SCORE_FIRST = 250
  3144. MH_SCORE_CLAIM = 150
  3145. MH_SCORE_CONTROL = 100
  3146. MH_SCORE_CONTEST = 50
  3147. TC_GAME_LENGTH = 1500
  3148. TC_CAPTURE_TICK_RATE = 0.5
  3149. TC_CAPTURE_RATE = [(0, 0.0),
  3150. (1, 1.0),
  3151. (5, 4.0),
  3152. (10, 7.0),
  3153. (15, 9.0)]
  3154. TC_NEW_TEAM_ENTERS_SHOUT_COOLDOWN = 5.0
  3155. TC_DEFAULT_BASE_COUNT_TO_USE = 5
  3156. TC_SCORE_OCCUPY_INTERVAL = 5.0
  3157. TC_SCORE_OCCUPY_PERHILL = 35
  3158. TC_SCORE_CLAIM = 150
  3159. TC_SCORE_CONTROL = 100
  3160. TC_SCORE_KILL_KILLERINHILL = 100
  3161. TC_SCORE_KILL_VICTIMINHILL = 50
  3162. TC_SCORE_CONTEND_INTERVAL = 5.0
  3163. TC_SCORE_CONTEND_HILL = 25
  3164. TC_BASENAMES = ['A',
  3165. 'B',
  3166. 'C',
  3167. 'D',
  3168. 'E',
  3169. 'F',
  3170. 'G',
  3171. 'H',
  3172. 'I',
  3173. 'J']
  3174. OC_GAME_LENGTH = DEFAULT_GAME_LENGTH
  3175. OC_TEAM_SCORE_FOR_KILLING_CARRIER = 1
  3176. OC_TEAM_SCORE_FOR_BOMB_EXPLOSION_IN_BASE = 3
  3177. OC_EXTRA_INDIVIDUAL_SCORE_FOR_KILL_CARRIER = OC_TEAM_SCORE_FOR_KILLING_CARRIER - 1
  3178. OC_BOMB_RESPAWN_TIME_ON_EXPLOSION = 10.0
  3179. OC_SCORE_FOR_BOMB_EXPLOSION_IN_BASE = 50
  3180. OC_SCORE_CARRY_SCORE = 50
  3181. OC_SCORE_CARRY_INTERVAL = 5.0
  3182. OC_SCORE_DISTRACT = 100
  3183. OC_SCORE_CARRIER_DEFEND = 100
  3184. OC_CARRIER_THREAT_RADIUS = 10.0
  3185. OC_SCORE_DEFEND = 50
  3186. OC_THREAT_RADIUS = 20.0
  3187. OC_SCORE_ASSAULT = 100
  3188. OC_SCORE_INTERCEPT = 50
  3189. OC_SCORE_SURVIVE = 50
  3190. OC_SCORE_OCCUPY_SCORE = 50
  3191. OC_SCORE_OCCUPY_INTERVAL = 5.0
  3192. OC_SCORE_FOR_DISPOSAL = 25
  3193. OC_SCORE_FOR_DISPOSAL_INTERCEPT = 25
  3194. VIP_NOOF_ROUNDS_BEFORE_NEXT_MAP = 3
  3195. VIP_GAME_LENGTH = DEFAULT_GAME_LENGTH
  3196. VIP_TEAM_SCORE_FOR_KILL = 10
  3197. VIP_SCORE_VIP_KILL_CONSTANT = 0
  3198. VIP_SCORE_VIP_KILL_PERCENT = 10
  3199. VIP_SCORE_OWN_VIP_KILL = 0
  3200. VIP_SCORE_KILL_AS_VIP = 100
  3201. VIP_MINIMUM_TEAM_SIZE_TO_START = 1
  3202. VIP_SELECTION_DELAY = 3.0
  3203. VIP_SCORE_LIVEVIP_SCORE = 50
  3204. VIP_SCORE_LIVEVIP_INTERVAL = 10.0
  3205. VIP_SCORE_ESCORT_SCORE = 10
  3206. VIP_SCORE_ESCORT_INTERVAL = 5.0
  3207. VIP_ESCORT_RADIUS = 15.0
  3208. VIP_ESCORT_HYSTERESIS = 10.0
  3209. VIP_THREAT_RADIUS = 20.0
  3210. VIP_SCORE_DISTRACT = 50
  3211. VIP_SCORE_DEFEND = 150
  3212. VIP_SELECTION_DELAY = 10.0
  3213. VIP_SUDDEN_DEATH_DAMAGE = 1
  3214. VIP_SUDDEN_DEATH_DAMAGE_FREQUENCY = 1
  3215. VIP_SUDDEN_DEATH_TIME = 60
  3216. VIP_SUDDEN_DEATH_DELAY_AFTER_VIP_KILL = 5
  3217. DIA_GAME_LENGTH = DEFAULT_GAME_LENGTH
  3218. DIA_DEFAULT_MAX_ACTIVE_DIAMONDS = 2
  3219. DIA_HIGHEST_DIAMOND_CHANCE = 1.0 / 100.0
  3220. DIA_LOWEST_DIAMOND_CHANCE = 1.0 / 500.0
  3221. DIA_INDIVIDUAL_SCORE_FOR_MINED_DIAMOND = 10
  3222. DIA_INDIVIDUAL_SCORE_FOR_CASHED_IN_DIAMOND = 100
  3223. DIA_DEFAULT_ACTIVE_BASES_AT_ONCE = 1
  3224. DIA_DIAMONDS_TO_GET_FOR_MAP_ROTATION = 15
  3225. DIA_DIAMONDS_TO_TRIGGER_MAP_VOTE = DIA_DIAMONDS_TO_GET_FOR_MAP_ROTATION - 3
  3226. DIA_TIME_BETWEEN_DIAMOND_SPAWN = 15
  3227. DIA_SCORE_CARRY_SCORE = 50
  3228. DIA_SCORE_CARRY_INTERVAL = 5.0
  3229. DIA_SCORE_ESCORT_SCORE = 10
  3230. DIA_SCORE_ESCORT_INTERVAL = 5.0
  3231. DIA_ESCORT_RADIUS = 15.0
  3232. DIA_ESCORT_HYSTERESIS = 10.0
  3233. DIA_SCORE_DISTRACT = 100
  3234. DIA_SCORE_CARRIER_DEFEND = 100
  3235. DIA_CARRIER_THREAT_RADIUS = 10.0
  3236. DIA_SCORE_DEFEND = 50
  3237. DIA_THREAT_RADIUS = 20.0
  3238. DIA_SCORE_ASSAULT = 50
  3239. DIA_SCORE_INTERCEPT = 50
  3240. DEM_GAME_LENGTH = DEFAULT_GAME_LENGTH
  3241. DEM_DEFAULT_BUILD_TIME = 30
  3242. DEM_REPAIR_WARNING_PERCENT = 75
  3243. DEM_TIME_TO_WAIT_FOR_AIRSTRIKE = 5.0
  3244. DEM_BUILD_SPACE_PERCENT = 0
  3245. DEM_SCORE_DESTROY_SCORE = 25
  3246. DEM_SCORE_DESTROY_INTERVAL = 50
  3247. DEM_SCORE_REPAIR_SCORE = 50
  3248. DEM_SCORE_REPAIR_INTERVAL = 50
  3249. DEM_ALLOW_SCORE_REPAIR_BUILDINGMODE = False
  3250. DEM_SCORE_DEFEND = 100
  3251. DEM_SCORE_ASSAULT = 50
  3252. CTF_GAME_LENGTH = DEFAULT_GAME_LENGTH * 2.0
  3253. CTF_CLASSIC_GAME_LENGTH = CLASSIC_GAME_LENGTH * 2.0
  3254. CTF_TEAM_SCORE_FOR_CAPTURED_INTEL = 1
  3255. CTF_INDIVIDUAL_SCORE_FOR_CAPTURED_INTEL = 10
  3256. CTF_INDIVIDUAL_SCORE_FOR_RETURNING_INTEL = 1
  3257. CTF_INTEL_RETURN_TIME = 60
  3258. CLASSIC_CTF_BASE_CAPTURE_DISTANCE = 5
  3259. CLASSIC_CTF_INTEL_MIN_RADIUS_FROM_BASE = 3
  3260. CTF_SCORE_CARRY_SCORE = 50
  3261. CTF_SCORE_CARRY_INTERVAL = 5.0
  3262. CTF_SCORE_ESCORT_SCORE = 10
  3263. CTF_SCORE_ESCORT_INTERVAL = 5.0
  3264. CTF_ESCORT_RADIUS = 20.0
  3265. CTF_ESCORT_HYSTERESIS = 1.0
  3266. CTF_SCORE_DISTRACT = 100
  3267. CTF_SCORE_CARRIER_DEFEND = 100
  3268. CTF_CARRIER_THREAT_RADIUS = 10.0
  3269. CTF_SCORE_DEFEND = 50
  3270. CTF_THREAT_RADIUS = 20.0
  3271. CTF_SCORE_ASSAULT = 50
  3272. CTF_SCORE_ASSAULT_ENEMY = 50
  3273. CTF_SCORE_INTERCEPT = 50
  3274. CTF_SCORE_CLAIM = 100
  3275. DEFAULT_MODE_GAME_LENGTH = {'zom': ZOM_ROUND_TIME,
  3276. 'tdm': TDM_GAME_LENGTH,
  3277. 'dia': DIA_GAME_LENGTH,
  3278. 'oc': OC_GAME_LENGTH,
  3279. 'dem': DEM_GAME_LENGTH,
  3280. 'mh': MH_GAME_LENGTH,
  3281. 'vip': VIP_GAME_LENGTH,
  3282. 'ctf': CTF_GAME_LENGTH,
  3283. 'tc': TC_GAME_LENGTH,
  3284. 'cctf': CTF_CLASSIC_GAME_LENGTH,
  3285. 'tut': DEFAULT_GAME_LENGTH}

1.x constants, protocol version 122 (main and gamemode)