1. #Embedded file name: C:\AoSBuild\client\standalone\build\pyi.win32\run\out00-PYZ.pyz\shared.constants
  2. import json
  3. def parse_constant_overrides():
  4. constants_file = 'constants.txt'
  5. import os
  6. if os.path.exists(constants_file):
  7. print 'Loading overrides from', constants_file
  8. f = open(constants_file)
  9. for line in f:
  10. try:
  11. attribute_to_override, override_value = line.split('=', 1)
  12. attribute_to_override = attribute_to_override.strip()
  13. override_value = override_value.split('#')[0]
  14. override_value = override_value.strip()
  15. try:
  16. existing_value = globals()[attribute_to_override]
  17. except KeyError:
  18. print 'Constant', attribute_to_override, 'does not exist'
  19. if isinstance(existing_value, bool):
  20. globals()[attribute_to_override] = override_value in ('True', 'true', '1')
  21. elif isinstance(existing_value, float):
  22. globals()[attribute_to_override] = float(override_value)
  23. elif isinstance(existing_value, int):
  24. globals()[attribute_to_override] = int(override_value)
  25. elif isinstance(existing_value, basestring):
  26. globals()[attribute_to_override] = override_value.strip('"')
  27. else:
  28. override_value = override_value.replace("'", '"')
  29. override_value = override_value.replace('+', '')
  30. globals()[attribute_to_override] = json.loads(override_value)
  31. print 'Override applied: %s = %s (default %s)' % (attribute_to_override, override_value, str(existing_value))
  32. except:
  33. if len(line) > 2:
  34. print 'Skipped line:', line
  35. GAME_VERSION = 83
  36. WORKING, CONTENT, SANDBOX, DEFAULT, MATCHMAKING, SCORE_RANK = xrange(6)
  37. BRANCH = WORKING
  38. if BRANCH == SANDBOX:
  39. GAME_VERSION += 200
  40. elif BRANCH == CONTENT:
  41. GAME_VERSION += 100
  42. MASTER_VERSION = 31
  43. REGION_US_WEST, REGION_US_EAST, REGION_EUROPE, REGION_AUSTRALIA = xrange(4)
  44. SERVER_REGIONS = {REGION_US_WEST: 'us_west',
  45. REGION_US_EAST: 'us_east',
  46. REGION_EUROPE: 'europe',
  47. REGION_AUSTRALIA: 'australia'}
  48. VALID_PACKET_AGE_ALLOWANCE_PAST = 60
  49. VALID_PACKET_AGE_ALLOWANCE_FUTURE = 30
  50. MENU_WINDOW_WIDTH = 800
  51. MENU_WINDOW_HEIGHT = 600
  52. MAX_DISTANCE_SHOOT_DISCREPANCY = 4
  53. MAX_VELOCITY_DISCREPANCY = 4
  54. SERVER_SHOOT_INTERVAL_TOLERANCE = 5
  55. FACE_RIGHT, FACE_LEFT, FACE_BACK, FACE_FRONT, FACE_TOP, FACE_BOTTOM = xrange(6)
  56. DEBUG_COMMAND_1 = '/bot qadd'
  57. DEBUG_COMMAND_2 = '/bot add 1 g'
  58. DEBUG_COMMAND_3 = '/bot add 1 b'
  59. DEBUG_COMMAND_4 = '/bot wake toggle'
  60. DEBUG_COMMAND_5 = '/bot shoot toggle'
  61. DEBUG_COMMAND_6 = '/bot tool'
  62. DEBUG_COMMAND_7 = '/airstrike'
  63. DEBUG_COMMAND_8 = '/'
  64. DEBUG_COMMAND_9 = '/'
  65. DEBUG_COMMAND_10 = '/'
  66. DEBUGDRAW_LINE, DEBUGDRAW_CUBE = xrange(2)
  67. PACKET_COMPRESSION = 6
  68. PACKET_SEQUENCED, PACKET_UNSEQUENCED = xrange(2)
  69. PACKET_SENT, PACKET_RECEIVED = xrange(2)
  70. QUANTIZED_INTERVAL_BLOCK_DAMAGE = 0.25
  71. QUANTIZED_INVERSE_BLOCK_DAMAGE = 1.0 / QUANTIZED_INTERVAL_BLOCK_DAMAGE
  72. DEBRIS_DRAW_RANGE = 128.0
  73. CHARACTER_DRAW_RANGE = 192.0
  74. ENOUGH_AMMO_COLOR = (255, 228, 0, 255)
  75. NOT_ENOUGH_AMMO_COLOR = (204, 28, 24, 255)
  76. DEAD_PLAYER_NAME_COLOR = (255, 0, 0, 255)
  77. DEAD_PLAYER_ICON_COLOR = (255, 0, 0, 255)
  78. TEAM_SPECTATOR, TEAM_NEUTRAL, TEAM1, TEAM2 = xrange(4)
  79. TEAM_NAMES = {TEAM_SPECTATOR: 'SPECTATOR',
  80. TEAM_NEUTRAL: 'NEUTRAL',
  81. TEAM1: 'TEAM1_COLOR',
  82. TEAM2: 'TEAM2_COLOR'}
  83. TEAM_COLOURS = {TEAM_SPECTATOR: (255, 255, 255),
  84. TEAM_NEUTRAL: (128, 128, 128),
  85. TEAM1: (44, 117, 179),
  86. TEAM2: (137, 179, 44)}
  87. UI_TEAM_COLOURS = {TEAM1: (44, 117, 179),
  88. TEAM2: (137, 179, 44)}
  89. BASE_CONTESTED_COLOUR = (255, 100, 0)
  90. TEAM_PLAYERS_COUNT_VALUE, TEAM_SCORE_VALUE, TEAM_4DIGIT_SCORE_VALUE, TEAM_SCORE_INACTIVE = xrange(4)
  91. 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)
  92. TC_DETAIL_NOT_REQUIRED = [TC_BASE_ENTERING,
  93. TC_BASE_LEAVING,
  94. TC_BASE_CONTENDED,
  95. TC_BASE_UNCONTENDED]
  96. CLASS_SOLDIER, CLASS_SCOUT, CLASS_ENGINEER, 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_NOOF = xrange(13)
  97. DEFAULT_TEAM_CLASSES = [CLASS_SOLDIER,
  98. CLASS_SCOUT,
  99. CLASS_ENGINEER,
  100. CLASS_MINER]
  101. CLASSIC_TEAM_CLASSES = [CLASS_CLASSIC_SOLDIER]
  102. MAFIA_TEAM_CLASSES = [CLASS_GANGSTER_1,
  103. CLASS_GANGSTER_2,
  104. CLASS_GANGSTER_3,
  105. CLASS_GANGSTER_4]
  106. CLASS_NAMES = {CLASS_SOLDIER: 'SOLDIER',
  107. CLASS_SCOUT: 'SCOUT',
  108. CLASS_ENGINEER: 'ENGINEER',
  109. CLASS_MINER: 'MINER',
  110. CLASS_ZOMBIE: 'ZOMBIE',
  111. CLASS_CLASSIC_SOLDIER: 'CLASSIC_SOLDIER',
  112. CLASS_GANGSTER_1: 'GANGSTER_1_NAME',
  113. CLASS_GANGSTER_2: 'GANGSTER_2_NAME',
  114. CLASS_GANGSTER_3: 'GANGSTER_3_NAME',
  115. CLASS_GANGSTER_4: 'GANGSTER_4_NAME',
  116. CLASS_GANGSTER_VIP_1: 'GANGSTER_VIP_1_NAME',
  117. CLASS_GANGSTER_VIP_2: 'GANGSTER_VIP_2_NAME'}
  118. MAFIA_VIPS = {TEAM1: CLASS_GANGSTER_VIP_1,
  119. TEAM2: CLASS_GANGSTER_VIP_2}
  120. PLAYER_INTERACTION_EXPIRY_SECONDS = 5.0
  121. VIP_DAMAGE_MULTIPLIER = 0.5
  122. SOLDIER_HEADSHOT_DAMAGE_MULTIPLIER = 0.8
  123. SCOUT_HEADSHOT_DAMAGE_MULTIPLIER = 1.5
  124. ENGINEER_HEADSHOT_DAMAGE_MULTIPLIER = 1.5
  125. MINER_HEADSHOT_DAMAGE_MULTIPLIER = 0.5
  126. ZOMBIE_HEADSHOT_DAMAGE_MULTIPLIER = 1.0
  127. CLASSIC_SOLDIER_HEADSHOT_DAMAGE_MULTIPLIER = 1.0
  128. GANGSTER_HEADSHOT_DAMAGE_MULTIPLIER = 1.2
  129. SOLDIER_DAMAGE_MULTIPLIER = 0.8
  130. SCOUT_DAMAGE_MULTIPLIER = 1.5
  131. ENGINEER_DAMAGE_MULTIPLIER = 1.3
  132. MINER_DAMAGE_MULTIPLIER = 1.0
  133. ZOMBIE_DAMAGE_MULTIPLIER = 0.6
  134. CLASSIC_SOLDIER_DAMAGE_MULTIPLIER = 1.0
  135. GANGSTER_DAMAGE_MULTIPLIER = 1.0
  136. SOLDIER_ACCEL_MULTIPLIER = 0.6
  137. SCOUT_ACCEL_MULTIPLIER = 0.8
  138. ENGINEER_ACCEL_MULTIPLIER = 0.6
  139. MINER_ACCEL_MULTIPLIER = 0.6
  140. ZOMBIE_ACCEL_MULTIPLIER = 0.5
  141. CLASSIC_SOLDIER_ACCEL_MULTIPLIER = 1.0
  142. GANGSTER_ACCEL_MULTIPLIER = 0.7
  143. SOLDIER_SPRINT_MULTIPLIER = 1.2
  144. SCOUT_SPRINT_MULTIPLIER = 1.3
  145. ENGINEER_SPRINT_MULTIPLIER = 1.2
  146. MINER_SPRINT_MULTIPLIER = 1.2
  147. ZOMBIE_SPRINT_MULTIPLIER = 1.5
  148. CLASSIC_SOLDIER_SPRINT_MULTIPLIER = 1.33
  149. GANGSTER_SPRINT_MULTIPLIER = 1.5
  150. SOLDIER_CROUCH_SNEAK_MULTIPLIER = 0.5
  151. SCOUT_CROUCH_SNEAK_MULTIPLIER = 0.5
  152. ENGINEER_CROUCH_SNEAK_MULTIPLIER = 0.5
  153. MINER_CROUCH_SNEAK_MULTIPLIER = 0.5
  154. ZOMBIE_CROUCH_SNEAK_MULTIPLIER = 0.5
  155. CLASSIC_SOLDIER_CROUCH_SNEAK_MULTIPLIER = 0.5
  156. GANGSTER_CROUCH_SNEAK_MULTIPLIER = 0.5
  157. SOLDIER_FALL_ON_WATER_DAMAGE_MULTIPLIER = 0.5
  158. SCOUT_FALL_ON_WATER_DAMAGE_MULTIPLIER = 0.5
  159. ENGINEER_FALL_ON_WATER_DAMAGE_MULTIPLIER = 0.0
  160. MINER_FALL_ON_WATER_DAMAGE_MULTIPLIER = 0.5
  161. ZOMBIE_FALL_ON_WATER_DAMAGE_MULTIPLIER = 0.25
  162. CLASSIC_SOLDIER_FALL_ON_WATER_DAMAGE_MULTIPLIER = 1.0
  163. GANGSTER_FALL_ON_WATER_DAMAGE_MULTIPLIER = 0.5
  164. SOLDIER_JUMP_MULTIPLIER = 1.2
  165. SCOUT_JUMP_MULTIPLIER = 1.4
  166. ENGINEER_JUMP_MULTIPLIER = 1.0
  167. MINER_JUMP_MULTIPLIER = 1.2
  168. ZOMBIE_JUMP_MULTIPLIER = 1.2
  169. CLASSIC_SOLDIER_JUMP_MULTIPLIER = 1.0
  170. GANGSTER_JUMP_MULTIPLIER = 1.2
  171. SOLDIER_WATER_FRICTION = 12.0
  172. SCOUT_WATER_FRICTION = 12.0
  173. ENGINEER_WATER_FRICTION = 12.0
  174. MINER_WATER_FRICTION = 12.0
  175. ZOMBIE_WATER_FRICTION = 4.0
  176. CLASSIC_SOLDIER_WATER_FRICTION = 12.0
  177. GANGSTER_WATER_FRICTION = 12.0
  178. PLAYER_RADIUS = 0.45
  179. PLAYER_CENTER_VERTICAL_OFFSET = 1.5 / 2
  180. CROUCHING_PLAYER_CENTER_VERTICAL_OFFSET = 2.5 / 2
  181. LINE_OF_SIGHT_HEAD, LINE_OF_SIGHT_TORSO, LINE_OF_SIGHT_LEGS = xrange(3)
  182. LINE_OF_SIGHT_EXPLOSION_MODIFIERS = {LINE_OF_SIGHT_HEAD: 0.5,
  183. LINE_OF_SIGHT_TORSO: 0.3,
  184. LINE_OF_SIGHT_LEGS: 0.2}
  185. PLAYER_STANDING_POS_ABOVE_GROUND = 2.25
  186. PLAYER_CROUCHING_POS_ABOVE_GROUND = 1.35
  187. PLAYER_STANDING_HEIGHT = PLAYER_STANDING_POS_ABOVE_GROUND + PLAYER_RADIUS
  188. PLAYER_CROUCHING_HEIGHT = PLAYER_CROUCHING_POS_ABOVE_GROUND + PLAYER_RADIUS
  189. TEAM_LOCK_DIFFERENCE_COUNT_TOLERANCE = 2
  190. PART_HEAD, PART_TORSO, PART_ARMS, PART_LEFT_LEG, PART_RIGHT_LEG, PART_TORSO_CROUCH, PART_LEG_CROUCH, PART_ENTITY1, PART_ENTITY2 = xrange(9)
  191. BODY_PART_NAMES = {PART_HEAD: 'head',
  192. PART_TORSO: 'torso',
  193. PART_ARMS: 'arms',
  194. PART_LEFT_LEG: 'left leg',
  195. PART_RIGHT_LEG: 'right leg',
  196. PART_TORSO_CROUCH: 'torso crouch',
  197. PART_LEG_CROUCH: 'leg crouch',
  198. PART_ENTITY1: 'entity 1',
  199. PART_ENTITY2: 'entity 2'}
  200. CLASS_BODY_PARTS = {CLASS_SOLDIER: ['HEAD_MODEL_SOLDIER',
  201. 'TORSO_MODEL_SOLDIER',
  202. 'ARMS_MODEL_SOLDIER',
  203. 'LEG_MODEL_SOLDIER',
  204. 'LEG_MODEL_SOLDIER',
  205. 'TORSO_CROUCH_MODEL',
  206. 'LEG_CROUCH_MODEL'],
  207. CLASS_SCOUT: ['HEAD_MODEL_SCOUT',
  208. 'TORSO_MODEL_SCOUT',
  209. 'ARMS_MODEL_SCOUT',
  210. 'LEG_MODEL_SCOUT',
  211. 'LEG_MODEL_SCOUT',
  212. 'TORSO_CROUCH_MODEL',
  213. 'LEG_CROUCH_MODEL'],
  214. CLASS_ENGINEER: ['HEAD_MODEL_ENGINEER',
  215. 'TORSO_MODEL_ENGINEER',
  216. 'ARMS_MODEL_ENGINEER',
  217. 'LEG_MODEL_ENGINEER',
  218. 'LEG_MODEL_ENGINEER',
  219. 'TORSO_CROUCH_MODEL',
  220. 'LEG_CROUCH_MODEL'],
  221. CLASS_MINER: ['HEAD_MODEL_MINER',
  222. 'TORSO_MODEL_MINER',
  223. 'ARMS_MODEL_MINER',
  224. 'LEG_MODEL_MINER',
  225. 'LEG_MODEL_MINER',
  226. 'TORSO_CROUCH_MODEL',
  227. 'LEG_CROUCH_MODEL'],
  228. CLASS_ZOMBIE: ['HEAD_MODEL_ZOMBIE',
  229. 'TORSO_MODEL_ZOMBIE',
  230. 'ARMS_MODEL_SOLDIER',
  231. 'LEG_MODEL_ZOMBIE',
  232. 'LEG_MODEL_ZOMBIE',
  233. 'TORSO_CROUCH_MODEL',
  234. 'LEG_CROUCH_MODEL'],
  235. CLASS_CLASSIC_SOLDIER: ['HEAD_MODEL_DEUCE',
  236. 'TORSO_MODEL_DEUCE',
  237. 'ARMS_MODEL_DEUCE',
  238. 'LEG_MODEL_DEUCE',
  239. 'LEG_MODEL_DEUCE',
  240. 'TORSO_CROUCH_MODEL',
  241. 'LEG_CROUCH_MODEL'],
  242. CLASS_GANGSTER_1: ['HEAD_MODEL_GANGSTER_1',
  243. 'TORSO_MODEL_GANGSTER_1',
  244. 'ARMS_MODEL_GANGSTER_1',
  245. 'LEG_MODEL_GANGSTER_1',
  246. 'LEG_MODEL_GANGSTER_1',
  247. 'TORSO_CROUCH_MODEL',
  248. 'LEG_CROUCH_MODEL'],
  249. CLASS_GANGSTER_2: ['HEAD_MODEL_GANGSTER_2',
  250. 'TORSO_MODEL_GANGSTER_2',
  251. 'ARMS_MODEL_GANGSTER_2',
  252. 'LEG_MODEL_GANGSTER_2',
  253. 'LEG_MODEL_GANGSTER_2',
  254. 'TORSO_CROUCH_MODEL',
  255. 'LEG_CROUCH_MODEL'],
  256. CLASS_GANGSTER_3: ['HEAD_MODEL_GANGSTER_3',
  257. 'TORSO_MODEL_GANGSTER_3',
  258. 'ARMS_MODEL_GANGSTER_3',
  259. 'LEG_MODEL_GANGSTER_3',
  260. 'LEG_MODEL_GANGSTER_3',
  261. 'TORSO_CROUCH_MODEL',
  262. 'LEG_CROUCH_MODEL'],
  263. CLASS_GANGSTER_4: ['HEAD_MODEL_GANGSTER_4',
  264. 'TORSO_MODEL_GANGSTER_4',
  265. 'ARMS_MODEL_GANGSTER_4',
  266. 'LEG_MODEL_GANGSTER_4',
  267. 'LEG_MODEL_GANGSTER_4',
  268. 'TORSO_CROUCH_MODEL',
  269. 'LEG_CROUCH_MODEL'],
  270. CLASS_GANGSTER_VIP_1: ['HEAD_MODEL_GANGSTER_VIP_1',
  271. 'TORSO_MODEL_GANGSTER_VIP_1',
  272. 'ARMS_MODEL_GANGSTER_VIP_1',
  273. 'LEG_MODEL_GANGSTER_VIP_1',
  274. 'LEG_MODEL_GANGSTER_VIP_1',
  275. 'TORSO_CROUCH_MODEL',
  276. 'LEG_CROUCH_MODEL'],
  277. CLASS_GANGSTER_VIP_2: ['HEAD_MODEL_GANGSTER_VIP_2',
  278. 'TORSO_MODEL_GANGSTER_VIP_2',
  279. 'ARMS_MODEL_GANGSTER_VIP_2',
  280. 'LEG_MODEL_GANGSTER_VIP_2',
  281. 'LEG_MODEL_GANGSTER_VIP_2',
  282. 'TORSO_CROUCH_MODEL',
  283. 'LEG_CROUCH_MODEL']}
  284. CLASS_BODY_PARTS_FILENAMES = {CLASS_SOLDIER: ['Character_Soldier_Head',
  285. 'Character_Soldier_Body',
  286. 'Character_Arms_Collision',
  287. 'Character_Soldier_Leg',
  288. 'Character_Soldier_Leg',
  289. 'playertorsoc',
  290. 'playerlegc'],
  291. CLASS_SCOUT: ['Character_Scout_Head',
  292. 'Character_Scout_Body',
  293. 'Character_Arms_Collision',
  294. 'Character_Scout_Leg',
  295. 'Character_Scout_Leg',
  296. 'playertorsoc',
  297. 'playerlegc'],
  298. CLASS_ENGINEER: ['Character_Engineer_Head',
  299. 'Character_Engineer_Body',
  300. 'Character_Arms_Collision',
  301. 'Character_Engineer_Leg',
  302. 'Character_Engineer_Leg',
  303. 'playertorsoc',
  304. 'playerlegc'],
  305. CLASS_MINER: ['Character_Miner_Head',
  306. 'Character_Miner_Body',
  307. 'Character_Arms_Collision',
  308. 'Character_Miner_Leg',
  309. 'Character_Miner_Leg',
  310. 'playertorsoc',
  311. 'playerlegc'],
  312. CLASS_ZOMBIE: ['Character_Zombie_Head',
  313. 'Character_Zombie_Body',
  314. 'Character_Arms_Collision',
  315. 'Character_Zombie_Leg',
  316. 'Character_Zombie_Leg',
  317. 'playertorsoc',
  318. 'playerlegc'],
  319. CLASS_CLASSIC_SOLDIER: ['Character_Deuce_Head',
  320. 'Character_Deuce_Body',
  321. 'Character_Arms_Collision',
  322. 'Character_Deuce_Leg',
  323. 'Character_Deuce_Leg',
  324. 'playertorsoc',
  325. 'playerlegc'],
  326. CLASS_GANGSTER_1: ['Character_Gangster1_Head',
  327. 'Character_Gangster1_Body',
  328. 'Character_Arms_Collision',
  329. 'Character_Gangster1_Leg',
  330. 'Character_Gangster1_Leg',
  331. 'playertorsoc',
  332. 'playerlegc'],
  333. CLASS_GANGSTER_2: ['Character_Gangster2_Head',
  334. 'Character_Gangster2_Body',
  335. 'Character_Arms_Collision',
  336. 'Character_Gangster2_Leg',
  337. 'Character_Gangster2_Leg',
  338. 'playertorsoc',
  339. 'playerlegc'],
  340. CLASS_GANGSTER_3: ['Character_Gangster3_Head',
  341. 'Character_Gangster3_Body',
  342. 'Character_Arms_Collision',
  343. 'Character_Gangster3_Leg',
  344. 'Character_Gangster3_Leg',
  345. 'playertorsoc',
  346. 'playerlegc'],
  347. CLASS_GANGSTER_4: ['Character_Gangster4_Head',
  348. 'Character_Gangster4_Body',
  349. 'Character_Arms_Collision',
  350. 'Character_Gangster4_Leg',
  351. 'Character_Gangster4_Leg',
  352. 'playertorsoc',
  353. 'playerlegc'],
  354. CLASS_GANGSTER_VIP_1: ['Character_GangsterVIP1_Head',
  355. 'Character_GangsterVIP1_Body',
  356. 'Character_Arms_Collision',
  357. 'Character_GangsterVIP1_Leg',
  358. 'Character_GangsterVIP1_Leg',
  359. 'playertorsoc',
  360. 'playerlegc'],
  361. CLASS_GANGSTER_VIP_2: ['Character_GangsterVIP2_Head',
  362. 'Character_GangsterVIP2_Body',
  363. 'Character_Arms_Collision',
  364. 'Character_GangsterVIP2_Leg',
  365. 'Character_GangsterVIP2_Leg',
  366. 'playertorsoc',
  367. 'playerlegc']}
  368. CLASS_BODY_PARTS_OFFSETS = {CLASS_SOLDIER: [(0.0, 0.0, 5.5),
  369. (-1.0, 1.5, -9.0),
  370. (0.0, -8.0, -5.0),
  371. (0.0, 0.0, -12.0),
  372. (0.0, 0.0, -12.0),
  373. (0.0, 6.0, -5.0),
  374. (0.0, 0.0, -5.0)],
  375. CLASS_SCOUT: [(0.0, 0.0, 5.5),
  376. (0.0, 1.5, -9.0),
  377. (0.0, -8.0, -5.0),
  378. (0.0, 0.0, -12.0),
  379. (0.0, 0.0, -12.0),
  380. (0.0, 6.0, -5.0),
  381. (0.0, 0.0, -5.0)],
  382. CLASS_ENGINEER: [(0.0, 0.0, 5.5),
  383. (0.0, 0.0, -9.0),
  384. (0.0, -8.0, -5.0),
  385. (0.0, 0.0, -12.0),
  386. (0.0, 0.0, -12.0),
  387. (0.0, 6.0, -5.0),
  388. (0.0, 0.0, -5.0)],
  389. CLASS_MINER: [(0.0, 0.0, 5.5),
  390. (0.0, 0.0, -9.0),
  391. (0.0, -8.0, -5.0),
  392. (0.0, 0.0, -12.0),
  393. (0.0, 0.0, -12.0),
  394. (0.0, 6.0, -5.0),
  395. (0.0, 0.0, -5.0)],
  396. CLASS_ZOMBIE: [(0.0, 0.0, 5.5),
  397. (0.0, 0.0, -9.0),
  398. (0.0, 0.0, 0.0),
  399. (0.0, 0.0, -12.0),
  400. (0.0, 0.0, -12.0),
  401. (0.0, 6.0, -5.0),
  402. (0.0, 0.0, -5.0)],
  403. CLASS_CLASSIC_SOLDIER: [(0.0, 0.0, 5.5),
  404. (-1.0, 1.5, -9.0),
  405. (0.0, -8.0, -5.0),
  406. (0.0, 0.0, -12.0),
  407. (0.0, 0.0, -12.0),
  408. (0.0, 6.0, -5.0),
  409. (0.0, 0.0, -5.0)],
  410. CLASS_GANGSTER_1: [(0.0, 0.0, 5.5),
  411. (-1.0, 1.5, -9.0),
  412. (0.0, -8.0, -5.0),
  413. (0.0, 0.0, -12.0),
  414. (0.0, 0.0, -12.0),
  415. (0.0, 6.0, -5.0),
  416. (0.0, 0.0, -5.0)],
  417. CLASS_GANGSTER_2: [(0.0, 0.0, 5.5),
  418. (-1.0, 1.5, -9.0),
  419. (0.0, -8.0, -5.0),
  420. (0.0, 0.0, -12.0),
  421. (0.0, 0.0, -12.0),
  422. (0.0, 6.0, -5.0),
  423. (0.0, 0.0, -5.0)],
  424. CLASS_GANGSTER_3: [(0.0, 0.0, 5.5),
  425. (-1.0, 1.5, -9.0),
  426. (0.0, -8.0, -5.0),
  427. (0.0, 0.0, -12.0),
  428. (0.0, 0.0, -12.0),
  429. (0.0, 6.0, -5.0),
  430. (0.0, 0.0, -5.0)],
  431. CLASS_GANGSTER_4: [(0.0, 0.0, 5.5),
  432. (-1.0, 1.5, -9.0),
  433. (0.0, -8.0, -5.0),
  434. (0.0, 0.0, -12.0),
  435. (0.0, 0.0, -12.0),
  436. (0.0, 6.0, -5.0),
  437. (0.0, 0.0, -5.0)],
  438. CLASS_GANGSTER_VIP_1: [(0.0, 0.0, 5.5),
  439. (-1.0, 1.5, -9.0),
  440. (0.0, -8.0, -5.0),
  441. (0.0, 0.0, -12.0),
  442. (0.0, 0.0, -12.0),
  443. (0.0, 6.0, -5.0),
  444. (0.0, 0.0, -5.0)],
  445. CLASS_GANGSTER_VIP_2: [(0.0, 0.0, 5.5),
  446. (-1.0, 1.5, -9.0),
  447. (0.0, -8.0, -5.0),
  448. (0.0, 0.0, -12.0),
  449. (0.0, 0.0, -12.0),
  450. (0.0, 6.0, -5.0),
  451. (0.0, 0.0, -5.0)]}
  452. BODY_PARTS_X = [0.0,
  453. 0.0,
  454. 0.0,
  455. -0.25,
  456. 0.25,
  457. 0.0,
  458. 0.0]
  459. BODY_PARTS_Y = [0.0,
  460. 0.0,
  461. 0.0,
  462. 0.0,
  463. 0.0,
  464. 0.0,
  465. 0.0]
  466. BODY_PARTS_Z = [0.3,
  467. 0.3,
  468. 0.5,
  469. 1.1,
  470. 1.1,
  471. 0.0,
  472. 0.7]
  473. BODY_PARTS_SIZE = 0.05
  474. BODY_PART_LEG_CROUCH_Y = -0.3
  475. BODY_PART_ARMS_CROUCH_Z = 0.4
  476. UPPER_ARM, LOWER_ARM = xrange(2)
  477. CLASS_FPS_ARMS = {CLASS_SOLDIER: ['UPPER_ARM_MODEL_SOLDIER', 'LOWER_ARM_MODEL_SOLDIER'],
  478. CLASS_SCOUT: ['UPPER_ARM_MODEL_SCOUT', 'LOWER_ARM_MODEL_SCOUT'],
  479. CLASS_ENGINEER: ['UPPER_ARM_MODEL_ENGINEER', 'LOWER_ARM_MODEL_ENGINEER'],
  480. CLASS_MINER: ['UPPER_ARM_MODEL_MINER', 'LOWER_ARM_MODEL_MINER'],
  481. CLASS_ZOMBIE: ['', ''],
  482. CLASS_CLASSIC_SOLDIER: ['UPPER_ARM_MODEL_DEUCE', 'LOWER_ARM_MODEL_DEUCE'],
  483. CLASS_GANGSTER_1: ['UPPER_ARM_MODEL_GANGSTER_1', 'LOWER_ARM_MODEL_GANGSTER_1'],
  484. CLASS_GANGSTER_2: ['UPPER_ARM_MODEL_GANGSTER_2', 'LOWER_ARM_MODEL_GANGSTER_2'],
  485. CLASS_GANGSTER_3: ['UPPER_ARM_MODEL_GANGSTER_3', 'LOWER_ARM_MODEL_GANGSTER_3'],
  486. CLASS_GANGSTER_4: ['UPPER_ARM_MODEL_GANGSTER_4', 'LOWER_ARM_MODEL_GANGSTER_4'],
  487. CLASS_GANGSTER_VIP_1: ['UPPER_ARM_MODEL_GANGSTER_VIP_1', 'LOWER_ARM_MODEL_GANGSTER_VIP_1'],
  488. CLASS_GANGSTER_VIP_2: ['UPPER_ARM_MODEL_GANGSTER_VIP_2', 'LOWER_ARM_MODEL_GANGSTER_VIP_2']}
  489. CLASS_FPS_ARMS_FILENAMES = {CLASS_SOLDIER: ['Character_Soldier_Arms_Upper', 'Character_Soldier_Arms_Lower'],
  490. CLASS_SCOUT: ['Character_Scout_Arms_Upper', 'Character_Scout_Arms_Lower'],
  491. CLASS_ENGINEER: ['Character_Engineer_Arms_Upper', 'Character_Engineer_Arms_Lower'],
  492. CLASS_MINER: ['Character_Miner_Arms_Upper', 'Character_Miner_Arms_Lower'],
  493. CLASS_ZOMBIE: ['', ''],
  494. CLASS_CLASSIC_SOLDIER: ['Character_Deuce_Arms_Upper', 'Character_Deuce_Arms_Lower'],
  495. CLASS_GANGSTER_1: ['Character_Gangster1_Arms_Upper', 'Character_Gangster1_Arms_Lower'],
  496. CLASS_GANGSTER_2: ['Character_Gangster2_Arms_Upper', 'Character_Gangster2_Arms_Lower'],
  497. CLASS_GANGSTER_3: ['Character_Gangster3_Arms_Upper', 'Character_Gangster3_Arms_Lower'],
  498. CLASS_GANGSTER_4: ['Character_Gangster4_Arms_Upper', 'Character_Gangster4_Arms_Lower'],
  499. CLASS_GANGSTER_VIP_1: ['Character_GangsterVIP1_Arms_Upper', 'Character_GangsterVIP1_Arms_Lower'],
  500. CLASS_GANGSTER_VIP_2: ['Character_GangsterVIP2_Arms_Upper', 'Character_GangsterVIP2_Arms_Lower']}
  501. INGAME_MUSIC_LAST_MAN, INGAME_MUSIC_ENDING = xrange(2)
  502. INGAME_MUSIC = {INGAME_MUSIC_LAST_MAN: ['last_man_standing_001-004', -1],
  503. INGAME_MUSIC_ENDING: ['game_ending_001-004', -1]}
  504. SECONDARY_MENU_MUSIC = ['secondary_menu_bed_001-002', -1]
  505. DEFAULT_MUSIC_FADE_TIME = 6.5
  506. SECONDARY_MUSIC_BED_FADE_TIME = 1.5
  507. JUMP_SOUND, WATER_JUMP_SOUND, JETPACK_LAND_SOUND, LAND_SOUND, WATER_LAND_SOUND, FALL_HURT_SOUND, FOOTSTEP_SOUND, WADE_SOUND, DEATH_SOUND, PERIODIC_SOUND, SPAWN_VO, JUMP_VO, WATER_JUMP_VO, LAND_VO, WATER_LAND_VO, FALL_HURT_VO = xrange(16)
  508. GENERIC_JUMP_SOUND = ['jump',
  509. -1,
  510. 100,
  511. -0.8,
  512. +0.8]
  513. GENERIC_WATER_JUMP_SOUND = ['waterjump',
  514. -1,
  515. 100,
  516. -0.8,
  517. +0.8]
  518. GENERIC_JETPACK_LAND_SOUND = 'JP_lowthrust_rel'
  519. GENERIC_LAND_SOUND = ['land',
  520. -1,
  521. 100,
  522. -0.8,
  523. +0.8]
  524. GENERIC_WATER_LAND_SOUND = ['waterland',
  525. -1,
  526. 100,
  527. -0.8,
  528. +0.8]
  529. GENERIC_FALLHURT_SOUND = ['fallhurt',
  530. -1,
  531. 100,
  532. -0.8,
  533. +0.8]
  534. GENERIC_FOOTSTEP_SOUND = ['footstep_001-004',
  535. -1,
  536. 100,
  537. -1.5,
  538. +1.5]
  539. GENERIC_WADE_SOUND = ['wade_001-004',
  540. -1,
  541. 100,
  542. -1.5,
  543. +1.5]
  544. ZOMBIE_JUMP_SOUND = ['zombie_jump',
  545. -1,
  546. 100,
  547. -0.8,
  548. +0.8]
  549. ZOMBIE_JUMP_WATER_SOUND = ['zombie_jump_water',
  550. -1,
  551. 100,
  552. -0.8,
  553. +0.8]
  554. ZOMBIE_LAND_SOUND = ['zombie_land',
  555. -1,
  556. 100,
  557. -0.8,
  558. +0.8]
  559. ZOMBIE_LAND_WATER_SOUND = ['zombie_land_water',
  560. -1,
  561. 100,
  562. -0.8,
  563. +0.8]
  564. ZOMBIE_WADE_SOUND = ['zombie_wade_001-004',
  565. -1,
  566. 100,
  567. -1.5,
  568. +1.5]
  569. ZOMBIE_FOOTSTEP_SOUND = ['zombie_footstep_001-004',
  570. -1,
  571. 100,
  572. -1.5,
  573. +1.5]
  574. GENERIC_EXPLODE_SOUND = ['explode',
  575. -1,
  576. 100,
  577. -0.8,
  578. +0.8]
  579. GENERIC_WATER_EXPLODE_SOUND = ['waterexplode',
  580. -1,
  581. 100,
  582. -0.8,
  583. +0.8]
  584. DYNAMITE_EXPLODE_SOUND = ['dynamiteexplode',
  585. -1,
  586. 100,
  587. -0.8,
  588. +0.8]
  589. DYNAMITE_WATER_EXPLODE_SOUND = ['dynamiteexplode_water',
  590. -1,
  591. 100,
  592. -0.8,
  593. +0.8]
  594. LANDMINE_EXPLODE_SOUND = ['landmineexplode',
  595. -1,
  596. 100,
  597. -0.8,
  598. +0.8]
  599. LANDMINE_WATER_EXPLODE_SOUND = ['landmineexplode_water',
  600. -1,
  601. 100,
  602. -0.8,
  603. +0.8]
  604. ROCKET_EXPLODE_SOUND = ['rocketexplode',
  605. -1,
  606. 100,
  607. -0.8,
  608. +0.8]
  609. ROCKET_WATER_EXPLODE_SOUND = ['rocketexplode_water',
  610. -1,
  611. 100,
  612. -0.8,
  613. +0.8]
  614. ROCKET2_EXPLODE_SOUND = ['rocket_trip_explode',
  615. -1,
  616. 100,
  617. -0.8,
  618. +0.8]
  619. ROCKET2_WATER_EXPLODE_SOUND = ['rocket_trip_explode_water',
  620. -1,
  621. 100,
  622. -0.8,
  623. +0.8]
  624. TURRET_ROCKET_EXPLODE_SOUND = ['turr_rocketexplode',
  625. -1,
  626. 100,
  627. -0.8,
  628. +0.8]
  629. TURRET_ROCKET_WATER_EXPLODE_SOUND = ['turr_rocketexplode_water',
  630. -1,
  631. 100,
  632. -0.8,
  633. +0.8]
  634. DES_SPLIT_SMALL_SOUND = ['des_split_small_001-003',
  635. -1,
  636. 100,
  637. -0.8,
  638. +0.8]
  639. DES_SPLIT_MED_SOUND = ['des_split_med_001-003',
  640. -1,
  641. 100,
  642. -0.8,
  643. +0.8]
  644. DES_SPLIT_LARGE_SOUND = ['des_split_large_001-003',
  645. -1,
  646. 100,
  647. -0.8,
  648. +0.8]
  649. DES_IMP_SMALL_SOUND = ['des_imp_small_001-004',
  650. -1,
  651. 100,
  652. -0.8,
  653. +0.8]
  654. DES_IMP_MED_SOUND = ['des_imp_med_001-004',
  655. -1,
  656. 100,
  657. -0.8,
  658. +0.8]
  659. DES_IMP_LARGE_SOUND = ['des_imp_large_001-004',
  660. -1,
  661. 100,
  662. -0.8,
  663. +0.8]
  664. DES_IMP_SMALL_WATER_SOUND = ['des_imp_small_water_001-004',
  665. -1,
  666. 100,
  667. -0.8,
  668. +0.8]
  669. DES_IMP_MED_WATER_SOUND = ['des_imp_med_water_001-004',
  670. -1,
  671. 100,
  672. -0.8,
  673. +0.8]
  674. DES_IMP_LARGE_WATER_SOUND = ['des_imp_large_water_001-004',
  675. -1,
  676. 100,
  677. -0.8,
  678. +0.8]
  679. DEATH_EXPLODE_SOUND = ['death_explode',
  680. -1,
  681. 100,
  682. -0.8,
  683. +0.8]
  684. DEATH_EXPLODE_WATER_SOUND = ['death_explode_water',
  685. -1,
  686. 100,
  687. -0.8,
  688. +0.8]
  689. AIRSTRIKE_EXPLODE_SOUND = ['airstrike_explode',
  690. -1,
  691. 100,
  692. -0.8,
  693. +0.8]
  694. AIRSTRIKE_EXPLODE_WATER_SOUND = ['airstrike_explode_water',
  695. -1,
  696. 100,
  697. -0.8,
  698. +0.8]
  699. BOMB_EXPLODE_SOUND = ['bomb_explode',
  700. -1,
  701. 100,
  702. -0.8,
  703. +0.8]
  704. BOMB_EXPLODE_WATER_SOUND = ['bomb_explode_water',
  705. -1,
  706. 100,
  707. -0.8,
  708. +0.8]
  709. CRATEDROP_LAND_SOUND = ['cratedrop_land',
  710. -1,
  711. 100,
  712. -0.8,
  713. +0.8]
  714. DRILL_EXPLODE_SOUND = ['drillexplode',
  715. -1,
  716. 100,
  717. -0.8,
  718. +0.8]
  719. DRILL_WATER_EXPLODE_SOUND = ['drillexplode_water',
  720. -1,
  721. 100,
  722. -0.8,
  723. +0.8]
  724. DRILL_SHOOT_SOUND = ['drillshoot',
  725. -1,
  726. 100,
  727. -0.8,
  728. +0.8]
  729. DRILL_DRILLING_EXPLODE_SOUND = ['drill_drilling_exp',
  730. -1,
  731. 100,
  732. -0.4,
  733. +0.4]
  734. BLANK_SOUND = ''
  735. SPAWN_VO_CHANCE = 25
  736. JUMP_VO_CHANCE = -33
  737. WATER_JUMP_VO_CHANCE = -66
  738. LAND_VO_CHANCE = -33
  739. WATER_LAND_VO_CHANCE = -66
  740. FULLHURT_VO_CHANCE = 100
  741. DIG_HIT_BLOCK_SOUND = ['hitground',
  742. -1,
  743. 100,
  744. -0.4,
  745. +0.4]
  746. DIG_HIT_WATER_BLOCK_SOUND = [BLANK_SOUND,
  747. -1,
  748. 100,
  749. -0.4,
  750. +0.4]
  751. DIG_HIT_PLAYER_SOUND = ['whack',
  752. -1,
  753. 100,
  754. -0.8,
  755. +0.8]
  756. DIG_MISS_SOUND = ['woosh',
  757. -1,
  758. 100,
  759. -0.4,
  760. +0.4]
  761. SUPER_SPADE_HIT_BLOCK_SOUND = ['hitground_super',
  762. -1,
  763. 100,
  764. -0.4,
  765. +0.4]
  766. ZOMBIE_HAND_MISS_SOUND = ['woosh',
  767. -1,
  768. 100,
  769. -0.4,
  770. +0.4]
  771. ZOMBIE_HAND_HIT_BLOCK_SOUND = ['hitground_zombie',
  772. -1,
  773. 100,
  774. -0.4,
  775. +0.4]
  776. ZOMBIE_HAND_HIT_PLAYER_SOUND = ['zombiehand_hit',
  777. -1,
  778. 100,
  779. -0.4,
  780. +0.4]
  781. GRENADE_PULL_PIN_SOUND = ['pin',
  782. -1,
  783. 100,
  784. 0,
  785. +0]
  786. GRENADE_THROW_SOUND = ['woosh',
  787. -1,
  788. 100,
  789. -0.8,
  790. +0.8]
  791. GRENADE_BOUNCE_SOUND = ['grenadebounce',
  792. -1,
  793. 100,
  794. -0.8,
  795. +0.8]
  796. MOLOTOV_THROW_SOUND = ['molotov_throw',
  797. -1,
  798. 100,
  799. -0.8,
  800. +0.8]
  801. MOLOTOV_EXPLODE_SOUND = ['molotov_land_explode',
  802. -1,
  803. 100,
  804. -0.8,
  805. +0.8]
  806. MOLOTOV_WATER_EXPLODE_SOUND = ['molotov_land_water',
  807. -1,
  808. 100,
  809. -0.8,
  810. +0.8]
  811. MOLOTOV_BURNOUT_SOUND = ['molotov_blocks_burnout',
  812. -1,
  813. 100,
  814. -0.4,
  815. +0.4]
  816. MOLOTOV_CHARACTER_LIGHT_SOUND = ['molotov_player_ignite',
  817. -1,
  818. 100,
  819. -0.4,
  820. +0.4]
  821. MOLOTOV_CHARACTER_BURNOUT_SOUND = ['molotov_pl_on_fire_burnout',
  822. -1,
  823. 100,
  824. -0.4,
  825. +0.4]
  826. MOLOTOV_CHARACTER_WATER_SOUND = ['molotov_pl_on_fire_water_stop',
  827. -1,
  828. 100,
  829. -0.4,
  830. +0.4]
  831. MOLOTOV_CHARACTER_ON_FIRE_SOUND = ['molotov_player_on_fire_lp',
  832. -1,
  833. 100,
  834. -0.4,
  835. +0.4]
  836. BULLET_HIT_SCENERY_SOUND = ['bullet_hit_001-004',
  837. -1,
  838. 100,
  839. -1.2,
  840. +1.2]
  841. SHOTGUN_SHOOT_SOUND = ['shotgunshoot',
  842. -1,
  843. 100,
  844. -0.8,
  845. +0.8]
  846. SHOTGUN2_SHOOT_SOUND = ['shotgun_double_fire01',
  847. -1,
  848. 100,
  849. -0.8,
  850. +0.8]
  851. SHOTGUN2_SECOND_SHOOT_SOUND = ['shotgun_double_fire02',
  852. -1,
  853. 100,
  854. -0.8,
  855. +0.8]
  856. PISTOL_SHOOT_SOUND = ['pistolshoot',
  857. -1,
  858. 100,
  859. -0.8,
  860. +0.8]
  861. SEMI_SHOOT_SOUND = ['classic_semishoot',
  862. -1,
  863. 100,
  864. -0.8,
  865. +0.8]
  866. SNIPER_SHOOT_SOUND = ['semishoot',
  867. -1,
  868. 100,
  869. -0.8,
  870. +0.8]
  871. SNIPER2_SHOOT_SOUND = ['semi_weak_shoot',
  872. -1,
  873. 100,
  874. -0.8,
  875. +0.8]
  876. RPG_SHOOT_SOUND = ['rocketshoot',
  877. -1,
  878. 100,
  879. -0.8,
  880. +0.8]
  881. RPG2_SHOOT_SOUND = ['rocket_trip_shoot',
  882. -1,
  883. 100,
  884. -0.8,
  885. +0.8]
  886. SNOWBLOWER_SHOOT_SOUND = ['snowcan_fire',
  887. -1,
  888. 100,
  889. -0.8,
  890. +0.8]
  891. ROCKET_TURRET_SHOOT_SOUND = ['turr_rocketshoot',
  892. -1,
  893. 100,
  894. -0.8,
  895. +0.8]
  896. BUILD_SOUND = ['build',
  897. -1,
  898. 100,
  899. -0.8,
  900. +0.8]
  901. BUILD_ERROR_SOUND = ['build_error',
  902. -1,
  903. 100,
  904. 0,
  905. +0]
  906. BUILD_LIGHT_SOUND = ['build_light',
  907. -1,
  908. 100,
  909. -0.8,
  910. +0.8]
  911. PICKAXE_HIT_BLOCK_SOUND = ['hitground_pickaxe',
  912. -1,
  913. 100,
  914. -0.4,
  915. +0.4]
  916. PICKAXE_HIT_PLAYER_SOUND = ['whack_pickaxe',
  917. -1,
  918. 100,
  919. -0.4,
  920. +0.4]
  921. KNIFE_HIT_BLOCK_SOUND = ['hitground_knife_damage',
  922. -1,
  923. 100,
  924. -0.4,
  925. +0.4]
  926. KNIFE_BLOCK_BREAK_SOUND = ['hitground_knife_break',
  927. -1,
  928. 100,
  929. -0.4,
  930. +0.4]
  931. KNIFE_HIT_PLAYER_SOUND = ['whack_knife',
  932. -1,
  933. 100,
  934. -0.4,
  935. +0.4]
  936. TURRET_PLACE_SOUND = ['turret_place',
  937. -1,
  938. 100,
  939. -0.8,
  940. +0.8]
  941. BUILD_DYNAMITE_SOUND = ['dynamite_place',
  942. -1,
  943. 100,
  944. -0.8,
  945. +0.8]
  946. BUILD_LANDMINE_SOUND = ['landmine_place',
  947. -1,
  948. 100,
  949. -0.8,
  950. +0.8]
  951. SNUB_PISTOL_SHOOT_SOUND = ['snub_fire',
  952. -1,
  953. 100,
  954. -0.8,
  955. +0.8]
  956. CROWBAR_HIT_PLAYER_SOUND = ['whack_crowbar',
  957. -1,
  958. 100,
  959. -0.4,
  960. +0.4]
  961. CROWBAR_HIT_BLOCK_SOUND = ['hitground_crowbar_damage',
  962. -1,
  963. 100,
  964. -0.4,
  965. +0.4]
  966. CROWBAR_BLOCK_BREAK_SOUND = ['hitground_crowbar_break',
  967. -1,
  968. 100,
  969. -0.4,
  970. +0.4]
  971. CLASSIC_SHOTGUN_SHOOT_SOUND = ['classic_shotgunshoot',
  972. -1,
  973. 100,
  974. -0.8,
  975. +0.8]
  976. MG_SHOOT_SOUND = ['semishoot',
  977. -1,
  978. 100,
  979. -0.8,
  980. +0.8]
  981. BOMB_PICKUP_SOUND = ['bomb_pickup',
  982. -1,
  983. 100,
  984. -0.4,
  985. +0.4]
  986. BOMB_DROP_SOUND = ['bomb_drop',
  987. -1,
  988. 100,
  989. -0.4,
  990. +0.4]
  991. DIAMOND_PICKUP_SOUND = ['diamond_pickup',
  992. -1,
  993. 100,
  994. -0.4,
  995. +0.4]
  996. DIAMOND_DROP_SOUND = ['diamond_drop',
  997. -1,
  998. 100,
  999. -0.4,
  1000. +0.4]
  1001. JETPACK_EXPLODE_SOUND = ['JP_death_explode',
  1002. -1,
  1003. 100,
  1004. -0.8,
  1005. +0.8]
  1006. JETPACK_EXPLODE_WATER_SOUND = ['JP_death_explode_water',
  1007. -1,
  1008. 100,
  1009. -0.8,
  1010. +0.8]
  1011. IMAGE_CENTRE, IMAGE_LEFT, IMAGE_RIGHT = xrange(3)
  1012. TRACKING_NOTHING, TRACKING_ENTITY, TRACKING_PLAYER = xrange(3)
  1013. NORMAL_CROSSHAIR_COLOUR = (255, 255, 255)
  1014. HIT_CROSSHAIR_COLOUR = (230, 40, 79)
  1015. HIT_CROSSHAIR_TIME = 0.25
  1016. NEVER_CROSSHAIR, ZOOMED_CROSSHAIR, UNZOOMED_CROSSHAIR, ALWAYS_CROSSHAIR, HAS_AMMO_CROSSHAIR = xrange(5)
  1017. 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, NOOF_SELECTABLE_TOOLS = xrange(40)
  1018. NO_JETPACK, JETPACK_NORMAL, JETPACK2 = xrange(NOOF_SELECTABLE_TOOLS, NOOF_SELECTABLE_TOOLS + 3)
  1019. ALL_MELEE_WEAPONS = (PICKAXE_TOOL,
  1020. KNIFE_TOOL,
  1021. SPADE_TOOL,
  1022. SUPERSPADE_TOOL,
  1023. CLASSIC_SPADE_TOOL,
  1024. ZOMBIEHAND_TOOL,
  1025. CROWBAR_TOOL)
  1026. SELECTABLE_ON_NO_AMMO_TOOLS = (LANDMINE_TOOL,
  1027. DYNAMITE_TOOL,
  1028. GRENADE_TOOL,
  1029. CLASSIC_GRENADE_TOOL,
  1030. ANTIPERSONNEL_GRENADE_TOOL,
  1031. PREFAB_TOOL,
  1032. ROCKET_TURRET_TOOL,
  1033. BLOCK_TOOL,
  1034. FLAREBLOCK_TOOL,
  1035. ZOMBIE_PREFAB_TOOL,
  1036. MOLOTOV_TOOL)
  1037. 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)
  1038. TOOLS_DAMAGE_TYPE = {PICKAXE_TOOL: PICKAXE_DAMAGE,
  1039. KNIFE_TOOL: KNIFE_DAMAGE,
  1040. SPADE_TOOL: SPADE_DAMAGE,
  1041. SUPERSPADE_TOOL: SUPERSPADE_DAMAGE,
  1042. CLASSIC_SPADE_TOOL: CLASSIC_SPADE_DAMAGE,
  1043. BLOCK_TOOL: None,
  1044. RIFLE_TOOL: WEAPON_DAMAGE,
  1045. SMG_TOOL: WEAPON_DAMAGE,
  1046. MINIGUN_TOOL: WEAPON_DAMAGE,
  1047. SHOTGUN_TOOL: WEAPON_DAMAGE,
  1048. SHOTGUN2_TOOL: WEAPON_DAMAGE,
  1049. GRENADE_TOOL: GRENADE_DAMAGE,
  1050. CLASSIC_GRENADE_TOOL: CLASSIC_GRENADE_DAMAGE,
  1051. ANTIPERSONNEL_GRENADE_TOOL: ANTIPERSONNEL_GRENADE_DAMAGE,
  1052. RPG_TOOL: ROCKET_DAMAGE,
  1053. RPG2_TOOL: ROCKET2_DAMAGE,
  1054. DRILLGUN_TOOL: DRILL_DAMAGE,
  1055. MG_TOOL: WEAPON_DAMAGE,
  1056. ROCKET_TURRET_TOOL: None,
  1057. PISTOL_TOOL: WEAPON_DAMAGE,
  1058. SNIPER_TOOL: WEAPON_DAMAGE,
  1059. SNIPER2_TOOL: WEAPON_DAMAGE,
  1060. LANDMINE_TOOL: LANDMINE_DAMAGE,
  1061. DYNAMITE_TOOL: DYNAMITE_DAMAGE,
  1062. FLAREBLOCK_TOOL: None,
  1063. PREFAB_TOOL: None,
  1064. ZOMBIEHAND_TOOL: ZOMBIE_DAMAGE,
  1065. BOMB_TOOL: BOMB_DAMAGE,
  1066. DIAMOND_TOOL: None,
  1067. SHRAPNEL_TOOL: WEAPON_DAMAGE,
  1068. ZOMBIE_PREFAB_TOOL: None,
  1069. SNOWBLOWER_TOOL: SNOWBALL_DAMAGE,
  1070. INTEL_TOOL: None,
  1071. MOLOTOV_TOOL: MOLOTOV_DAMAGE,
  1072. CROWBAR_TOOL: CROWBAR_DAMAGE,
  1073. TOMMYGUN_TOOL: WEAPON_DAMAGE,
  1074. SNUB_PISTOL_TOOL: WEAPON_DAMAGE,
  1075. CLASSIC_SHOTGUN_TOOL: WEAPON_DAMAGE,
  1076. CLASSIC_SMG_TOOL: WEAPON_DAMAGE}
  1077. TOOLS_SECONDARY_DAMAGE_TYPE = {PICKAXE_TOOL: PICKAXE_DAMAGE,
  1078. KNIFE_TOOL: KNIFE_DAMAGE,
  1079. SPADE_TOOL: SPADE_DAMAGE,
  1080. SUPERSPADE_TOOL: SUPERSPADE_DAMAGE,
  1081. CLASSIC_SPADE_TOOL: CLASSIC_SPADE_SECONDARY_DAMAGE,
  1082. BLOCK_TOOL: None,
  1083. RIFLE_TOOL: WEAPON_DAMAGE,
  1084. SMG_TOOL: WEAPON_DAMAGE,
  1085. MINIGUN_TOOL: WEAPON_DAMAGE,
  1086. SHOTGUN_TOOL: WEAPON_DAMAGE,
  1087. SHOTGUN2_TOOL: WEAPON_DAMAGE,
  1088. GRENADE_TOOL: GRENADE_DAMAGE,
  1089. CLASSIC_GRENADE_TOOL: CLASSIC_GRENADE_DAMAGE,
  1090. ANTIPERSONNEL_GRENADE_TOOL: ANTIPERSONNEL_GRENADE_DAMAGE,
  1091. RPG_TOOL: ROCKET_DAMAGE,
  1092. RPG2_TOOL: ROCKET2_DAMAGE,
  1093. DRILLGUN_TOOL: DRILL_DAMAGE,
  1094. MG_TOOL: WEAPON_DAMAGE,
  1095. ROCKET_TURRET_TOOL: None,
  1096. PISTOL_TOOL: WEAPON_DAMAGE,
  1097. SNIPER_TOOL: WEAPON_DAMAGE,
  1098. SNIPER2_TOOL: WEAPON_DAMAGE,
  1099. LANDMINE_TOOL: LANDMINE_DAMAGE,
  1100. DYNAMITE_TOOL: DYNAMITE_DAMAGE,
  1101. FLAREBLOCK_TOOL: None,
  1102. PREFAB_TOOL: None,
  1103. ZOMBIEHAND_TOOL: ZOMBIE_DAMAGE,
  1104. BOMB_TOOL: BOMB_DAMAGE,
  1105. DIAMOND_TOOL: None,
  1106. SHRAPNEL_TOOL: WEAPON_DAMAGE,
  1107. ZOMBIE_PREFAB_TOOL: None,
  1108. SNOWBLOWER_TOOL: SNOWBALL_DAMAGE,
  1109. INTEL_TOOL: None,
  1110. MOLOTOV_TOOL: MOLOTOV_DAMAGE,
  1111. CROWBAR_TOOL: CROWBAR_DAMAGE,
  1112. TOMMYGUN_TOOL: WEAPON_DAMAGE,
  1113. SNUB_PISTOL_TOOL: WEAPON_DAMAGE,
  1114. CLASSIC_SHOTGUN_TOOL: WEAPON_DAMAGE,
  1115. CLASSIC_SMG_TOOL: WEAPON_DAMAGE}
  1116. BLOCK_GRANTING_DAMAGES = (SPADE_DAMAGE,
  1117. CLASSIC_SPADE_DAMAGE,
  1118. SUPERSPADE_DAMAGE,
  1119. PICKAXE_DAMAGE,
  1120. KNIFE_DAMAGE,
  1121. ZOMBIE_DAMAGE,
  1122. CROWBAR_DAMAGE)
  1123. 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)
  1124. TOOLS_KILL_TYPE = {PICKAXE_TOOL: WEAPON_KILL,
  1125. KNIFE_TOOL: WEAPON_KILL,
  1126. SPADE_TOOL: WEAPON_KILL,
  1127. SUPERSPADE_TOOL: WEAPON_KILL,
  1128. CLASSIC_SPADE_TOOL: WEAPON_KILL,
  1129. BLOCK_TOOL: WEAPON_KILL,
  1130. RIFLE_TOOL: WEAPON_KILL,
  1131. SMG_TOOL: WEAPON_KILL,
  1132. MINIGUN_TOOL: WEAPON_KILL,
  1133. SHOTGUN_TOOL: WEAPON_KILL,
  1134. SHOTGUN2_TOOL: WEAPON_KILL,
  1135. GRENADE_TOOL: WEAPON_KILL,
  1136. CLASSIC_GRENADE_TOOL: WEAPON_KILL,
  1137. ANTIPERSONNEL_GRENADE_TOOL: WEAPON_KILL,
  1138. RPG_TOOL: ROCKET_KILL,
  1139. RPG2_TOOL: ROCKET2_KILL,
  1140. DRILLGUN_TOOL: DRILL_KILL,
  1141. MG_TOOL: WEAPON_KILL,
  1142. ROCKET_TURRET_TOOL: ROCKET_KILL,
  1143. PISTOL_TOOL: WEAPON_KILL,
  1144. SNIPER_TOOL: WEAPON_KILL,
  1145. SNIPER2_TOOL: WEAPON_KILL,
  1146. LANDMINE_TOOL: WEAPON_KILL,
  1147. DYNAMITE_TOOL: WEAPON_KILL,
  1148. FLAREBLOCK_TOOL: WEAPON_KILL,
  1149. PREFAB_TOOL: WEAPON_KILL,
  1150. ZOMBIEHAND_TOOL: WEAPON_KILL,
  1151. BOMB_TOOL: BOMB_KILL,
  1152. DIAMOND_TOOL: WEAPON_KILL,
  1153. SHRAPNEL_TOOL: SHRAPNEL_KILL,
  1154. ZOMBIE_PREFAB_TOOL: WEAPON_KILL,
  1155. SNOWBLOWER_TOOL: SNOWBALL_KILL,
  1156. INTEL_TOOL: WEAPON_KILL,
  1157. MOLOTOV_TOOL: WEAPON_KILL,
  1158. CROWBAR_TOOL: WEAPON_KILL,
  1159. TOMMYGUN_TOOL: WEAPON_KILL,
  1160. SNUB_PISTOL_TOOL: WEAPON_KILL,
  1161. CLASSIC_SHOTGUN_TOOL: WEAPON_KILL,
  1162. CLASSIC_SMG_TOOL: WEAPON_KILL}
  1163. TOOLS_ZOOM_TRANSITION_SPEED = {RIFLE_TOOL: (2.5, 6.0),
  1164. SNIPER_TOOL: (2.5, 6.0),
  1165. SNIPER2_TOOL: (2.5, 6.0),
  1166. NOOF_SELECTABLE_TOOLS: (5.0, 5.0)}
  1167. SPECIALISM_EXTRA_HEALTH, SPECIALISM_SPEED, SPECIALISM_DIG_SPEED, SPECIALISM_NOOF = xrange(4)
  1168. SPECIALISM_NAME = {SPECIALISM_EXTRA_HEALTH: 'EXTRA_HEALTH',
  1169. SPECIALISM_SPEED: 'SPEED',
  1170. SPECIALISM_DIG_SPEED: 'DIGGING_SPEED'}
  1171. DEFAULT_SELECTED_PREFABS = []
  1172. CLASS_PREFABS_SOLDIER, CLASS_PREFABS_SCOUT, CLASS_PREFABS_ENGINEER, CLASS_PREFABS_MINER, CLASS_PREFABS_ZOMBIE, CLASS_PREFABS_CLASSIC_SOLDIER, CLASS_PREFABS_GANGSTER, DEFAULT_PREFABS, MAP_PREFABS = xrange(9)
  1173. PREFAB_LISTS = {CLASS_PREFABS_SOLDIER: ['prefab_square_bunker', 'prefab_bunker_wall', 'prefab_fort_wall'],
  1174. CLASS_PREFABS_SCOUT: ['prefab_square_bunker',
  1175. 'prefab_sniper_tower',
  1176. 'prefab_small_wall',
  1177. 'prefab_small_platform'],
  1178. CLASS_PREFABS_ENGINEER: ['prefab_caltrop', 'prefab_platform', 'prefab_safety_tube'],
  1179. CLASS_PREFABS_MINER: ['prefab_barricade', 'prefab_ladder', 'prefab_safety_corridor'],
  1180. CLASS_PREFABS_ZOMBIE: ['prefab_zombie_bone', 'prefab_small_platform', 'prefab_zombie_skull'],
  1181. CLASS_PREFABS_CLASSIC_SOLDIER: [],
  1182. CLASS_PREFABS_GANGSTER: ['prefab_small_platform', 'prefab_ladder', 'prefab_square_bunker'],
  1183. DEFAULT_PREFABS: [],
  1184. MAP_PREFABS: []}
  1185. CLASS_PICKUP_TOOLS = [BOMB_TOOL, DIAMOND_TOOL, INTEL_TOOL]
  1186. CLASS_COMMON_TOOLS = [BLOCK_TOOL,
  1187. PREFAB_TOOL,
  1188. FLAREBLOCK_TOOL,
  1189. INTEL_TOOL] + CLASS_PICKUP_TOOLS
  1190. CLASS_CLASSIC_COMMON_TOOLS = [BLOCK_TOOL] + CLASS_PICKUP_TOOLS
  1191. CLASS_MELEE, CLASS_PRIMARY_WEAPONS, CLASS_SECONDARY_WEAPONS, CLASS_EQUIPMENT, CLASS_PREFABS, CLASS_COMMON, CLASS_NOOF_ITEMS = xrange(7)
  1192. CLASS_NOOF_SELECTABLE_ITEMS = CLASS_COMMON
  1193. AMMO_DEPLETED_SWITCH_ORDER = [CLASS_PRIMARY_WEAPONS, CLASS_SECONDARY_WEAPONS, CLASS_MELEE]
  1194. AMMO_DEPLETED_EXCEPTIONS = []
  1195. CLASS_ITEMS_NAME = {CLASS_PRIMARY_WEAPONS: 'PRIMARY_WEAPONS',
  1196. CLASS_SECONDARY_WEAPONS: 'SECONDARY_WEAPONS',
  1197. CLASS_EQUIPMENT: 'EQUIPMENT',
  1198. CLASS_MELEE: 'MELEE',
  1199. CLASS_PREFABS: 'PREFABS'}
  1200. SOLDIER_STARTING_BLOCKS = 100
  1201. SOLDIER_MAX_BLOCKS = 200
  1202. SCOUT_STARTING_BLOCKS = 100
  1203. SCOUT_MAX_BLOCKS = 100
  1204. ENGINEER_STARTING_BLOCKS = 100
  1205. ENGINEER_MAX_BLOCKS = 300
  1206. MINER_STARTING_BLOCKS = 250
  1207. MINER_MAX_BLOCKS = 1000
  1208. ZOMBIE_STARTING_BLOCKS = 1
  1209. ZOMBIE_MAX_BLOCKS = 250
  1210. CLASSIC_SOLDIER_STARTING_BLOCKS = 20
  1211. CLASSIC_SOLDIER_MAX_BLOCKS = 100
  1212. GANGSTER_STARTING_BLOCKS = 100
  1213. GANGSTER_MAX_BLOCKS = 200
  1214. CLASS_ITEMS = {CLASS_SOLDIER: {CLASS_PRIMARY_WEAPONS: [MINIGUN_TOOL, RPG_TOOL, RPG2_TOOL],
  1215. CLASS_SECONDARY_WEAPONS: [PISTOL_TOOL],
  1216. CLASS_EQUIPMENT: [GRENADE_TOOL, ANTIPERSONNEL_GRENADE_TOOL, SNOWBLOWER_TOOL],
  1217. CLASS_MELEE: [SPADE_TOOL, KNIFE_TOOL],
  1218. CLASS_PREFABS: [CLASS_PREFABS_SOLDIER, MAP_PREFABS, DEFAULT_PREFABS],
  1219. CLASS_COMMON: CLASS_COMMON_TOOLS},
  1220. CLASS_SCOUT: {CLASS_PRIMARY_WEAPONS: [SNIPER_TOOL, SNIPER2_TOOL],
  1221. CLASS_SECONDARY_WEAPONS: [PISTOL_TOOL],
  1222. CLASS_EQUIPMENT: [LANDMINE_TOOL, SNOWBLOWER_TOOL],
  1223. CLASS_MELEE: [PICKAXE_TOOL, KNIFE_TOOL],
  1224. CLASS_PREFABS: [CLASS_PREFABS_SCOUT, MAP_PREFABS, DEFAULT_PREFABS],
  1225. CLASS_COMMON: CLASS_COMMON_TOOLS},
  1226. CLASS_ENGINEER: {CLASS_PRIMARY_WEAPONS: [SMG_TOOL],
  1227. CLASS_SECONDARY_WEAPONS: [ROCKET_TURRET_TOOL, GRENADE_TOOL],
  1228. CLASS_EQUIPMENT: [JETPACK2, JETPACK_NORMAL, SNOWBLOWER_TOOL],
  1229. CLASS_MELEE: [SPADE_TOOL, PICKAXE_TOOL],
  1230. CLASS_PREFABS: [CLASS_PREFABS_ENGINEER, MAP_PREFABS, DEFAULT_PREFABS],
  1231. CLASS_COMMON: CLASS_COMMON_TOOLS},
  1232. CLASS_MINER: {CLASS_PRIMARY_WEAPONS: [SHOTGUN_TOOL, SHOTGUN2_TOOL],
  1233. CLASS_SECONDARY_WEAPONS: [DRILLGUN_TOOL],
  1234. CLASS_EQUIPMENT: [DYNAMITE_TOOL, SNOWBLOWER_TOOL],
  1235. CLASS_MELEE: [SUPERSPADE_TOOL, PICKAXE_TOOL],
  1236. CLASS_PREFABS: [CLASS_PREFABS_MINER, MAP_PREFABS, DEFAULT_PREFABS],
  1237. CLASS_COMMON: CLASS_COMMON_TOOLS},
  1238. CLASS_ZOMBIE: {CLASS_PRIMARY_WEAPONS: [ZOMBIEHAND_TOOL],
  1239. CLASS_SECONDARY_WEAPONS: [],
  1240. CLASS_EQUIPMENT: [],
  1241. CLASS_MELEE: [],
  1242. CLASS_PREFABS: [CLASS_PREFABS_ZOMBIE],
  1243. CLASS_COMMON: [ZOMBIE_PREFAB_TOOL]},
  1244. CLASS_CLASSIC_SOLDIER: {CLASS_PRIMARY_WEAPONS: [RIFLE_TOOL],
  1245. CLASS_SECONDARY_WEAPONS: [],
  1246. CLASS_EQUIPMENT: [CLASSIC_GRENADE_TOOL],
  1247. CLASS_MELEE: [CLASSIC_SPADE_TOOL],
  1248. CLASS_PREFABS: [],
  1249. CLASS_COMMON: CLASS_CLASSIC_COMMON_TOOLS},
  1250. CLASS_GANGSTER_1: {CLASS_PRIMARY_WEAPONS: [TOMMYGUN_TOOL],
  1251. CLASS_SECONDARY_WEAPONS: [SNUB_PISTOL_TOOL],
  1252. CLASS_EQUIPMENT: [MOLOTOV_TOOL],
  1253. CLASS_MELEE: [CROWBAR_TOOL],
  1254. CLASS_PREFABS: [CLASS_PREFABS_GANGSTER, MAP_PREFABS, DEFAULT_PREFABS],
  1255. CLASS_COMMON: CLASS_COMMON_TOOLS},
  1256. CLASS_GANGSTER_2: {CLASS_PRIMARY_WEAPONS: [TOMMYGUN_TOOL],
  1257. CLASS_SECONDARY_WEAPONS: [SNUB_PISTOL_TOOL],
  1258. CLASS_EQUIPMENT: [MOLOTOV_TOOL],
  1259. CLASS_MELEE: [CROWBAR_TOOL],
  1260. CLASS_PREFABS: [CLASS_PREFABS_GANGSTER, MAP_PREFABS, DEFAULT_PREFABS],
  1261. CLASS_COMMON: CLASS_COMMON_TOOLS},
  1262. CLASS_GANGSTER_3: {CLASS_PRIMARY_WEAPONS: [TOMMYGUN_TOOL],
  1263. CLASS_SECONDARY_WEAPONS: [SNUB_PISTOL_TOOL],
  1264. CLASS_EQUIPMENT: [MOLOTOV_TOOL],
  1265. CLASS_MELEE: [CROWBAR_TOOL],
  1266. CLASS_PREFABS: [CLASS_PREFABS_GANGSTER, MAP_PREFABS, DEFAULT_PREFABS],
  1267. CLASS_COMMON: CLASS_COMMON_TOOLS},
  1268. CLASS_GANGSTER_4: {CLASS_PRIMARY_WEAPONS: [TOMMYGUN_TOOL],
  1269. CLASS_SECONDARY_WEAPONS: [SNUB_PISTOL_TOOL],
  1270. CLASS_EQUIPMENT: [MOLOTOV_TOOL],
  1271. CLASS_MELEE: [CROWBAR_TOOL],
  1272. CLASS_PREFABS: [CLASS_PREFABS_GANGSTER, MAP_PREFABS, DEFAULT_PREFABS],
  1273. CLASS_COMMON: CLASS_COMMON_TOOLS},
  1274. CLASS_GANGSTER_VIP_1: {CLASS_PRIMARY_WEAPONS: [TOMMYGUN_TOOL],
  1275. CLASS_SECONDARY_WEAPONS: [SNUB_PISTOL_TOOL],
  1276. CLASS_EQUIPMENT: [MOLOTOV_TOOL],
  1277. CLASS_MELEE: [CROWBAR_TOOL],
  1278. CLASS_PREFABS: [CLASS_PREFABS_GANGSTER, MAP_PREFABS, DEFAULT_PREFABS],
  1279. CLASS_COMMON: CLASS_COMMON_TOOLS},
  1280. CLASS_GANGSTER_VIP_2: {CLASS_PRIMARY_WEAPONS: [TOMMYGUN_TOOL],
  1281. CLASS_SECONDARY_WEAPONS: [SNUB_PISTOL_TOOL],
  1282. CLASS_EQUIPMENT: [MOLOTOV_TOOL],
  1283. CLASS_MELEE: [CROWBAR_TOOL],
  1284. CLASS_PREFABS: [CLASS_PREFABS_GANGSTER, MAP_PREFABS, DEFAULT_PREFABS],
  1285. CLASS_COMMON: CLASS_COMMON_TOOLS}}
  1286. CLASS_DESCRIPTIONS = {CLASS_SOLDIER: 'SOLDIER_DESCRIPTION',
  1287. CLASS_SCOUT: 'SCOUT_DESCRIPTION',
  1288. CLASS_ENGINEER: 'ENGINEER_DESCRIPTION',
  1289. CLASS_MINER: 'MINER_DESCRIPTION',
  1290. CLASS_ZOMBIE: 'ZOMBIE_DESCRIPTION',
  1291. CLASS_CLASSIC_SOLDIER: 'SOLDIER_DESCRIPTION',
  1292. CLASS_GANGSTER_1: 'GANGSTER_DESCRIPTION',
  1293. CLASS_GANGSTER_2: 'GANGSTER_DESCRIPTION',
  1294. CLASS_GANGSTER_3: 'GANGSTER_DESCRIPTION',
  1295. CLASS_GANGSTER_4: 'GANGSTER_DESCRIPTION',
  1296. CLASS_GANGSTER_VIP_1: 'GANGSTER_DESCRIPTION',
  1297. CLASS_GANGSTER_VIP_2: 'GANGSTER_DESCRIPTION'}
  1298. TOOL_FILE_NAMES = {MINIGUN_TOOL: 'minigun',
  1299. RPG_TOOL: 'rpg',
  1300. RPG2_TOOL: 'rpg2',
  1301. SNOWBLOWER_TOOL: 'snowblower',
  1302. SNIPER_TOOL: 'sniper',
  1303. SNIPER2_TOOL: 'sniper2',
  1304. SMG_TOOL: 'smg',
  1305. SHOTGUN_TOOL: 'shotgun',
  1306. SHOTGUN2_TOOL: 'shotgun2',
  1307. PISTOL_TOOL: 'pistol',
  1308. GRENADE_TOOL: 'grenade',
  1309. CLASSIC_GRENADE_TOOL: 'grenade',
  1310. ANTIPERSONNEL_GRENADE_TOOL: 'antipersonnel_grenade',
  1311. LANDMINE_TOOL: 'land_mine',
  1312. DRILLGUN_TOOL: 'drillgun',
  1313. DYNAMITE_TOOL: 'dynamite',
  1314. JETPACK_NORMAL: 'jetpack',
  1315. JETPACK2: 'jetpack2',
  1316. ZOMBIEHAND_TOOL: 'zombie_hands',
  1317. PICKAXE_TOOL: 'pickaxe',
  1318. KNIFE_TOOL: 'knife',
  1319. SUPERSPADE_TOOL: 'superspade',
  1320. SPADE_TOOL: 'spade',
  1321. CLASSIC_SPADE_TOOL: 'spade',
  1322. BLOCK_TOOL: 'block',
  1323. RIFLE_TOOL: 'semi',
  1324. MG_TOOL: 'mg',
  1325. ROCKET_TURRET_TOOL: 'rocket_turret',
  1326. PREFAB_TOOL: 'prefab',
  1327. FLAREBLOCK_TOOL: 'glowblock',
  1328. BOMB_TOOL: 'bomb',
  1329. DIAMOND_TOOL: 'diamond',
  1330. SHRAPNEL_TOOL: 'shrapnel',
  1331. ZOMBIE_PREFAB_TOOL: 'prefab',
  1332. INTEL_TOOL: 'intel',
  1333. MOLOTOV_TOOL: 'Weapon_Molotov',
  1334. CROWBAR_TOOL: 'Weapon_Crowbar',
  1335. TOMMYGUN_TOOL: 'Weapon_TommyGun',
  1336. SNUB_PISTOL_TOOL: 'Weapon_SnubNosePistol',
  1337. CLASSIC_SHOTGUN_TOOL: 'classic_shotgun',
  1338. CLASSIC_SMG_TOOL: 'classic_smg'}
  1339. TOOL_NAMES = {MINIGUN_TOOL: 'MINIGUN',
  1340. RPG_TOOL: 'ROCKET_PROPELLED_GRENADE',
  1341. RPG2_TOOL: 'ROCKET_PROPELLED_GRENADE2',
  1342. SNOWBLOWER_TOOL: 'SNOWBLOWER',
  1343. SNIPER_TOOL: 'SNIPER_RIFLE',
  1344. SNIPER2_TOOL: 'SNIPER2_RIFLE',
  1345. SMG_TOOL: 'SUB_MACHINE_GUN',
  1346. SHOTGUN_TOOL: 'SHOTGUN',
  1347. SHOTGUN2_TOOL: 'SHOTGUN2',
  1348. PISTOL_TOOL: 'PISTOL',
  1349. GRENADE_TOOL: 'GRENADE_TOOL',
  1350. CLASSIC_GRENADE_TOOL: 'CLASSIC_GRENADE',
  1351. ANTIPERSONNEL_GRENADE_TOOL: 'ANTIPERSONNEL_GRENADE_TOOL',
  1352. LANDMINE_TOOL: 'LANDMINE_TOOL',
  1353. DRILLGUN_TOOL: 'DRILL_TOOL',
  1354. DYNAMITE_TOOL: 'DYNAMITE_TOOL',
  1355. JETPACK_NORMAL: 'JETPACK_NORMAL',
  1356. JETPACK2: 'JETPACK_2',
  1357. ZOMBIEHAND_TOOL: 'ZOMBIE_HANDS',
  1358. PICKAXE_TOOL: 'PICKAXE',
  1359. KNIFE_TOOL: 'KNIFE',
  1360. SUPERSPADE_TOOL: 'SUPER_SPADE',
  1361. SPADE_TOOL: 'SPADE',
  1362. CLASSIC_SPADE_TOOL: 'SPADE',
  1363. BLOCK_TOOL: 'BLOCK_TOOL',
  1364. RIFLE_TOOL: 'RIFLE',
  1365. MG_TOOL: 'MOUNTED_GUN',
  1366. ROCKET_TURRET_TOOL: 'ROCKET_TURRET',
  1367. PREFAB_TOOL: 'PREFAB_TOOL',
  1368. FLAREBLOCK_TOOL: 'FLARE_BLOCK_TOOL',
  1369. BOMB_TOOL: 'BOMB_TOOL',
  1370. DIAMOND_TOOL: 'DIAMOND_TOOL',
  1371. SHRAPNEL_TOOL: 'SHRAPNEL_TOOL',
  1372. ZOMBIE_PREFAB_TOOL: 'ZOMBIE_PREFAB_TOOL',
  1373. INTEL_TOOL: 'INTEL_TOOL',
  1374. MOLOTOV_TOOL: 'MOLOTOV_TOOL',
  1375. CROWBAR_TOOL: 'CROWBAR_TOOL',
  1376. TOMMYGUN_TOOL: 'TOMMYGUN_TOOL',
  1377. SNUB_PISTOL_TOOL: 'SNUB_PISTOL_TOOL',
  1378. CLASSIC_SHOTGUN_TOOL: 'CLASSIC_SHOTGUN',
  1379. CLASSIC_SMG_TOOL: 'CLASSIC_SUB_MACHINE_GUN'}
  1380. TOOL_DESCRIPTIONS = {MINIGUN_TOOL: 'MINIGUN_TOOL_DESCRIPTION',
  1381. RPG_TOOL: 'RPG_TOOL_DESCRIPTION',
  1382. RPG2_TOOL: 'RPG2_TOOL_DESCRIPTION',
  1383. SNOWBLOWER_TOOL: 'SNOWBLOWER_DESCRIPTION',
  1384. PISTOL_TOOL: 'PISTOL_TOOL_DESCRIPTION',
  1385. GRENADE_TOOL: 'GRENADE_TOOL_DESCRIPTION',
  1386. CLASSIC_GRENADE_TOOL: 'CLASSIC_GRENADE_TOOL_DESCRIPTION',
  1387. ANTIPERSONNEL_GRENADE_TOOL: 'ANTIPERSONNEL_GRENADE_TOOL_DESCRIPTION',
  1388. SPADE_TOOL: 'SPADE_TOOL_DESCRIPTION',
  1389. CLASSIC_SPADE_TOOL: 'CLASSIC_SPADE_TOOL_DESCRIPTION',
  1390. SNIPER_TOOL: 'SNIPER_TOOL_DESCRIPTION',
  1391. SNIPER2_TOOL: 'SNIPER2_TOOL_DESCRIPTION',
  1392. LANDMINE_TOOL: 'LANDMINE_TOOL_DESCRIPTION',
  1393. PICKAXE_TOOL: 'PICKAXE_TOOL_DESCRIPTION',
  1394. KNIFE_TOOL: 'KNIFE_TOOL_DESCRIPTION',
  1395. JETPACK_NORMAL: 'JETPACK_NORMAL_DESCRIPTION',
  1396. JETPACK2: 'JETPACK_2_DESCRIPTION',
  1397. SMG_TOOL: 'SMG_TOOL_DESCRIPTION',
  1398. ROCKET_TURRET_TOOL: 'ROCKET_TURRET_TOOL_DESCRIPTION',
  1399. SHOTGUN_TOOL: 'SHOTGUN_TOOL_DESCRIPTION',
  1400. SHOTGUN2_TOOL: 'SHOTGUN2_TOOL_DESCRIPTION',
  1401. DRILLGUN_TOOL: 'DRILLGUN_TOOL_DESCRIPTION',
  1402. DYNAMITE_TOOL: 'DYNAMITE_TOOL_DESCRIPTION',
  1403. SUPERSPADE_TOOL: 'SUPERSPADE_TOOL_DESCRIPTION',
  1404. ZOMBIEHAND_TOOL: 'ZOMBIEHAND_TOOL_DESCRIPTION',
  1405. RIFLE_TOOL: 'RIFLE_TOOL_DESCRIPTION',
  1406. MOLOTOV_TOOL: 'MOLOTOV_TOOL_DESCRIPTION',
  1407. CROWBAR_TOOL: 'CROWBAR_TOOL_DESCRIPTION',
  1408. TOMMYGUN_TOOL: 'TOMMYGUN_TOOL_DESCRIPTION',
  1409. SNUB_PISTOL_TOOL: 'SNUB_PISTOL_TOOL_DESCRIPTION',
  1410. MG_TOOL: 'MG_TOOL_DESCRIPTION',
  1411. CLASSIC_SHOTGUN_TOOL: 'CLASSIC_SHOTGUN_TOOL_DESCRIPTION',
  1412. CLASSIC_SMG_TOOL: 'CLASSIC_SMG_TOOL_DESCRIPTION'}
  1413. TOOL_HAS_IMAGE = {MINIGUN_TOOL: True,
  1414. RPG_TOOL: True,
  1415. RPG2_TOOL: True,
  1416. SNOWBLOWER_TOOL: True,
  1417. SNIPER_TOOL: 2,
  1418. SNIPER2_TOOL: True,
  1419. SMG_TOOL: True,
  1420. SHOTGUN_TOOL: True,
  1421. SHOTGUN2_TOOL: True,
  1422. PISTOL_TOOL: True,
  1423. GRENADE_TOOL: True,
  1424. CLASSIC_GRENADE_TOOL: True,
  1425. ANTIPERSONNEL_GRENADE_TOOL: True,
  1426. LANDMINE_TOOL: True,
  1427. DRILLGUN_TOOL: True,
  1428. DYNAMITE_TOOL: True,
  1429. JETPACK_NORMAL: True,
  1430. JETPACK2: True,
  1431. ZOMBIEHAND_TOOL: True,
  1432. PICKAXE_TOOL: True,
  1433. KNIFE_TOOL: True,
  1434. SUPERSPADE_TOOL: True,
  1435. SPADE_TOOL: True,
  1436. CLASSIC_SPADE_TOOL: True,
  1437. BLOCK_TOOL: True,
  1438. RIFLE_TOOL: True,
  1439. MG_TOOL: True,
  1440. ROCKET_TURRET_TOOL: True,
  1441. PREFAB_TOOL: True,
  1442. FLAREBLOCK_TOOL: True,
  1443. BOMB_TOOL: True,
  1444. DIAMOND_TOOL: True,
  1445. SHRAPNEL_TOOL: False,
  1446. ZOMBIE_PREFAB_TOOL: True,
  1447. INTEL_TOOL: True,
  1448. MOLOTOV_TOOL: True,
  1449. CROWBAR_TOOL: True,
  1450. TOMMYGUN_TOOL: True,
  1451. SNUB_PISTOL_TOOL: True,
  1452. CLASSIC_SHOTGUN_TOOL: True,
  1453. CLASSIC_SMG_TOOL: True}
  1454. SET_TEAM_SCORE, SET_PLAYER_SCORE = xrange(2)
  1455. 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, 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, 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, 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, DEM_DESTROY_SCORE_REASON, DEM_REPAIR_SCORE_REASON, DEM_DEFEND_SCORE_REASON, DEM_ASSAULT_SCORE_REASON, 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 = xrange(68)
  1456. SCORE_REASON_CODES = {NO_SCORE_REASON: '',
  1457. KILL_SCORE_REASON: 'TDM_Kill',
  1458. SUICIDE_SCORE_REASON: 'TDM_Suicide',
  1459. KILL_SCORE_HEADSHOT_REASON: 'TDM_Headshot',
  1460. KILL_SCORE_MELEE_REASON: 'TDM_Melee',
  1461. KILL_SCORE_ASSIST_REASON: 'TDM_Assist',
  1462. KILL_SCORE_TEAMKILL_REASON: 'TDM_TeamKill',
  1463. KILL_SCORE_REVENGE_REASON: 'TDM_Revenge',
  1464. KILL_SCORE_DISTRACT_REASON: 'TDM_Distract',
  1465. KILL_SCORE_PAYBACK_REASON: 'TDM_Payback',
  1466. KILL_SCORE_RELOAD_REASON: 'TDM_Reload',
  1467. KILL_SCORE_DEFEND_REASON: 'TDM_Defend',
  1468. VIP_SURVIVE_SCORE_REASON: 'VIP_Survive',
  1469. VIP_ESCORT_SCORE_REASON: 'VIP_Escort',
  1470. VIP_KILLENEMYVIP_SCORE_REASON: 'VIP_KillEnemyVIP',
  1471. VIP_DISTRACT_SCORE_REASON: 'VIP_Distract',
  1472. VIP_KILL_SCORE_REASON: 'VIP_Kill',
  1473. VIP_ASSAULT_SCORE_REASON: 'VIP_Assault',
  1474. VIP_ASSAULT_ENEMY_SCORE_REASON: 'VIP_Assault_Enemy',
  1475. VIP_DEFEND_SCORE_REASON: 'VIP_Defend',
  1476. TC_OCCUPY_SCORE_REASON: 'TC_Occupy',
  1477. TC_CLAIM_SCORE_REASON: 'TC_Claim',
  1478. TC_CONTROL_SCORE_REASON: 'TC_Control',
  1479. TC_DEFEND_SCORE_REASON: 'TC_Defend',
  1480. TC_ASSAULT_SCORE_REASON: 'TC_Assault',
  1481. OCC_OCCUPY_SCORE_REASON: 'OCC_Occupy',
  1482. OCC_CARRY_SCORE_REASON: 'OCC_Carry',
  1483. OCC_BOOM_SCORE_REASON: 'OCC_Boom',
  1484. OCC_DISTRACT_SCORE_REASON: 'OCC_Distract',
  1485. OCC_CARRIER_DEFEND_SCORE_REASON: 'OCC_Carrier_Defend',
  1486. OCC_DEFEND_SCORE_REASON: 'OCC_Defend',
  1487. OCC_ASSAULT_SCORE_REASON: 'OCC_Assault',
  1488. OCC_SURVIVE_SCORE_REASON: 'OCC_Survive',
  1489. OCC_INTERCEPT_SCORE_REASON: 'OCC_Intercept',
  1490. DIA_CAPTURE_SCORE_REASON: 'DIA_Capture',
  1491. DIA_UNCOVER_SCORE_REASON: 'DIA_Uncover',
  1492. DIA_CARRY_SCORE_REASON: 'DIA_Carry',
  1493. DIA_ESCORT_SCORE_REASON: 'DIA_Escort',
  1494. DIA_DISTRACT_SCORE_REASON: 'DIA_Distract',
  1495. DIA_CARRIER_DEFEND_SCORE_REASON: 'DIA_Carrier_Defend',
  1496. DIA_DEFEND_SCORE_REASON: 'DIA_Defend',
  1497. DIA_ASSAULT_SCORE_REASON: 'DIA_Assault',
  1498. DIA_INTERCEPT_SCORE_REASON: 'DIA_Intercept',
  1499. CTF_CAPTURE_SCORE_REASON: 'CTF_Capture',
  1500. CTF_CARRY_SCORE_REASON: 'CTF_Carry',
  1501. CTF_ESCORT_SCORE_REASON: 'CTF_ESCORT',
  1502. CTF_CLAIM_SCORE_REASON: 'CTF_CLAIM',
  1503. CTF_DISTRACT_SCORE_REASON: 'CTF_DISTRACT',
  1504. CTF_DEFEND_SCORE_REASON: 'CTF_DEFEND',
  1505. CTF_ASSAULT_SCORE_REASON: 'CTF_ASSAULT',
  1506. CTF_ASSAULT_ENEMY_SCORE_REASON: 'CTF_ASSAULT_ENEMY',
  1507. CTF_CARRIER_DEFEND_SCORE_REASON: 'CTF_CARRIER_DEFEND',
  1508. CTF_INTERCEPT_SCORE_REASON: 'CTF_INTERCEPT',
  1509. ZOM_SURVIVE_SCORE_REASON: 'ZOM_Survive',
  1510. ZOM_LASTMAN_SCORE_REASON: 'ZOM_LastMan',
  1511. ZOM_KILLSURVIVOR_SCORE_REASON: 'ZOM_KillSurvivor',
  1512. ZOM_LASTMAN_ZOMBIEKILL_SCORE_REASON: 'ZOM_LastManZombieKill',
  1513. DEM_DESTROY_SCORE_REASON: 'DEM_Destroy',
  1514. DEM_REPAIR_SCORE_REASON: 'DEM_Repair',
  1515. DEM_DEFEND_SCORE_REASON: 'DEM_Defend',
  1516. DEM_ASSAULT_SCORE_REASON: 'DEM_Assault',
  1517. MH_OCCUPY_SCORE_REASON: 'MH_Occupy',
  1518. MH_FIRST_SCORE_REASON: 'MH_First',
  1519. MH_CLAIM_SCORE_REASON: 'MH_Claim',
  1520. MH_CONTROL_SCORE_REASON: 'MH_Control',
  1521. MH_DEFEND_SCORE_REASON: 'MH_Defend',
  1522. MH_ASSAULT_SCORE_REASON: 'MH_Assault',
  1523. MH_CONTEST_SCORE_REASON: 'MH_Contest'}
  1524. MULTIKILLMAXTIMEGAP = 6.0
  1525. MAP_VOTE_START, MAP_VOTE_CAST, MAP_UPDATE_VOTE_COUNT, MAP_VOTE_CLOSED = xrange(4)
  1526. CHAT_ALL, CHAT_TEAM, CHAT_SYSTEM, CHAT_BIG = xrange(4)
  1527. 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)
  1528. 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 = xrange(17)
  1529. 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)
  1530. DAMAGE_SELF, DAMAGE_OTHER, HEAL, DAMAGE_FIRE, DAMAGE_SUDDEN_DEATH = xrange(5)
  1531. FLY_CAMERA, CHASE_CAMERA, TANK_CAMERA, PAN_CAMERA, LOOKAT_CAMERA, DEATH_CAMERA = xrange(6)
  1532. TC_CAPTURE_DISTANCE = 16
  1533. TC_CAPTURE_RATE = 0.05
  1534. MIN_TERRITORY_COUNT = 3
  1535. MAX_TERRITORY_COUNT = 7
  1536. SPAWN_RADIUS = 32
  1537. MELEE_TOLERANCE = 1.0
  1538. MAX_CHAT_SIZE = 90
  1539. RUBBERBAND_DISTANCE = 99999
  1540. MAX_TIMER_SPEED = 2000
  1541. TIMER_WINDOW_ENTRIES = 40
  1542. MAX_RAPID_SPEED = 60
  1543. RAPID_WINDOW_ENTRIES = 10
  1544. MOUNTABLE_DISTANCE = 3.0
  1545. MAX_DISPLAY_NAME_DISTANCE = 100.0
  1546. NETWORK_FPS = 30.0
  1547. UPDATE_FRAMERATE = 60.0
  1548. UPDATE_INTERVAL = 1.0 / UPDATE_FRAMERATE
  1549. MAX_UPDATES_PER_FRAME = 4
  1550. BLOCK_TYPE_PREFAB, BLOCK_TYPE_SNOW = xrange(2)
  1551. CLASSIC_MAX_BLOCK_DISTANCE = 5
  1552. CLOCK_SYNC_RATE = 60
  1553. UPDATE_ENTITIES_RATE = 10
  1554. MIN_BLOCK_INTERVAL = 0.1
  1555. MAX_BLOCK_DISTANCE = 5
  1556. HIT_TOLERANCE = 5.0
  1557. CRATE_DISTANCE = 2.5
  1558. PICKUP_DISTANCE = 2.0
  1559. CAPTURE_POINT_DISTANCE = 3.0
  1560. CAPTURE_POINT_REFILL_TIME = 10.0
  1561. NO_PICKUP_AFTER_DROP_TIME = 0.5
  1562. CHAT_SHOWN_LINES = 10
  1563. CHAT_BUFFER_SIZE = 50
  1564. NETWORK_RATE = 1 / 30.0
  1565. MAX_DAMAGE = 2
  1566. HIT_INDICATOR_TIME = 1.2
  1567. BURN_INDICATOR_TIME = 1.2
  1568. SUDDEN_DEATH_INDICATOR_TIME = 1.2
  1569. DEFAULT_BLOCK_HEALTH = 5
  1570. DEFAULT_PREFAB_HEALTH = 15
  1571. DEFAULT_SNOW_HEALTH = 3
  1572. RADIUS_BLOCK_DAMAGE_RANDOM_EXTRA = 2
  1573. ZOMBIE_BLOCK_DAMAGE_RANDOM_EXTRA = 9
  1574. SUPER_SPADE_BLOCK_DAMAGE_RANDOM_EXTRA = 5
  1575. DIAMOND_LIFETIME = 60
  1576. HEARING_DISTANCE = 50
  1577. WEAPON_DAMAGE_MULTIPLIER_THRESHOLD = 0.3
  1578. CRATE_SPAWN_DELAY = 15
  1579. CRATE_PARACHUTE_DEPLOYMENT_HEIGHT = 10
  1580. CRATE_PARACHUTE_REMOVAL_HEIGHT = 2
  1581. CRATE_PARACHUTE_SLOWDOWN = 0.75
  1582. USE_BILLBOARDS = False
  1583. USE_GLSL = True
  1584. LIGHT0_DIRECTION = (0, 0.707, -0.707)
  1585. LIGHT0_BACK_DIRECTION = (0, 0.707, 0.707)
  1586. LIGHT0_COLOR = (1.0, 1.0, 1.0, 1.0)
  1587. UI_LIGHT_POSITION = (1.0, 1.0, 0.0, 0.0)
  1588. PLAYER_NAME_COLOR = (255, 255, 255, 255)
  1589. PLAYER_NAME_SCALE = 0.0075
  1590. OVER_FRIENDLY_COLOR = (255, 255, 255, 200)
  1591. OVER_ENEMY_COLOR = (255, 0, 0, 200)
  1592. BUTTON_COLOR = (20, 20, 20, 255)
  1593. MENU_FONT_COLOR = (244, 236, 187, 255)
  1594. MENU_FONT_COLOR2 = (232, 207, 78, 255)
  1595. FOG_COLOR = (243, 237, 179)
  1596. MELEE_RANGE = 3
  1597. MELEE_WORLD_RANGE = 4
  1598. WEAPON_RANGE = 10000
  1599. WEAPON_WORLD_RANGE = 10000
  1600. WEAPON_ZOOM = 1.0
  1601. SELF_EXPLOSION_DAMAGE_REDUCTION = 0.5
  1602. TEAM_EXPLOSION_DAMAGE_REDUCTION = 0.5
  1603. SHRAPNEL_TRACER_SPEED = 200
  1604. WEAPON_TRACER_SPEED = 300
  1605. SPADE_SHOOT_INTERVAL = 0.4
  1606. SPADE_DAMAGE_AMOUNT = 5
  1607. SPADE_HITPLAYER_DAMAGE_AMOUNT = 35
  1608. SUPERSPADE_SHOOT_INTERVAL = 0.6
  1609. SUPERSPADE_DAMAGE_AMOUNT = 10
  1610. SUPERSPADE_HITPLAYER_DAMAGE_AMOUNT = 60
  1611. PICKAXE_SHOOT_INTERVAL = 0.4
  1612. PICKAXE_DAMAGE_AMOUNT = 15
  1613. PICKAXE_HITPLAYER_DAMAGE_AMOUNT = 60
  1614. KNIFE_SHOOT_INTERVAL = 0.75
  1615. KNIFE_DAMAGE_AMOUNT = 1
  1616. KNIFE_HITPLAYER_DAMAGE_AMOUNT = 190
  1617. CROWBAR_SHOOT_INTERVAL = 0.6
  1618. CROWBAR_DAMAGE_AMOUNT = 5
  1619. CROWBAR_HITPLAYER_DAMAGE_AMOUNT = 80
  1620. ZOMBIEHAND_SHOOT_INTERVAL = 0.35
  1621. ZOMBIEHAND_DAMAGE_AMOUNT = 2
  1622. ZOMBIEHAND_HITPLAYER_DAMAGE_AMOUNT = 35
  1623. PISTOL_RANGE = 500
  1624. PISTOL_RELOAD_TIME = 1.0
  1625. PISTOL_SHOOT_INTERVAL = 0.3
  1626. PISTOL_ACCURACY = 0.01
  1627. PISTOL_RECOIL_UP = -0.005
  1628. PISTOL_RECOIL_SIDE = 0
  1629. PISTOL_DAMAGE_TORSO = 20
  1630. PISTOL_DAMAGE_HEAD = 50
  1631. PISTOL_DAMAGE_ARMS = 20
  1632. PISTOL_DAMAGE_LEGS = 20
  1633. PISTOL_DAMAGE_ENTITY = 20
  1634. PISTOL_DAMAGE_BLOCK = 1
  1635. PISTOL_AMMO_MAX = 35
  1636. PISTOL_AMMO_INITIAL_STOCK = PISTOL_AMMO_MAX
  1637. PISTOL_AMMO_RESTOCK_AMOUNT = PISTOL_AMMO_MAX
  1638. PISTOL_AMMO_CLIP_SIZE = 5
  1639. SNUB_PISTOL_RANGE = 500
  1640. SNUB_PISTOL_RELOAD_TIME = 0.75
  1641. SNUB_PISTOL_DELAY = 1.0
  1642. SNUB_PISTOL_SHOOT_INTERVAL = 0.5
  1643. SNUB_PISTOL_ACCURACY = 0.01
  1644. SNUB_PISTOL_RECOIL_UP = -0.05
  1645. SNUB_PISTOL_RECOIL_SIDE = 0
  1646. SNUB_PISTOL_DAMAGE_TORSO = 40
  1647. SNUB_PISTOL_DAMAGE_HEAD = 70
  1648. SNUB_PISTOL_DAMAGE_ARMS = 30
  1649. SNUB_PISTOL_DAMAGE_LEGS = 30
  1650. SNUB_PISTOL_DAMAGE_ENTITY = 20
  1651. SNUB_PISTOL_DAMAGE_BLOCK = 1
  1652. SNUB_PISTOL_AMMO_MAX = 35
  1653. SNUB_PISTOL_AMMO_INITIAL_STOCK = SNUB_PISTOL_AMMO_MAX
  1654. SNUB_PISTOL_AMMO_RESTOCK_AMOUNT = SNUB_PISTOL_AMMO_MAX
  1655. SNUB_PISTOL_AMMO_CLIP_SIZE = 6
  1656. SMG_RANGE = 100
  1657. SMG_RELOAD_TIME = 1.25
  1658. SMG_DELAY = 0.11
  1659. SMG_SHOOT_INTERVAL = 0.1
  1660. SMG_ACCURACY = 0.01
  1661. SMG_ACCURACY_RANGE = 0.05
  1662. SMG_ACCURACY_SPREAD_INITIAL = 1
  1663. SMG_ACCURACY_SPREAD_RANGE = 5
  1664. SMG_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.2
  1665. SMG_ACCURACY_SPREAD_REDUCTION_SPEED = 0.6
  1666. SMG_RECOIL_UP = -0.007
  1667. SMG_RECOIL_SIDE = 0
  1668. SMG_DAMAGE_TORSO = 20
  1669. SMG_DAMAGE_HEAD = 20
  1670. SMG_DAMAGE_ARMS = 20
  1671. SMG_DAMAGE_LEGS = 20
  1672. SMG_DAMAGE_ENTITY = 20
  1673. SMG_DAMAGE_BLOCK = 2
  1674. SMG_AMMO_MAX = 100
  1675. SMG_AMMO_INITIAL_STOCK = SMG_AMMO_MAX
  1676. SMG_AMMO_RESTOCK_AMOUNT = SMG_AMMO_MAX
  1677. SMG_AMMO_CLIP_SIZE = 25
  1678. CLASSIC_SMG_RANGE = 100
  1679. CLASSIC_SMG_RELOAD_TIME = 1.25
  1680. CLASSIC_SMG_DELAY = 0.11
  1681. CLASSIC_SMG_SHOOT_INTERVAL = 0.1
  1682. CLASSIC_SMG_ACCURACY = 0.01
  1683. CLASSIC_SMG_ACCURACY_RANGE = 0.05
  1684. CLASSIC_SMG_ACCURACY_SPREAD_INITIAL = 1
  1685. CLASSIC_SMG_ACCURACY_SPREAD_RANGE = 5
  1686. CLASSIC_SMG_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.2
  1687. CLASSIC_SMG_ACCURACY_SPREAD_REDUCTION_SPEED = 0.6
  1688. CLASSIC_SMG_RECOIL_UP = -0.007
  1689. CLASSIC_SMG_RECOIL_SIDE = 0
  1690. CLASSIC_SMG_DAMAGE_TORSO = 20
  1691. CLASSIC_SMG_DAMAGE_HEAD = 20
  1692. CLASSIC_SMG_DAMAGE_ARMS = 20
  1693. CLASSIC_SMG_DAMAGE_LEGS = 20
  1694. CLASSIC_SMG_DAMAGE_ENTITY = 20
  1695. CLASSIC_SMG_DAMAGE_BLOCK = 2
  1696. CLASSIC_SMG_AMMO_MAX = 100
  1697. CLASSIC_SMG_AMMO_INITIAL_STOCK = SMG_AMMO_MAX
  1698. CLASSIC_SMG_AMMO_RESTOCK_AMOUNT = SMG_AMMO_MAX
  1699. CLASSIC_SMG_AMMO_CLIP_SIZE = 25
  1700. TOMMYGUN_RANGE = 500
  1701. TOMMYGUN_RELOAD_TIME = 2.0
  1702. TOMMYGUN_DELAY = 0.11
  1703. TOMMYGUN_SHOOT_INTERVAL = 0.12
  1704. TOMMYGUN_ACCURACY = 0.01
  1705. TOMMYGUN_ACCURACY_RANGE = 0.04
  1706. TOMMYGUN_ACCURACY_SPREAD_INITIAL = 1
  1707. TOMMYGUN_ACCURACY_SPREAD_RANGE = 4
  1708. TOMMYGUN_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.1
  1709. TOMMYGUN_ACCURACY_SPREAD_REDUCTION_SPEED = 0.5
  1710. TOMMYGUN_RECOIL_UP = -0.01
  1711. TOMMYGUN_RECOIL_SIDE = 0
  1712. TOMMYGUN_DAMAGE_TORSO = 30
  1713. TOMMYGUN_DAMAGE_HEAD = 35
  1714. TOMMYGUN_DAMAGE_ARMS = 30
  1715. TOMMYGUN_DAMAGE_LEGS = 30
  1716. TOMMYGUN_DAMAGE_ENTITY = 30
  1717. TOMMYGUN_DAMAGE_BLOCK = 1
  1718. TOMMYGUN_AMMO_MAX = 120
  1719. TOMMYGUN_AMMO_INITIAL_STOCK = TOMMYGUN_AMMO_MAX
  1720. TOMMYGUN_AMMO_RESTOCK_AMOUNT = TOMMYGUN_AMMO_MAX
  1721. TOMMYGUN_AMMO_CLIP_SIZE = 30
  1722. MINIGUN_RANGE = 100
  1723. MINIGUN_RELOAD_TIME = 2
  1724. MINIGUN_DELAY = 0.11
  1725. MINIGUN_SHOOT_INTERVAL = 0.3
  1726. MINIGUN_SHOOT_INTERVAL_ACTIVE_ALTERATION_PER_SECOND = -0.07
  1727. MINIGUN_SHOOT_INTERVAL_INACTIVE_ALTERATION_PER_SECOND = 0.09
  1728. MINIGUN_SHOOT_INTERVAL_RANGE = -0.2
  1729. MINIGUN_SHOOT_SOUND_LENGTH = 0.1
  1730. MINIGUN_BARREL_SPIN_SPEED_MAX = 5
  1731. MINIGUN_BARREL_SPIN_SPEED_MIN_TO_ALLOW_SHOOTING = 3
  1732. MINIGUN_BARREL_SPIN_SOUND_FADE_THRESHOLD = 0.03
  1733. MINIGUN_ACCURACY = 0.01
  1734. MINIGUN_ACCURACY_RANGE = 0.03
  1735. MINIGUN_ACCURACY_SPREAD_INITIAL = 2
  1736. MINIGUN_ACCURACY_SPREAD_RANGE = 7
  1737. MINIGUN_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.3
  1738. MINIGUN_ACCURACY_SPREAD_REDUCTION_SPEED = 2
  1739. MINIGUN_RECOIL_UP = -0.003
  1740. MINIGUN_RECOIL_SIDE = 2e-05
  1741. MINIGUN_DAMAGE_TORSO = 15
  1742. MINIGUN_DAMAGE_HEAD = 30
  1743. MINIGUN_DAMAGE_ARMS = 15
  1744. MINIGUN_DAMAGE_LEGS = 15
  1745. MINIGUN_DAMAGE_ENTITY = 20
  1746. MINIGUN_DAMAGE_BLOCK = 1
  1747. MINIGUN_AMMO_MAX = 400
  1748. MINIGUN_AMMO_INITIAL_STOCK = MINIGUN_AMMO_MAX
  1749. MINIGUN_AMMO_RESTOCK_AMOUNT = MINIGUN_AMMO_MAX
  1750. MINIGUN_AMMO_CLIP_SIZE = 100
  1751. SHOTGUN_RANGE = 75
  1752. SHOTGUN_RELOAD_TIME = 0.5
  1753. SHOTGUN_DELAY = 1.0
  1754. SHOTGUN_SHOOT_INTERVAL = 1
  1755. SHOTGUN_ACCURACY = 0.04
  1756. SHOTGUN_ACCURACY_RANGE = 0.04
  1757. SHOTGUN_ACCURACY_SPREAD_INITIAL = 4.0
  1758. SHOTGUN_ACCURACY_SPREAD_RANGE = 3.0
  1759. SHOTGUN_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.5
  1760. SHOTGUN_ACCURACY_SPREAD_REDUCTION_SPEED = 1.0
  1761. SHOTGUN_RECOIL_UP = -0.1
  1762. SHOTGUN_RECOIL_SIDE = 0.0002
  1763. SHOTGUN_DAMAGE_TORSO = 20
  1764. SHOTGUN_DAMAGE_HEAD = 30
  1765. SHOTGUN_DAMAGE_ARMS = 12
  1766. SHOTGUN_DAMAGE_LEGS = 12
  1767. SHOTGUN_DAMAGE_ENTITY = 25
  1768. SHOTGUN_DAMAGE_BLOCK = 1
  1769. SHOTGUN_AMMO_MAX = 45.0
  1770. SHOTGUN_AMMO_INITIAL_STOCK = SHOTGUN_AMMO_MAX
  1771. SHOTGUN_AMMO_RESTOCK_AMOUNT = SHOTGUN_AMMO_MAX
  1772. SHOTGUN_AMMO_CLIP_SIZE = 5
  1773. SHOTGUN_NUMBER_PELLETS = 12
  1774. CLASSIC_SHOTGUN_RANGE = 75
  1775. CLASSIC_SHOTGUN_RELOAD_TIME = 0.5
  1776. CLASSIC_SHOTGUN_DELAY = 1.0
  1777. CLASSIC_SHOTGUN_SHOOT_INTERVAL = 1
  1778. CLASSIC_SHOTGUN_ACCURACY = 0.04
  1779. CLASSIC_SHOTGUN_ACCURACY_RANGE = 0.04
  1780. CLASSIC_SHOTGUN_ACCURACY_SPREAD_INITIAL = 4.0
  1781. CLASSIC_SHOTGUN_ACCURACY_SPREAD_RANGE = 3.0
  1782. CLASSIC_SHOTGUN_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.5
  1783. CLASSIC_SHOTGUN_ACCURACY_SPREAD_REDUCTION_SPEED = 1.0
  1784. CLASSIC_SHOTGUN_RECOIL_UP = -0.1
  1785. CLASSIC_SHOTGUN_RECOIL_SIDE = 0.0002
  1786. CLASSIC_SHOTGUN_DAMAGE_TORSO = 20
  1787. CLASSIC_SHOTGUN_DAMAGE_HEAD = 30
  1788. CLASSIC_SHOTGUN_DAMAGE_ARMS = 12
  1789. CLASSIC_SHOTGUN_DAMAGE_LEGS = 12
  1790. CLASSIC_SHOTGUN_DAMAGE_ENTITY = 25
  1791. CLASSIC_SHOTGUN_DAMAGE_BLOCK = 1
  1792. CLASSIC_SHOTGUN_AMMO_MAX = 45.0
  1793. CLASSIC_SHOTGUN_AMMO_INITIAL_STOCK = SHOTGUN_AMMO_MAX
  1794. CLASSIC_SHOTGUN_AMMO_RESTOCK_AMOUNT = SHOTGUN_AMMO_MAX
  1795. CLASSIC_SHOTGUN_AMMO_CLIP_SIZE = 5
  1796. CLASSIC_SHOTGUN_NUMBER_PELLETS = 12
  1797. SHOTGUN2_RANGE = 30
  1798. SHOTGUN2_RELOAD_TIME = 0.7
  1799. SHOTGUN2_DELAY = 1.0
  1800. SHOTGUN2_SHOOT_INTERVAL = 0.5
  1801. SHOTGUN2_ACCURACY = 0.05
  1802. SHOTGUN2_ACCURACY_RANGE = 0.05
  1803. SHOTGUN2_ACCURACY_SPREAD_INITIAL = 4.0
  1804. SHOTGUN2_ACCURACY_SPREAD_RANGE = 3.0
  1805. SHOTGUN2_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.5
  1806. SHOTGUN2_ACCURACY_SPREAD_REDUCTION_SPEED = 1.0
  1807. SHOTGUN2_RECOIL_UP = -0.25
  1808. SHOTGUN2_RECOIL_SIDE = 0.0002
  1809. SHOTGUN2_DAMAGE_TORSO = 40
  1810. SHOTGUN2_DAMAGE_HEAD = 50
  1811. SHOTGUN2_DAMAGE_ARMS = 50
  1812. SHOTGUN2_DAMAGE_LEGS = 50
  1813. SHOTGUN2_DAMAGE_ENTITY = 25
  1814. SHOTGUN2_DAMAGE_BLOCK = 2
  1815. SHOTGUN2_AMMO_MAX = 20
  1816. SHOTGUN2_AMMO_INITIAL_STOCK = SHOTGUN2_AMMO_MAX
  1817. SHOTGUN2_AMMO_RESTOCK_AMOUNT = SHOTGUN2_AMMO_MAX
  1818. SHOTGUN2_AMMO_CLIP_SIZE = 2
  1819. SHOTGUN2_NUMBER_PELLETS = 20
  1820. SNIPER_RANGE = 10000
  1821. SNIPER_RELOAD_TIME = 2.0
  1822. SNIPER_DELAY = 1.0
  1823. SNIPER_SHOOT_INTERVAL = 1.0
  1824. SNIPER_ACCURACY = 0.1
  1825. SNIPER_ACCURACY_ZOOM = 0.0
  1826. SNIPER_RECOIL_UP = -0.06
  1827. SNIPER_RECOIL_SIDE = 0.0
  1828. SNIPER_DAMAGE_TORSO = 50
  1829. SNIPER_DAMAGE_HEAD = 175
  1830. SNIPER_DAMAGE_ARMS = 50.0
  1831. SNIPER_DAMAGE_LEGS = 50.0
  1832. SNIPER_DAMAGE_ENTITY = 100.0
  1833. SNIPER_DAMAGE_BLOCK = 5
  1834. SNIPER_AMMO_MAX = 15
  1835. SNIPER_AMMO_INITIAL_STOCK = SNIPER_AMMO_MAX
  1836. SNIPER_AMMO_RESTOCK_AMOUNT = SNIPER_AMMO_MAX
  1837. SNIPER_AMMO_CLIP_SIZE = 1
  1838. SNIPER_ZOOM_FACTOR = 1.5
  1839. SNIPER_ZOOM_SENSITIVITY_FACTOR = 0.5
  1840. SNIPER_LASER_START_DISTANCE = 1.5
  1841. SNIPER_LASER_FADE_IN_DISTANCE = 1.5
  1842. SNIPER_LASER_FADE_OUT_DISTANCE = 3.0
  1843. SNIPER_LASER_THICKNESS = (0.08, 0.08)
  1844. SNIPER_LASER_TILING = 2.0
  1845. SNIPER_LASER_MAX_DOT_SIZE = 0.015
  1846. SNIPER_LASER_MIN_DOT_SIZE = 0.01
  1847. SNIPER_LASER_THIRD_PERSON_SIZE = 0.07
  1848. SNIPER2_RANGE = 10000
  1849. SNIPER2_RELOAD_TIME = 3.0
  1850. SNIPER2_DELAY = 1.0
  1851. SNIPER2_SHOOT_INTERVAL = 1.0
  1852. SNIPER2_ACCURACY = 0.1
  1853. SNIPER2_ACCURACY_ZOOM = 0.0
  1854. SNIPER2_RECOIL_UP = -0.03
  1855. SNIPER2_RECOIL_SIDE = 0.0
  1856. SNIPER2_DAMAGE_TORSO = 35
  1857. SNIPER2_DAMAGE_HEAD = 95
  1858. SNIPER2_DAMAGE_ARMS = 35
  1859. SNIPER2_DAMAGE_LEGS = 35
  1860. SNIPER2_DAMAGE_ENTITY = 100.0
  1861. SNIPER2_DAMAGE_BLOCK = 3
  1862. SNIPER2_AMMO_MAX = 25
  1863. SNIPER2_AMMO_INITIAL_STOCK = SNIPER2_AMMO_MAX
  1864. SNIPER2_AMMO_RESTOCK_AMOUNT = SNIPER2_AMMO_MAX
  1865. SNIPER2_AMMO_CLIP_SIZE = 5
  1866. SNIPER2_ZOOM_FACTOR = 1.2
  1867. SNIPER2_ZOOM_SENSITIVITY_FACTOR = 0.5
  1868. RPG_RELOAD_TIME = 2.0
  1869. RPG_DELAY = 1.0
  1870. RPG_ACCURACY = 0.01
  1871. RPG_RECOIL_UP = -0.15
  1872. RPG_RECOIL_SIDE = 0
  1873. RPG_SHOOT_INTERVAL = 0.7
  1874. RPG_AMMO_MAX = 9
  1875. RPG_AMMO_INITIAL_STOCK = RPG_AMMO_MAX
  1876. RPG_AMMO_RESTOCK_AMOUNT = RPG_AMMO_MAX
  1877. RPG_AMMO_CLIP_SIZE = 1
  1878. ROCKET_SPEED = 75
  1879. ROCKET_GRAVITY_MULTIPLIER = 0.05
  1880. ROCKET_COLLISION_RANGE = 0.5
  1881. SMOKE_INTERVAL = 1.2
  1882. ROCKET_EXPLOSION_RADIUS = 4.0
  1883. ROCKET_EXPLOSION_BLAST_WAVE_RADIUS = 4.0
  1884. ROCKET_EXPLOSION_DAMAGE = 150
  1885. ROCKET_EXPLOSION_BLOCK_DAMAGE = 5
  1886. ROCKET_EXPLOSION_KNOCKBACK_MAX = 1.0
  1887. ROCKET_EXPLOSION_KNOCKBACK_MIN = 0.5
  1888. ROCKET_MODEL_SIZE = 0.06
  1889. ROCKET_MODEL_Z_OFFSET = 0.0
  1890. ROCKET_HEALTH = 1
  1891. RPG2_RELOAD_TIME = 1.0
  1892. RPG2_DELAY = 0.75
  1893. RPG2_ACCURACY = 0.02
  1894. RPG2_RECOIL_UP = -0.05
  1895. RPG2_RECOIL_SIDE = 0
  1896. RPG2_SHOOT_INTERVAL = 0.75
  1897. RPG2_AMMO_MAX = 12
  1898. RPG2_AMMO_INITIAL_STOCK = RPG2_AMMO_MAX
  1899. RPG2_AMMO_RESTOCK_AMOUNT = RPG2_AMMO_MAX
  1900. RPG2_AMMO_CLIP_SIZE = 3
  1901. ROCKET2_SPEED = 150
  1902. ROCKET2_GRAVITY_MULTIPLIER = 0.025
  1903. ROCKET2_COLLISION_RANGE = 0.5
  1904. SMOKE_INTERVAL = 1.2
  1905. ROCKET2_EXPLOSION_RADIUS = 3.0
  1906. ROCKET2_EXPLOSION_BLAST_WAVE_RADIUS = 3.0
  1907. ROCKET2_EXPLOSION_DAMAGE = 75
  1908. ROCKET2_EXPLOSION_BLOCK_DAMAGE = 2
  1909. ROCKET2_EXPLOSION_KNOCKBACK_MAX = 1.0
  1910. ROCKET2_EXPLOSION_KNOCKBACK_MIN = 0.5
  1911. ROCKET2_EXPLOSION_SELF_KNOCKBACK_MAX = 0.25
  1912. ROCKET2_EXPLOSION_SELF_KNOCKBACK_MIN = 0.0
  1913. ROCKET2_MODEL_SIZE = 0.06
  1914. ROCKET2_MODEL_Z_OFFSET = 0.0
  1915. ROCKET2_HEALTH = 1
  1916. SNOWBLOWER_RELOAD_TIME = 3.0
  1917. SNOWBLOWER_DELAY = 1.0
  1918. SNOWBLOWER_ACCURACY = 0.02
  1919. SNOWBLOWER_RECOIL_UP = 0.0
  1920. SNOWBLOWER_RECOIL_SIDE = 0
  1921. SNOWBLOWER_SHOOT_INTERVAL = 0.2
  1922. SNOWBLOWER_AMMO_MAX = 9
  1923. SNOWBLOWER_AMMO_CLIP_SIZE = 3.0
  1924. SNOWBALL_SPEED = 50
  1925. SNOWBALL_GRAVITY_MULTIPLIER = 0.5
  1926. SNOWBALL_EXPLOSION_RADIUS = 4.0
  1927. SNOWBALL_EXPLOSION_DAMAGE = 25
  1928. SNOWBALL_EXPLOSION_BLOCK_DAMAGE = 0
  1929. SNOWBALL_EXPLOSION_KNOCKBACK_MAX = 0.1
  1930. SNOWBALL_EXPLOSION_KNOCKBACK_MIN = 0.1
  1931. DRILLGUN_RELOAD_TIME = 4.0
  1932. DRILLGUN_DELAY = 1.0
  1933. DRILLGUN_ACCURACY = 0.04
  1934. DRILLGUN_RECOIL_UP = -0.1
  1935. DRILLGUN_RECOIL_SIDE = 0.0002
  1936. DRILLGUN_SHOOT_INTERVAL = 0.2
  1937. DRILLGUN_AMMO_MAX = 4.0
  1938. DRILLGUN_AMMO_INITIAL_STOCK = 1
  1939. DRILLGUN_AMMO_RESTOCK_AMOUNT = 2
  1940. DRILLGUN_AMMO_CLIP_SIZE = 1.0
  1941. DRILL_SPEED = 20.0
  1942. DRILL_GRAVITY_MULTIPLIER = 1.5
  1943. DRILL_COLLISION_RANGE = 0.5
  1944. DRILL_OWNER_EXPLOSION_PROTECTION_TIME = 1
  1945. DRILL_EXPLOSION_RADIUS = 3.0
  1946. DRILL_EXPLOSION_DAMAGE = 50
  1947. DRILL_EXPLOSION_BLOCK_DAMAGE = 5.0
  1948. DRILL_EXPLOSION_KNOCKBACK_MAX = 0.1
  1949. DRILL_EXPLOSION_KNOCKBACK_MIN = 0.01
  1950. DRILL_DESTROYED_EXPLOSION_RADIUS = 3.5
  1951. DRILL_DESTROYED_EXPLOSION_DAMAGE = 95
  1952. DRILL_DESTROYED_EXPLOSION_BLOCK_DAMAGE = 10.0
  1953. DRILL_DESTROYED_EXPLOSION_KNOCKBACK_MAX = 0.2
  1954. DRILL_DESTROYED_EXPLOSION_KNOCKBACK_MIN = 0.1
  1955. DRILL_LIFESPAN = 3.0
  1956. DRILL_DIGGING_SPEED = 20.0
  1957. DRILL_DIG_SLOWDOWN_DURATION = 0.5
  1958. DRILL_FLYING_SPEED = 40.0
  1959. DRILL_MODEL_SIZE = 0.06
  1960. DRILL_MODEL_Z_OFFSET = 0.0
  1961. DRILL_HEALTH = 10
  1962. ENTITY_BILLBOARD_Z_OFFSET = 1.0
  1963. MG_DEPLOYMENT_TIME = 5.0
  1964. MG_WITHDRAWAL_TIME = 2.0
  1965. MG_RANGE = 300
  1966. MG_DEPLOYED_RANGE = 300
  1967. MG_RELOAD_TIME = 4.0
  1968. MG_DEPLOYED_RELOAD_TIME = 4.0
  1969. MG_DELAY = 0.11
  1970. MG_SHOOT_INTERVAL = 0.5
  1971. MG_DEPLOYED_SHOOT_INTERVAL = 0.1
  1972. MG_ACCURACY = 0.01
  1973. MG_DEPLOYED_ACCURACY = 0.01
  1974. MG_ACCURACY_RANGE = 0.05
  1975. MG_DEPLOYED_ACCURACY_RANGE = 0.005
  1976. MG_ACCURACY_SPREAD_INITIAL = 1
  1977. MG_DEPLOYED_ACCURACY_SPREAD_INITIAL = 1
  1978. MG_ACCURACY_SPREAD_RANGE = 5
  1979. MG_DEPLOYED_ACCURACY_SPREAD_RANGE = 5
  1980. MG_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.2
  1981. MG_DEPLOYED_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.2
  1982. MG_ACCURACY_SPREAD_REDUCTION_SPEED = 0.6
  1983. MG_DEPLOYED_ACCURACY_SPREAD_REDUCTION_SPEED = 0.6
  1984. MG_RECOIL_UP = -0.007
  1985. MG_DEPLOYED_RECOIL_UP = -0.007
  1986. MG_RECOIL_SIDE = 0
  1987. MG_DEPLOYED_RECOIL_SIDE = 0
  1988. MG_DAMAGE_TORSO = 30
  1989. MG_DEPLOYED_DAMAGE_TORSO = 30
  1990. MG_DAMAGE_HEAD = 20
  1991. MG_DEPLOYED_DAMAGE_HEAD = 20
  1992. MG_DAMAGE_ARMS = 20
  1993. MG_DEPLOYED_DAMAGE_ARMS = 20
  1994. MG_DAMAGE_LEGS = 20
  1995. MG_DEPLOYED_DAMAGE_LEGS = 20
  1996. MG_DAMAGE_ENTITY = 20
  1997. MG_DEPLOYED_DAMAGE_ENTITY = 20
  1998. MG_DAMAGE_BLOCK = 2
  1999. MG_DEPLOYED_DAMAGE_BLOCK = 2
  2000. MG_AMMO_MAX = 400
  2001. MG_AMMO_INITIAL_STOCK = MG_AMMO_MAX
  2002. MG_AMMO_RESTOCK_AMOUNT = MG_AMMO_MAX
  2003. MG_AMMO_CLIP_SIZE = 100
  2004. MG_VERTICAL_ANGLE_RANGE = 30
  2005. MG_HORIZONTAL_ANGLE_RANGE = 30
  2006. MG_MODEL_SIZE = 0.06
  2007. MG_BASE_MODEL_OFFSET_Z = -25.0 * MG_MODEL_SIZE
  2008. MG_TOP_MODEL_OFFSET_Z = -25.0 * MG_MODEL_SIZE
  2009. MG_FAR_RADIUS = 5.0
  2010. MG_EXPLOSION_RADIUS = 3.0
  2011. MG_EXPLOSION_DAMAGE = 100
  2012. MG_EXPLOSION_BLOCK_DAMAGE = 5
  2013. MG_EXPLOSION_KNOCKBACK_MAX = 1.0
  2014. MG_EXPLOSION_KNOCKBACK_MIN = 0.2
  2015. MG_HEALTH = 100
  2016. MG_AMMO = 999
  2017. ROCKET_TURRET_STOCK = 4
  2018. ROCKET_TURRET_INITIAL_STOCK = 2
  2019. ROCKET_TURRET_RESTOCK_AMOUNT = 2
  2020. ROCKET_TURRET_FAR_RADIUS = 5.0
  2021. ROCKET_TURRET_SHOOT_INTERVAL = 1.5
  2022. ROCKET_TURRET_TRACKING_RANGE = 50.0
  2023. ROCKET_TURRET_DETECTION_RANGE = 30.0
  2024. ROCKET_TURRET_TOLERANCE = 0.1
  2025. ROCKET_TURRET_AIMING_SPEED = 90
  2026. ROCKET_TURRET_LOWER_PITCH_LIMIT = 30
  2027. ROCKET_TURRET_MODEL_SIZE = 0.06
  2028. ROCKET_TURRET_HEALTH = 100
  2029. ROCKET_TURRET_BASE_MODEL_OFFSET_Z = -3.0 * ROCKET_TURRET_MODEL_SIZE
  2030. ROCKET_TURRET_BALL_MODEL_OFFSET_Z = -17.0 * ROCKET_TURRET_MODEL_SIZE
  2031. ROCKET_TURRET_GUN_MODEL_OFFSET_Z = -11.0 * ROCKET_TURRET_MODEL_SIZE
  2032. ROCKET_TURRET_AMMO = 10
  2033. ROCKET_TURRET_EXPLOSION_RADIUS = 3.0
  2034. ROCKET_TURRET_EXPLOSION_DAMAGE = 100
  2035. ROCKET_TURRET_EXPLOSION_BLOCK_DAMAGE = 5
  2036. ROCKET_TURRET_EXPLOSION_KNOCKBACK_MAX = 1.0
  2037. ROCKET_TURRET_EXPLOSION_KNOCKBACK_MIN = 0.2
  2038. ROCKET_TURRET_ROCKET_EXPLOSION_RADIUS = 2
  2039. ROCKET_TURRET_ROCKET_EXPLOSION_DAMAGE = 50
  2040. ROCKET_TURRET_ROCKET_EXPLOSION_BLOCK_DAMAGE = 3
  2041. ROCKET_TURRET_ROCKET_EXPLOSION_KNOCKBACK_MAX = 0.3
  2042. ROCKET_TURRET_ROCKET_EXPLOSION_KNOCKBACK_MIN = 0.1
  2043. ROCKET_TURRET_AMMO_TEXT_RADIUS = 20
  2044. DYNAMITE_STOCK = 3
  2045. DYNAMITE_INITIAL_STOCK = 1
  2046. DYNAMITE_RESTOCK_AMOUNT = DYNAMITE_STOCK
  2047. DYNAMITE_SHOOT_INTERVAL = 1.0
  2048. DYNAMITE_EXPLOSION_FUSE = 7
  2049. DYNAMITE_EXPLOSION_RADIUS = 5
  2050. DYNAMITE_EXPLOSION_DAMAGE = 300.0
  2051. DYNAMITE_EXPLOSION_BLOCK_DAMAGE = 7
  2052. DYNAMITE_EXPLOSION_KNOCKBACK_MAX = 3.0
  2053. DYNAMITE_EXPLOSION_KNOCKBACK_MIN = 2.0
  2054. DYNAMITE_FAR_RADIUS = 5.0
  2055. DYNAMITE_MODEL_SIZE = 0.06
  2056. DYNAMITE_HEALTH = 1
  2057. DYNAMITE_MODEL_Z_OFFSET = -0.2
  2058. MOLOTOV_STOCK = 3
  2059. MOLOTOV_INITIAL_STOCK = 3
  2060. MOLOTOV_RESTOCK_AMOUNT = MOLOTOV_STOCK
  2061. MOLOTOV_SHOOT_INTERVAL = 1.0
  2062. MOLOTOV_THROW_MAX_CHARGE = 3
  2063. MOLOTOV_THROW_SPEED = 40.0
  2064. MOLOTOV_THROW_MIN_SPEED = 35.0
  2065. MOLOTOV_GRAVITY_MULTIPLIER = 1.0
  2066. MOLOTOV_EXPLOSION_RADIUS = 4
  2067. MOLOTOV_EXPLOSION_DAMAGE = 50
  2068. MOLOTOV_EXPLOSION_BLOCK_DAMAGE = 3
  2069. MOLOTOV_EXPLOSION_KNOCKBACK_MAX = 0.1
  2070. MOLOTOV_EXPLOSION_KNOCKBACK_MIN = 0.0
  2071. MOLOTOV_ACCURACY_SPREAD_INITIAL = 6.0
  2072. MOLOTOV_ACCURACY_SPREAD_RANGE = 0.0
  2073. MOLOTOV_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.0
  2074. MOLOTOV_ACCURACY_SPREAD_REDUCTION_SPEED = 0.0
  2075. BLOCKFIRE_CHARACTER_DAMAGE = 2.5
  2076. BLOCKFIRE_CHARACTER_DAMAGE_TIMER = 0.3
  2077. BLOCKFIRE_CHARACTER_SPREAD_RANGE = 3
  2078. BLOCKFIRE_CHARACTER_DURATION = 10
  2079. BLOCKFIRE_BLOCK_DAMAGE = 0.7
  2080. BLOCKFIRE_BLOCK_DAMAGE_TIMER = 0.4
  2081. BLOCKFIRE_MAX_LIFESPAN = 4.0
  2082. BLOCKFIRE_SPREAD_COUNT = 5
  2083. BLOCKFIRE_SPREAD_TIMER = 0.5
  2084. BLOCKFIRE_SPREAD_RADIUS = 2.0
  2085. BLOCKFIRE_MAX_RANDOM_CHANCE = 0.3
  2086. BLOCKFIRE_BLOCKS_TO_ATTEMPT_TO_LIGHT = -1
  2087. BLOCKFIRE_MAX_FALLING_DISTANCE = 1.0
  2088. BLOCKFIRE_INITIAL_SPREAD_RADIUS = 2
  2089. BLOCKFIRE_HOT_COLOUR = (255, 255, 255)
  2090. BLOCKFIRE_MID_COLOUR = (255, 255, 0)
  2091. BLOCKFIRE_COLD_COLOUR = (255, 0, 0)
  2092. LANDMINE_STOCK = 3
  2093. LANDMINE_INITIAL_STOCK = 1
  2094. LANDMINE_RESTOCK_AMOUNT = LANDMINE_STOCK
  2095. LANDMINE_SHOOT_INTERVAL = 1.0
  2096. LANDMINE_EXPLOSION_RADIUS = 2.0
  2097. LANDMINE_EXPLOSION_BLAST_WAVE_RADIUS = 4.0
  2098. LANDMINE_ACTIVATION_TIMER = 4
  2099. LANDMINE_DETECTION_RANGE = 1.5
  2100. LANDMINE_DETECTION_LAYERS = 3
  2101. LANDMINE_EXPLOSION_AND_DETECTION_VERTICAL_OFFSET = -0.5
  2102. LANDMINE_EXPLOSION_DAMAGE = 300
  2103. LANDMINE_EXPLOSION_BLOCK_DAMAGE = 15
  2104. LANDMINE_EXPLOSION_KNOCKBACK_MAX = 1.5
  2105. LANDMINE_EXPLOSION_KNOCKBACK_MIN = 1.5
  2106. LANDMINE_FAR_RADIUS = 5.0
  2107. LANDMINE_MODEL_SIZE = 0.05
  2108. LANDMINE_HEALTH = 1
  2109. LANDMINE_MODEL_Z_OFFSET = 0.0
  2110. GRENADE_STOCK = 4
  2111. GRENADE_INITIAL_STOCK = 2
  2112. GRENADE_RESTOCK_AMOUNT = GRENADE_STOCK
  2113. GRENADE_SHOOT_INTERVAL = 0.5
  2114. GRENADE_THROW_SPEED = 50.0
  2115. GRENADE_THROW_MIN_SPEED = 25
  2116. GRENADE_EXPLOSION_FUSE = 2.5
  2117. GRENADE_EXPLOSION_RADIUS = 4
  2118. GRENADE_EXPLOSION_DAMAGE = 230.0
  2119. GRENADE_EXPLOSION_BLOCK_DAMAGE = 4
  2120. GRENADE_EXPLOSION_KNOCKBACK_MAX = 1.0
  2121. GRENADE_EXPLOSION_KNOCKBACK_MIN = 0.5
  2122. GRENADE_SHRAPNEL_DAMAGE_TORSO = 50
  2123. GRENADE_SHRAPNEL_DAMAGE_HEAD = 50
  2124. GRENADE_SHRAPNEL_DAMAGE_ARMS = 50
  2125. GRENADE_SHRAPNEL_DAMAGE_LEGS = 50
  2126. GRENADE_SHRAPNEL_DAMAGE_ENTITY = 50
  2127. GRENADE_ACCURACY_SPREAD_INITIAL = 6.0
  2128. GRENADE_ACCURACY_SPREAD_RANGE = 0.0
  2129. GRENADE_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.0
  2130. GRENADE_ACCURACY_SPREAD_REDUCTION_SPEED = 0.0
  2131. ANTIPERSONNEL_GRENADE_STOCK = 4
  2132. ANTIPERSONNEL_GRENADE_INITIAL_STOCK = 2
  2133. ANTIPERSONNEL_GRENADE_RESTOCK_AMOUNT = ANTIPERSONNEL_GRENADE_STOCK
  2134. ANTIPERSONNEL_GRENADE_SHOOT_INTERVAL = 0.5
  2135. ANTIPERSONNEL_GRENADE_THROW_SPEED = 50.0
  2136. ANTIPERSONNEL_GRENADE_THROW_MIN_SPEED = 25
  2137. ANTIPERSONNEL_GRENADE_EXPLOSION_FUSE = 2.5
  2138. ANTIPERSONNEL_GRENADE_EXPLOSION_RADIUS = 2.0
  2139. ANTIPERSONNEL_GRENADE_EXPLOSION_BLAST_WAVE_RADIUS = 6.0
  2140. ANTIPERSONNEL_GRENADE_EXPLOSION_DAMAGE = 500.0
  2141. ANTIPERSONNEL_GRENADE_EXPLOSION_BLOCK_DAMAGE = 0.5
  2142. ANTIPERSONNEL_GRENADE_EXPLOSION_KNOCKBACK_MAX = 0.5
  2143. ANTIPERSONNEL_GRENADE_EXPLOSION_KNOCKBACK_MIN = 0.25
  2144. ANTIPERSONNEL_GRENADE_ACCURACY_SPREAD_INITIAL = 6.0
  2145. ANTIPERSONNEL_GRENADE_ACCURACY_SPREAD_RANGE = 0.0
  2146. ANTIPERSONNEL_GRENADE_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.0
  2147. ANTIPERSONNEL_GRENADE_ACCURACY_SPREAD_REDUCTION_SPEED = 0.0
  2148. CLASSIC_SPADE_SHOOT_INTERVAL = 0.3
  2149. CLASSIC_SPADE_DAMAGE_AMOUNT = 3
  2150. CLASSIC_SPADE_SECONDARY_DAMAGE_AMOUNT = 5
  2151. CLASSIC_SPADE_HITPLAYER_DAMAGE_AMOUNT = 50
  2152. RIFLE_RANGE = 10000
  2153. RIFLE_RELOAD_TIME = 1.25
  2154. RIFLE_DELAY = 0.5
  2155. RIFLE_SHOOT_INTERVAL = 0.5
  2156. RIFLE_ACCURACY = 0.003
  2157. RIFLE_RECOIL_UP = -0.05
  2158. RIFLE_RECOIL_SIDE = 0.0001
  2159. RIFLE_DAMAGE_TORSO = 70.0
  2160. RIFLE_DAMAGE_HEAD = 150.0
  2161. RIFLE_DAMAGE_ARMS = 35
  2162. RIFLE_DAMAGE_LEGS = 35
  2163. RIFLE_DAMAGE_ENTITY = 25.0
  2164. RIFLE_DAMAGE_BLOCK = 2
  2165. RIFLE_AMMO_MAX = 50.0
  2166. RIFLE_AMMO_INITIAL_STOCK = RIFLE_AMMO_MAX
  2167. RIFLE_AMMO_RESTOCK_AMOUNT = RIFLE_AMMO_MAX
  2168. RIFLE_AMMO_CLIP_SIZE = 10.0
  2169. CLASSIC_GRENADE_STOCK = 4
  2170. CLASSIC_GRENADE_INITIAL_STOCK = 2
  2171. CLASSIC_GRENADE_RESTOCK_AMOUNT = CLASSIC_GRENADE_STOCK
  2172. CLASSIC_GRENADE_SHOOT_INTERVAL = 0.5
  2173. CLASSIC_GRENADE_THROW_SPEED = 50.0
  2174. CLASSIC_GRENADE_EXPLOSION_FUSE = 2.5
  2175. CLASSIC_GRENADE_EXPLOSION_RADIUS = 2.0
  2176. CLASSIC_GRENADE_EXPLOSION_BLAST_WAVE_RADIUS = 9.0
  2177. CLASSIC_GRENADE_EXPLOSION_DAMAGE = 130.0
  2178. CLASSIC_GRENADE_EXPLOSION_BLOCK_DAMAGE = 15
  2179. CLASSIC_GRENADE_EXPLOSION_KNOCKBACK_MAX = 0.8
  2180. CLASSIC_GRENADE_EXPLOSION_KNOCKBACK_MIN = 0.1
  2181. CLASSIC_GRENADE_ACCURACY_SPREAD_INITIAL = 6.0
  2182. CLASSIC_GRENADE_ACCURACY_SPREAD_RANGE = 0.0
  2183. CLASSIC_GRENADE_ACCURACY_SPREAD_INCREASE_PER_SHOT = 0.0
  2184. CLASSIC_GRENADE_ACCURACY_SPREAD_REDUCTION_SPEED = 0.0
  2185. CORPSE_EXPLOSION_FUSE = 0
  2186. CORPSE_EXPLOSION_JETPACK_FUSE = 1.0
  2187. CORPSE_EXPLOSION_RADIUS = 3
  2188. CORPSE_EXPLOSION_DAMAGE = 1
  2189. CORPSE_EXPLOSION_BLOCK_DAMAGE = 1
  2190. CORPSE_EXPLOSION_KNOCKBACK_MAX = 1.0
  2191. CORPSE_EXPLOSION_KNOCKBACK_MIN = 0.5
  2192. VIP_CORPSE_EXPLOSION_RADIUS = 10
  2193. VIP_CORPSE_EXPLOSION_DAMAGE = 75.0
  2194. VIP_CORPSE_EXPLOSION_BLOCK_DAMAGE = 20
  2195. VIP_CORPSE_EXPLOSION_KNOCKBACK_MAX = 3
  2196. VIP_CORPSE_EXPLOSION_KNOCKBACK_MIN = 2
  2197. GRAVE_EXPLOSION_FUSE = 7
  2198. GRAVE_EXPLOSION_RADIUS = 2
  2199. GRAVE_EXPLOSION_DAMAGE = 25
  2200. GRAVE_EXPLOSION_BLOCK_DAMAGE = 4
  2201. GRAVE_EXPLOSION_KNOCKBACK_MAX = 0
  2202. GRAVE_EXPLOSION_KNOCKBACK_MIN = 0
  2203. BOMB_EXPLOSION_FUSE = 10.0
  2204. BOMB_EXPLOSION_RADIUS = 7
  2205. BOMB_EXPLOSION_DAMAGE = 500
  2206. BOMB_EXPLOSION_BLOCK_DAMAGE = 10
  2207. BOMB_EXPLOSION_KNOCKBACK_MAX = 3.0
  2208. BOMB_EXPLOSION_KNOCKBACK_MIN = 2.0
  2209. BOMB_THROW_SPEED = 15
  2210. DIAMOND_THROW_SPEED = 30
  2211. INTEL_THROW_SPEED = 20
  2212. INTEL_MINIMAP_EXPOSURE_TIME = 30
  2213. AIRSTRIKE_EXPLOSION_RADIUS = 6
  2214. AIRSTRIKE_EXPLOSION_DAMAGE = 400.0
  2215. AIRSTRIKE_EXPLOSION_BLOCK_DAMAGE = 15
  2216. AIRSTRIKE_EXPLOSION_KNOCKBACK_MAX = 2.0
  2217. AIRSTRIKE_EXPLOSION_KNOCKBACK_MIN = 1.0
  2218. AIRSTRIKE_SHELL_SPEED = 100
  2219. AIRSTRIKE_GRAVITY_MULTIPLIER = 100
  2220. TANK_GRAVITY_MULTIPLIER = 1.0
  2221. TANK_SPEED_FORWARD = 100.0
  2222. TANK_SPEED_BACK = 50.0
  2223. TANK_SPEED_LEFT = 1.0
  2224. TANK_SPEED_RIGHT = 1.0
  2225. TANK_RIDER_VERTICAL_OFFSET = 5.0
  2226. TANK_CAMERA_DISTANCE = 12.0
  2227. TANK_CONTACT_POINT_COUNT = 4
  2228. TANK_TRACK_LENGTH = 3.0
  2229. TANK_TRACK_SEPARATION = 3.0
  2230. 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)
  2231. JETPACK_PROPERTIES = {JETPACK_NORMAL: {JETPACK_START_DELAY: 0.25,
  2232. JETPACK_MAX_FUEL: 100,
  2233. JETPACK_FUEL_ACTIVATION_COST: 10,
  2234. JETPACK_FUEL_REFILL_RATE: 10,
  2235. JETPACK_FUEL_FLYING_CONSUMPTION: 75,
  2236. JETPACK_BURDENED_SLOW_DOWN: 0.5,
  2237. JETPACK_FUEL_REFILL_DELAY_DUE_DAMAGE: 1.0,
  2238. JETPACK_DAMAGE_MULTIPLIER: 1.0,
  2239. JETPACK_DEATH_ACCELERATION: 3},
  2240. JETPACK2: {JETPACK_START_DELAY: 0.25,
  2241. JETPACK_MAX_FUEL: 100,
  2242. JETPACK_FUEL_ACTIVATION_COST: 10,
  2243. JETPACK_FUEL_REFILL_RATE: 9,
  2244. JETPACK_FUEL_FLYING_CONSUMPTION: 17,
  2245. JETPACK_BURDENED_SLOW_DOWN: 0.5,
  2246. JETPACK_FUEL_REFILL_DELAY_DUE_DAMAGE: 1.0,
  2247. JETPACK_DAMAGE_MULTIPLIER: 1.0,
  2248. JETPACK_DEATH_ACCELERATION: 0.25}}
  2249. BLOCKFIRE_SMOKE_GENERATION_MIN_RATE = 1.0
  2250. BLOCKFIRE_SMOKE_GENERATION_MAX_RATE = 2.0
  2251. BLOCKFIRE_SMOKE_GENERATION_PARTICLE_DECAY = -1
  2252. BLOCKFIRE_SMOKE_GENERATION_PARTICLE_LIFESPAN = 3
  2253. BLOCKFIRE_SMOKE_GENERATION_PARTICLE_MIN_SIZE = 4
  2254. BLOCKFIRE_SMOKE_GENERATION_PARTICLE_MAX_SIZE = 8
  2255. BLOCKFIRE_SMOKE_GENERATION_MIN_VELOCITY = 0.0
  2256. BLOCKFIRE_SMOKE_GENERATION_MAX_VELOCITY = 0.1
  2257. CHARACTER_MOLOTOV_SMOKE_GENERATION_RATE = 0.02
  2258. CHARACTER_MOLOTOV_SMOKE_GENERATION_PARTICLE_DECAY = -1
  2259. CHARACTER_MOLOTOV_SMOKE_GENERATION_PARTICLE_LIFESPAN = 1
  2260. CHARACTER_MOLOTOV_SMOKE_GENERATION_PARTICLE_MIN_SIZE = 2
  2261. CHARACTER_MOLOTOV_SMOKE_GENERATION_PARTICLE_MAX_SIZE = 5
  2262. CHARACTER_MOLOTOV_SMOKE_GENERATION_MIN_VELOCITY = 0.0
  2263. CHARACTER_MOLOTOV_SMOKE_GENERATION_MAX_VELOCITY = 0.1
  2264. MOLOTOV_SMOKE_GENERATION_PARTICLE_DECAY = -1
  2265. MOLOTOV_SMOKE_GENERATION_PARTICLE_LIFESPAN = 2
  2266. MOLOTOV_SMOKE_GENERATION_PARTICLE_MIN_SIZE = 3
  2267. MOLOTOV_SMOKE_GENERATION_PARTICLE_MAX_SIZE = 5
  2268. JETPACK_SMOKE_GENERATION_RATE = 0.02
  2269. JETPACK_SMOKE_GENERATION_NUMBER_OF_PARTICLES = 2
  2270. JETPACK_SMOKE_GENERATION_PARTICLE_SPREAD = 0.01
  2271. JETPACK_SMOKE_GENERATION_PARTICLE_LIFESPAN = 5
  2272. JETPACK_SMOKE_GENERATION_PARTICLE_DECAY = -1
  2273. JETPACK_SMOKE_GENERATION_PARTICLE_SIZE = 2
  2274. JETPACK_SPRINT_SMOKE_GENERATION_RATE = 0.01
  2275. JETPACK_SPRINT_SMOKE_GENERATION_NUMBER_OF_PARTICLES = 2
  2276. JETPACK_SPRINT_SMOKE_GENERATION_PARTICLE_SPREAD = 0.01
  2277. JETPACK_SPRINT_SMOKE_GENERATION_PARTICLE_LIFESPAN = 2
  2278. JETPACK_SPRINT_SMOKE_GENERATION_PARTICLE_DECAY = -1
  2279. JETPACK_SPRINT_SMOKE_GENERATION_PARTICLE_MIN_ROT = 160
  2280. JETPACK_SPRINT_SMOKE_GENERATION_PARTICLE_MAX_ROT = 200
  2281. JETPACK_SPRINT_SMOKE_GENERATION_PARTICLE_MIN_SIZE = 2
  2282. JETPACK_SPRINT_SMOKE_GENERATION_PARTICLE_MAX_SIZE = 4
  2283. ROCKET_SMOKE_VELOCITY_MULTIPLIER = 0.7
  2284. ROCKET_SMOKE_VELOCITY_RANDOM_MIN_MULTIPLIER = 0.0
  2285. ROCKET_SMOKE_VELOCITY_RANDOM_MAX_MULTIPLIER = 0.05
  2286. ROCKET_SMOKE_INITIAL_SIZE_RANDOM_MIN = 3
  2287. ROCKET_SMOKE_INITIAL_SIZE_RANDOM_MAX = 6
  2288. ROCKET_SMOKE_INITIAL_ROTATION_RANDOM_MIN = 160
  2289. ROCKET_SMOKE_INITIAL_ROTATION_RANDOM_MAX = 200
  2290. ROCKET_SMOKE_LIFETIME = 2.5
  2291. ROCKET_SMOKE_DECAY_RATE_MIN = 1
  2292. ROCKET_SMOKE_DECAY_RATE_MAX = 1
  2293. ROCKET_SMOKE_DECAY_RATE_DEFAULT = -1
  2294. SNOWBALL_SMOKE_VELOCITY_MULTIPLIER = 0.7
  2295. SNOWBALL_SMOKE_VELOCITY_RANDOM_MIN_MULTIPLIER = 0.0
  2296. SNOWBALL_SMOKE_VELOCITY_RANDOM_MAX_MULTIPLIER = 0.05
  2297. SNOWBALL_SMOKE_INITIAL_SIZE_RANDOM_MIN = 0.2
  2298. SNOWBALL_SMOKE_INITIAL_SIZE_RANDOM_MAX = 0.5
  2299. SNOWBALL_SMOKE_INITIAL_ROTATION_RANDOM_MIN = 160
  2300. SNOWBALL_SMOKE_INITIAL_ROTATION_RANDOM_MAX = 200
  2301. SNOWBALL_SMOKE_LIFETIME = 0.5
  2302. SNOWBALL_SMOKE_DECAY_RATE_MIN = 1
  2303. SNOWBALL_SMOKE_DECAY_RATE_MAX = 1
  2304. SNOWBALL_SMOKE_DECAY_RATE_DEFAULT = -1
  2305. BLOCK_SMOKE_TRAIL_INITIAL_SIZE_RANDOM_MIN = ROCKET_SMOKE_INITIAL_SIZE_RANDOM_MIN
  2306. BLOCK_SMOKE_TRAIL_INITIAL_SIZE_RANDOM_MAX = ROCKET_SMOKE_INITIAL_SIZE_RANDOM_MAX
  2307. BLOCK_SMOKE_TRAIL_INITIAL_ROTATION_RANDOM_MIN = ROCKET_SMOKE_INITIAL_ROTATION_RANDOM_MIN
  2308. BLOCK_SMOKE_TRAIL_INITIAL_ROTATION_RANDOM_MAX = ROCKET_SMOKE_INITIAL_ROTATION_RANDOM_MAX
  2309. BLOCK_SMOKE_TRAIL_LIFETIME = 1.0
  2310. INITIAL_HEALTH = 100.0
  2311. CLASSIC_SPAWN_PROTECTION_TIME = 3.0
  2312. SPAWN_PROTECTION_TIME = 1.5
  2313. SPAWN_COLOR_MULTIPLIER = 2.0
  2314. SPAWN_OFFSET_X = 0.5
  2315. SPAWN_OFFSET_Y = 0.5
  2316. SPAWN_OFFSET_Z = -2.4
  2317. MAP_X = 512
  2318. MAP_Y = 512
  2319. MAP_Z = 240
  2320. Z_ABOVE_WATERPLANE = MAP_Z - 2
  2321. GROUND_COLORS = ((80, 96, 80, 0),
  2322. (96,
  2323. 88,
  2324. 72,
  2325. int(0.58 * MAP_Z)),
  2326. (112,
  2327. 80,
  2328. 64,
  2329. int(0.94 * MAP_Z)),
  2330. (128,
  2331. 72,
  2332. 56,
  2333. int(0.66 * MAP_Z)),
  2334. (112,
  2335. 64,
  2336. 58,
  2337. int(0.78 * MAP_Z)),
  2338. (96,
  2339. 56,
  2340. 40,
  2341. int(0.86 * MAP_Z)),
  2342. (80,
  2343. 48,
  2344. 32,
  2345. int(0.94 * MAP_Z)),
  2346. (64,
  2347. 40,
  2348. 24,
  2349. MAP_Z - 2),
  2350. (5,
  2351. 85,
  2352. 156,
  2353. MAP_Z - 1))
  2354. UNMODIFIABLE_BEACH_COLOR = (59,
  2355. 58,
  2356. 55,
  2357. MAP_Z - 2)
  2358. NORTH, EAST, SOUTH, WEST, NOOF_DIRECTIONS = xrange(5)
  2359. NON_HUD_TOOLS = [BOMB_TOOL,
  2360. DIAMOND_TOOL,
  2361. PREFAB_TOOL,
  2362. ZOMBIE_PREFAB_TOOL,
  2363. FLAREBLOCK_TOOL,
  2364. INTEL_TOOL]
  2365. PREFAB_TOOLS = [PREFAB_TOOL, ZOMBIE_PREFAB_TOOL, FLAREBLOCK_TOOL]
  2366. 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)
  2367. PREFAB_CONSTANT_DISTANCE_FROM_PLAYER = 1.0
  2368. PREFAB_SCALED_DISTANCE_FROM_PLAYER = 1.3
  2369. PREFAB_MIN_DISTANCE_FROM_PLAYER = 1.0
  2370. PREFAB_MAX_DISTANCE_FROM_PLAYER = 12.0
  2371. PREFAB_FAR_RADIUS = 20.0
  2372. PREFAB_SERVER_TOLERANCE = 5.0
  2373. FLAREBLOCK_COST = 10
  2374. PLAYER_SAFE_BUILD_RADIUS = 5
  2375. ENTITY_RADIUS = 5.0
  2376. FLAREBLOCK_LIGHT_RADIUS = 5.0
  2377. BLOCKFIRE_LIGHT_RADIUS = 3.0
  2378. SIMULATE_LAG = False
  2379. SIMULATE_LATENCY = 100.0 / 1000.0 / 2.0
  2380. PROFILE = False
  2381. BLOCK_HIT_DEBUG = False
  2382. SIMULATE_LAG_TRANSMIT, SIMULATE_LAG_RECEIVE = xrange(2)
  2383. MAX_SERVER_NAME_SIZE = 31
  2384. MAX_MAP_NAME_SIZE = 20
  2385. MAX_GAME_MODE_SIZE = 7
  2386. RESPAWN_TIME = 10
  2387. NEVER_RESPAWN_TIME = 255
  2388. ANALYTICS_ENABLED = True
  2389. ANALYTICS_WRITE_TO_LOG = False
  2390. ANALYTICS_KONTAGENT = False
  2391. ANALYTICS_TEST_SERVER = False
  2392. FALLING_BLOCKS_PARTICLE_MOD_MIN = 5
  2393. FALLING_BLOCKS_PARTICLE_MOD_MAX = 15
  2394. FALLING_BLOCKS_MAX_SIZE = 8000
  2395. MAX_NUM_PARTICLES = 5000
  2396. PARTICLES_EFFECT_QUALITY = (0.1, 0.5, 1.0)
  2397. MAX_NUM_BILLBOARDS = 64
  2398. DRAW_DISTANCE_LOW, DRAW_DISTANCE_MED, DRAW_DISTANCE_HIGH = xrange(3)
  2399. DRAW_DISTANCES_MAP = {DRAW_DISTANCE_LOW: 90,
  2400. DRAW_DISTANCE_MED: 128,
  2401. DRAW_DISTANCE_HIGH: 192}
  2402. FALLING_BLOCK_SOUND_LARGE = 80
  2403. FALLING_BLOCK_SOUND_MED = 15
  2404. BASE_ZONE_TINT_ALPHA = 150
  2405. BASE_ZONE_DISTANCE_TOLERANCE = 0.5
  2406. BASE_PLAYER_ZONE_DISTANCE_TOLERANCE_XY = 0.3
  2407. BASE_PLAYER_ZONE_DISTANCE_TOLERANCE_ZEYES = 0.0
  2408. BASE_PLAYER_ZONE_DISTANCE_TOLERANCE_ZFEET = -0.1
  2409. CORPSE_BOUNCE = 0.1
  2410. CORPSE_BOUNCE_SOUND_THRESHOLD = 2
  2411. CORPSE_MOVE_THRESHOLD = 0.5
  2412. REVERB_FADE_AMOUNT = 0.03
  2413. REVERB_MIN_WALLS = 6
  2414. REVERB_MAX_GAIN = 0.1
  2415. REVERB_MAX_DECAY_TIME = 2.2
  2416. REVERB_DECAY_TIME_SCALE = 0.1
  2417. REVERB_MAX_WALL_DISTANCE = 40
  2418. REVERB_GAINHF = 0.89
  2419. REVERB_AMBIENCE_DUCKING_RANGE = 0.8
  2420. AMBIENCE_FADE_AMOUNT = 0.03
  2421. JUMP_SOUND_REPEAT_DELAY = 0.1
  2422. TEABAG_TIME_THRESHOLD = 0.5
  2423. TEABAG_CROUCH_COUNT = 3
  2424. TEABAG_MAX_DISTANCE = 1.75
  2425. DEFAULT_ATTENUATION = 0.15
  2426. DEBUG_BUILD = False
  2427. SMOKE_RING_SIZE = 1.0
  2428. SMOKE_RING_DECAY_RATE_MIN = 0.0
  2429. SMOKE_RING_DECAY_RATE_MAX = 0.5
  2430. SMOKE_RING_LIFETIME = 1.0
  2431. SMOKE_RING_VELOCITY = 0.5
  2432. SMOKE_RING_PARTICLE_SIZE_MIN = 3.0
  2433. SMOKE_RING_PARTICLE_SIZE_MAX = 10
  2434. SMOKE_RING_NOOF = 8
  2435. ACH_DEBUG, ACH_REGIONS = xrange(2)
  2436. ACH_ID, ACH_TYPE, ACH_CENTRE, ACH_W_H_D, ACH_TEAM, ACH_CUBES, ACH_KILLS, ACH_WEAPON = xrange(8)
  2437. RECENT_KILLS_EXPIRY_SECONDS = 30.0
  2438. SNIPER2_RAPID_KILL_ACHIEVE_TIME = 20.0
  2439. SNIPER2_RAPID_KILL_ACHIEVE_COUNT = 3
  2440. ALPHA_BLEND_MODE_NONE, ALPHA_BLEND_MODE_BLEND, ALPHA_BLEND_MODE_ADDITIVE, ALPHA_BLEND_MODE_SUBTRACTIVE = xrange(4)
  2441. CRATE_PICKUP_FX_NOOF = 25
  2442. CRATE_PICKUP_FX_VERTICAL_SPEED = 0.05
  2443. CRATE_PICKUP_FX_EXPLOSION_SPEED = 0.05
  2444. CRATE_PICKUP_FX_PARTICLE_SIZE = 4
  2445. CRATE_PICKUP_FX_INITIAL_ROTATION = 0
  2446. CRATE_PICKUP_FX_ROTATION_SPEED = 180
  2447. CRATE_PICKUP_FX_DECAY_RATE = 1
  2448. CRATE_PICKUP_FX_LIFETIME = 2
  2449. CRATE_PICKUP_FX_START_FRAME = 0
  2450. CRATE_PICKUP_FX_NUM_FRAMES_X = 4
  2451. CRATE_PICKUP_FX_NUM_FRAMES_Y = 4
  2452. CRATE_PICKUP_FX_LOOP = 0
  2453. CRATE_PICKUP_FX_FRAMERATE = 30
  2454. CRATE_PICKUP_FX_COLLIDES = False
  2455. CRATE_PICKUP_FX_GRAVITY = False
  2456. CRATE_PICKUP_FX_ALPHA_BLEND_MODE = ALPHA_BLEND_MODE_ADDITIVE
  2457. DIAMOND_PICKUP_FX_NOOF = 50
  2458. DIAMOND_PICKUP_FX_VERTICAL_SPEED = 0.08
  2459. DIAMOND_PICKUP_FX_EXPLOSION_SPEED = 0.07
  2460. DIAMOND_PICKUP_FX_PARTICLE_SIZE = 5
  2461. DIAMOND_PICKUP_FX_INITIAL_ROTATION = 0
  2462. DIAMOND_PICKUP_FX_ROTATION_SPEED = 180
  2463. DIAMOND_PICKUP_FX_DECAY_RATE = 1
  2464. DIAMOND_PICKUP_FX_LIFETIME = 2
  2465. DIAMOND_PICKUP_FX_START_FRAME = 0
  2466. DIAMOND_PICKUP_FX_NUM_FRAMES_X = 4
  2467. DIAMOND_PICKUP_FX_NUM_FRAMES_Y = 4
  2468. DIAMOND_PICKUP_FX_LOOP = 0
  2469. DIAMOND_PICKUP_FX_FRAMERATE = 30
  2470. DIAMOND_PICKUP_FX_COLLIDES = False
  2471. DIAMOND_PICKUP_FX_GRAVITY = False
  2472. DIAMOND_PICKUP_FX_ALPHA_BLEND_MODE = ALPHA_BLEND_MODE_ADDITIVE
  2473. NOT_CLASSIC, CLASSIC = xrange(2)
  2474. DISABLE_MINIMAP, ENABLE_MINIMAP = xrange(2)
  2475. DEATHCAM_DISABLED, DEATHCAM_ENABLED = xrange(2)
  2476. COLOUR_PICKER_DISABLED, COLOUR_PICKER_ENABLED = xrange(2)
  2477. COLOUR_PALETTE_DISABLED, COLOUR_PALETTE_ENABLED = xrange(2)
  2478. EXPOSED_TEAMS_NOT_ALWAYS_ON_MINIMAP, EXPOSED_TEAMS_ALWAYS_ON_MINIMAP = xrange(2)
  2479. DISABLE_NUMERIC_HP, ENABLE_NUMERIC_HP = xrange(2)
  2480. DISABLE_MINIMAP_HEIGHT_ICONS, ENABLE_MINIMAP_HEIGHT_ICONS = xrange(2)
  2481. MINIMAP_HEIGHT_ICON_THRESHOLD = 4
  2482. MINIMAP_HEIGHT_ICON_ENTITIES = [CAPTURE_POINT_ENTITY, INTEL_PICKUP]
  2483. DEATHCAM_STREAK_FOR_ORIENTATION = 2
  2484. DEATHCAM_ANGLE_LERP_SPEED = 10.0
  2485. DEATHCAM_STREAK_FOR_POSITION = 3
  2486. DEATHCAM_TIME_TILL_POSITION_CHANGE = 0.25
  2487. DEATHCAM_POSITION_LERP_SPEED = 20.0
  2488. DEATHCAM_RANGE_FROM_KILLER = 5.0
  2489. DEATHCAM_TIME_TILL_CHASE_CAM_AVAIL = 1.5
  2490. DEATHCAM_TIME_TILL_CHASE_CAM_FORCED = 5.0
  2491. DEATHCAM_VALID_TYPES = [WEAPON_KILL,
  2492. HEADSHOT_KILL,
  2493. MELEE_KILL,
  2494. GRENADE_KILL,
  2495. ROCKET_KILL,
  2496. ROCKET2_KILL,
  2497. DRILL_KILL,
  2498. SNOWBALL_KILL,
  2499. CLASSIC_GRENADE_KILL,
  2500. ANTIPERSONNEL_GRENADE_KILL,
  2501. MOLOTOV_KILL]
  2502. TEXT_DISPLAY_RANGE = 80.0
  2503. import sys
  2504. if 'blitzdev' in sys.argv and 'enzymebeta' in sys.argv:
  2505. parse_constant_overrides()
  2506. CLIMB_SLOW_DOWN = 1.0
  2507. CLIMB_SLOW_DOWN_CLASSIC = 0.92
  2508. ROCKET_JUMP_FALL_DAMAGE_MULTIPLIER = 0.2
  2509. CLASS_BLOCKS = {CLASS_SOLDIER: (SOLDIER_STARTING_BLOCKS, SOLDIER_MAX_BLOCKS),
  2510. CLASS_SCOUT: (SCOUT_STARTING_BLOCKS, SCOUT_MAX_BLOCKS),
  2511. CLASS_ENGINEER: (ENGINEER_STARTING_BLOCKS, ENGINEER_MAX_BLOCKS),
  2512. CLASS_MINER: (MINER_STARTING_BLOCKS, MINER_MAX_BLOCKS),
  2513. CLASS_ZOMBIE: (ZOMBIE_STARTING_BLOCKS, ZOMBIE_MAX_BLOCKS),
  2514. CLASS_CLASSIC_SOLDIER: (CLASSIC_SOLDIER_STARTING_BLOCKS, CLASSIC_SOLDIER_MAX_BLOCKS),
  2515. CLASS_GANGSTER_1: (GANGSTER_STARTING_BLOCKS, GANGSTER_MAX_BLOCKS),
  2516. CLASS_GANGSTER_2: (GANGSTER_STARTING_BLOCKS, GANGSTER_MAX_BLOCKS),
  2517. CLASS_GANGSTER_3: (GANGSTER_STARTING_BLOCKS, GANGSTER_MAX_BLOCKS),
  2518. CLASS_GANGSTER_4: (GANGSTER_STARTING_BLOCKS, GANGSTER_MAX_BLOCKS),
  2519. CLASS_GANGSTER_VIP_1: (GANGSTER_STARTING_BLOCKS, GANGSTER_MAX_BLOCKS),
  2520. CLASS_GANGSTER_VIP_2: (GANGSTER_STARTING_BLOCKS, GANGSTER_MAX_BLOCKS)}
  2521. CLASS_HEADSHOT_DAMAGE_MULTIPLIER = {CLASS_SOLDIER: SOLDIER_HEADSHOT_DAMAGE_MULTIPLIER,
  2522. CLASS_SCOUT: SCOUT_HEADSHOT_DAMAGE_MULTIPLIER,
  2523. CLASS_ENGINEER: ENGINEER_HEADSHOT_DAMAGE_MULTIPLIER,
  2524. CLASS_MINER: MINER_HEADSHOT_DAMAGE_MULTIPLIER,
  2525. CLASS_ZOMBIE: ZOMBIE_HEADSHOT_DAMAGE_MULTIPLIER,
  2526. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_HEADSHOT_DAMAGE_MULTIPLIER,
  2527. CLASS_GANGSTER_1: GANGSTER_HEADSHOT_DAMAGE_MULTIPLIER,
  2528. CLASS_GANGSTER_2: GANGSTER_HEADSHOT_DAMAGE_MULTIPLIER,
  2529. CLASS_GANGSTER_3: GANGSTER_HEADSHOT_DAMAGE_MULTIPLIER,
  2530. CLASS_GANGSTER_4: GANGSTER_HEADSHOT_DAMAGE_MULTIPLIER,
  2531. CLASS_GANGSTER_VIP_1: GANGSTER_HEADSHOT_DAMAGE_MULTIPLIER,
  2532. CLASS_GANGSTER_VIP_2: GANGSTER_HEADSHOT_DAMAGE_MULTIPLIER}
  2533. CLASS_DAMAGE_MULTIPLIER = {CLASS_SOLDIER: SOLDIER_DAMAGE_MULTIPLIER,
  2534. CLASS_SCOUT: SCOUT_DAMAGE_MULTIPLIER,
  2535. CLASS_ENGINEER: ENGINEER_DAMAGE_MULTIPLIER,
  2536. CLASS_MINER: MINER_DAMAGE_MULTIPLIER,
  2537. CLASS_ZOMBIE: ZOMBIE_DAMAGE_MULTIPLIER,
  2538. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_DAMAGE_MULTIPLIER,
  2539. CLASS_GANGSTER_1: GANGSTER_DAMAGE_MULTIPLIER,
  2540. CLASS_GANGSTER_2: GANGSTER_DAMAGE_MULTIPLIER,
  2541. CLASS_GANGSTER_3: GANGSTER_DAMAGE_MULTIPLIER,
  2542. CLASS_GANGSTER_4: GANGSTER_DAMAGE_MULTIPLIER,
  2543. CLASS_GANGSTER_VIP_1: GANGSTER_DAMAGE_MULTIPLIER,
  2544. CLASS_GANGSTER_VIP_2: GANGSTER_DAMAGE_MULTIPLIER}
  2545. CLASS_ACCEL_MULTIPLIER = {CLASS_SOLDIER: SOLDIER_ACCEL_MULTIPLIER,
  2546. CLASS_SCOUT: SCOUT_ACCEL_MULTIPLIER,
  2547. CLASS_ENGINEER: ENGINEER_ACCEL_MULTIPLIER,
  2548. CLASS_MINER: MINER_ACCEL_MULTIPLIER,
  2549. CLASS_ZOMBIE: ZOMBIE_ACCEL_MULTIPLIER,
  2550. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_ACCEL_MULTIPLIER,
  2551. CLASS_GANGSTER_1: GANGSTER_ACCEL_MULTIPLIER,
  2552. CLASS_GANGSTER_2: GANGSTER_ACCEL_MULTIPLIER,
  2553. CLASS_GANGSTER_3: GANGSTER_ACCEL_MULTIPLIER,
  2554. CLASS_GANGSTER_4: GANGSTER_ACCEL_MULTIPLIER,
  2555. CLASS_GANGSTER_VIP_1: GANGSTER_ACCEL_MULTIPLIER,
  2556. CLASS_GANGSTER_VIP_2: GANGSTER_ACCEL_MULTIPLIER}
  2557. CLASS_SPRINT_MULTIPLIER = {CLASS_SOLDIER: SOLDIER_SPRINT_MULTIPLIER,
  2558. CLASS_SCOUT: SCOUT_SPRINT_MULTIPLIER,
  2559. CLASS_ENGINEER: ENGINEER_SPRINT_MULTIPLIER,
  2560. CLASS_MINER: MINER_SPRINT_MULTIPLIER,
  2561. CLASS_ZOMBIE: ZOMBIE_SPRINT_MULTIPLIER,
  2562. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_SPRINT_MULTIPLIER,
  2563. CLASS_GANGSTER_1: GANGSTER_SPRINT_MULTIPLIER,
  2564. CLASS_GANGSTER_2: GANGSTER_SPRINT_MULTIPLIER,
  2565. CLASS_GANGSTER_3: GANGSTER_SPRINT_MULTIPLIER,
  2566. CLASS_GANGSTER_4: GANGSTER_SPRINT_MULTIPLIER,
  2567. CLASS_GANGSTER_VIP_1: GANGSTER_SPRINT_MULTIPLIER,
  2568. CLASS_GANGSTER_VIP_2: GANGSTER_SPRINT_MULTIPLIER}
  2569. CLASS_CROUCH_SNEAK_MULTIPLIER = {CLASS_SOLDIER: SOLDIER_CROUCH_SNEAK_MULTIPLIER,
  2570. CLASS_SCOUT: SCOUT_CROUCH_SNEAK_MULTIPLIER,
  2571. CLASS_ENGINEER: ENGINEER_CROUCH_SNEAK_MULTIPLIER,
  2572. CLASS_MINER: MINER_CROUCH_SNEAK_MULTIPLIER,
  2573. CLASS_ZOMBIE: ZOMBIE_CROUCH_SNEAK_MULTIPLIER,
  2574. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_CROUCH_SNEAK_MULTIPLIER,
  2575. CLASS_GANGSTER_1: GANGSTER_CROUCH_SNEAK_MULTIPLIER,
  2576. CLASS_GANGSTER_2: GANGSTER_CROUCH_SNEAK_MULTIPLIER,
  2577. CLASS_GANGSTER_3: GANGSTER_CROUCH_SNEAK_MULTIPLIER,
  2578. CLASS_GANGSTER_4: GANGSTER_CROUCH_SNEAK_MULTIPLIER,
  2579. CLASS_GANGSTER_VIP_1: GANGSTER_CROUCH_SNEAK_MULTIPLIER,
  2580. CLASS_GANGSTER_VIP_2: GANGSTER_CROUCH_SNEAK_MULTIPLIER}
  2581. CLASS_FALL_ON_WATER_DAMAGE_MULTIPLIER = {CLASS_SOLDIER: SOLDIER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2582. CLASS_SCOUT: SCOUT_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2583. CLASS_ENGINEER: ENGINEER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2584. CLASS_MINER: MINER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2585. CLASS_ZOMBIE: ZOMBIE_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2586. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2587. CLASS_GANGSTER_1: GANGSTER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2588. CLASS_GANGSTER_2: GANGSTER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2589. CLASS_GANGSTER_3: GANGSTER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2590. CLASS_GANGSTER_4: GANGSTER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2591. CLASS_GANGSTER_VIP_1: GANGSTER_FALL_ON_WATER_DAMAGE_MULTIPLIER,
  2592. CLASS_GANGSTER_VIP_2: GANGSTER_FALL_ON_WATER_DAMAGE_MULTIPLIER}
  2593. CLASS_JUMP_MULTIPLIER = {CLASS_SOLDIER: SOLDIER_JUMP_MULTIPLIER,
  2594. CLASS_SCOUT: SCOUT_JUMP_MULTIPLIER,
  2595. CLASS_ENGINEER: ENGINEER_JUMP_MULTIPLIER,
  2596. CLASS_MINER: MINER_JUMP_MULTIPLIER,
  2597. CLASS_ZOMBIE: ZOMBIE_JUMP_MULTIPLIER,
  2598. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_JUMP_MULTIPLIER,
  2599. CLASS_GANGSTER_1: GANGSTER_JUMP_MULTIPLIER,
  2600. CLASS_GANGSTER_2: GANGSTER_JUMP_MULTIPLIER,
  2601. CLASS_GANGSTER_3: GANGSTER_JUMP_MULTIPLIER,
  2602. CLASS_GANGSTER_4: GANGSTER_JUMP_MULTIPLIER,
  2603. CLASS_GANGSTER_VIP_1: GANGSTER_JUMP_MULTIPLIER,
  2604. CLASS_GANGSTER_VIP_2: GANGSTER_JUMP_MULTIPLIER}
  2605. CLASS_CAN_SPRINT_UPHILL = {CLASS_SOLDIER: True,
  2606. CLASS_SCOUT: True,
  2607. CLASS_ENGINEER: True,
  2608. CLASS_MINER: True,
  2609. CLASS_ZOMBIE: True,
  2610. CLASS_CLASSIC_SOLDIER: False,
  2611. CLASS_GANGSTER_1: True,
  2612. CLASS_GANGSTER_2: True,
  2613. CLASS_GANGSTER_3: True,
  2614. CLASS_GANGSTER_4: True,
  2615. CLASS_GANGSTER_VIP_1: True,
  2616. CLASS_GANGSTER_VIP_2: True}
  2617. CLASS_WATER_FRICTION = {CLASS_SOLDIER: SOLDIER_WATER_FRICTION,
  2618. CLASS_SCOUT: SCOUT_WATER_FRICTION,
  2619. CLASS_ENGINEER: ENGINEER_WATER_FRICTION,
  2620. CLASS_MINER: MINER_WATER_FRICTION,
  2621. CLASS_ZOMBIE: ZOMBIE_WATER_FRICTION,
  2622. CLASS_CLASSIC_SOLDIER: CLASSIC_SOLDIER_WATER_FRICTION,
  2623. CLASS_GANGSTER_1: GANGSTER_WATER_FRICTION,
  2624. CLASS_GANGSTER_2: GANGSTER_WATER_FRICTION,
  2625. CLASS_GANGSTER_3: GANGSTER_WATER_FRICTION,
  2626. CLASS_GANGSTER_4: GANGSTER_WATER_FRICTION,
  2627. CLASS_GANGSTER_VIP_1: GANGSTER_WATER_FRICTION,
  2628. CLASS_GANGSTER_VIP_2: GANGSTER_WATER_FRICTION}
  2629. CLASS_SOUNDS = {CLASS_SOLDIER: [GENERIC_JUMP_SOUND,
  2630. GENERIC_WATER_JUMP_SOUND,
  2631. GENERIC_JETPACK_LAND_SOUND,
  2632. GENERIC_LAND_SOUND,
  2633. GENERIC_WATER_LAND_SOUND,
  2634. GENERIC_FALLHURT_SOUND,
  2635. GENERIC_FOOTSTEP_SOUND,
  2636. GENERIC_WADE_SOUND,
  2637. ['sol_death_vo_001-008', -1, 100],
  2638. (BLANK_SOUND, 0, 0),
  2639. ['sol_spawn_vo_001-006', -1, SPAWN_VO_CHANCE],
  2640. ['sol_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2641. ['sol_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2642. ['sol_land_vo_001-008', -1, LAND_VO_CHANCE],
  2643. ['sol_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2644. ['sol_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]],
  2645. CLASS_SCOUT: [GENERIC_JUMP_SOUND,
  2646. GENERIC_WATER_JUMP_SOUND,
  2647. GENERIC_JETPACK_LAND_SOUND,
  2648. GENERIC_LAND_SOUND,
  2649. GENERIC_WATER_LAND_SOUND,
  2650. GENERIC_FALLHURT_SOUND,
  2651. GENERIC_FOOTSTEP_SOUND,
  2652. GENERIC_WADE_SOUND,
  2653. ['sco_death_vo_001-008', -1, 100],
  2654. (BLANK_SOUND, 0, 0),
  2655. ['sco_spawn_vo_001-006', -1, SPAWN_VO_CHANCE],
  2656. ['sco_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2657. ['sco_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2658. ['sco_land_vo_001-008', -1, LAND_VO_CHANCE],
  2659. ['sco_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2660. ['sco_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]],
  2661. CLASS_ENGINEER: [GENERIC_JUMP_SOUND,
  2662. GENERIC_WATER_JUMP_SOUND,
  2663. GENERIC_JETPACK_LAND_SOUND,
  2664. GENERIC_LAND_SOUND,
  2665. GENERIC_WATER_LAND_SOUND,
  2666. GENERIC_FALLHURT_SOUND,
  2667. GENERIC_FOOTSTEP_SOUND,
  2668. GENERIC_WADE_SOUND,
  2669. ['eng_death_vo_001-008', -1, 100],
  2670. (BLANK_SOUND, 0, 0),
  2671. ['eng_spawn_vo_001-005', -1, SPAWN_VO_CHANCE],
  2672. ['eng_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2673. ['eng_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2674. ['eng_land_vo_001-008', -1, LAND_VO_CHANCE],
  2675. ['eng_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2676. ['eng_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]],
  2677. CLASS_MINER: [GENERIC_JUMP_SOUND,
  2678. GENERIC_WATER_JUMP_SOUND,
  2679. GENERIC_JETPACK_LAND_SOUND,
  2680. GENERIC_LAND_SOUND,
  2681. GENERIC_WATER_LAND_SOUND,
  2682. GENERIC_FALLHURT_SOUND,
  2683. GENERIC_FOOTSTEP_SOUND,
  2684. GENERIC_WADE_SOUND,
  2685. ['min_death_vo_001-008', -1, 100],
  2686. (BLANK_SOUND, 0, 0),
  2687. ['min_spawn_vo_001-004', -1, SPAWN_VO_CHANCE],
  2688. ['min_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2689. ['min_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2690. ['min_land_vo_001-008', -1, LAND_VO_CHANCE],
  2691. ['min_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2692. ['min_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]],
  2693. CLASS_ZOMBIE: [ZOMBIE_JUMP_SOUND,
  2694. ZOMBIE_JUMP_WATER_SOUND,
  2695. GENERIC_JETPACK_LAND_SOUND,
  2696. ZOMBIE_LAND_SOUND,
  2697. ZOMBIE_LAND_WATER_SOUND,
  2698. 'zombie_fallhurt',
  2699. ZOMBIE_FOOTSTEP_SOUND,
  2700. ZOMBIE_WADE_SOUND,
  2701. ['vo_zombiedeath_001-010', -1, 100],
  2702. (['vo_zombiegroan_001-016', -1, 100], 3.0, 6.0),
  2703. BLANK_SOUND,
  2704. BLANK_SOUND,
  2705. BLANK_SOUND,
  2706. BLANK_SOUND,
  2707. BLANK_SOUND,
  2708. BLANK_SOUND],
  2709. CLASS_CLASSIC_SOLDIER: [GENERIC_JUMP_SOUND,
  2710. GENERIC_WATER_JUMP_SOUND,
  2711. GENERIC_JETPACK_LAND_SOUND,
  2712. GENERIC_LAND_SOUND,
  2713. GENERIC_WATER_LAND_SOUND,
  2714. GENERIC_FALLHURT_SOUND,
  2715. GENERIC_FOOTSTEP_SOUND,
  2716. GENERIC_WADE_SOUND,
  2717. ['classic_death_vo', -1, 100],
  2718. (BLANK_SOUND, 0, 0),
  2719. BLANK_SOUND,
  2720. BLANK_SOUND,
  2721. BLANK_SOUND,
  2722. BLANK_SOUND,
  2723. BLANK_SOUND,
  2724. ['classic_fallhurt_vo', -1, FULLHURT_VO_CHANCE]],
  2725. CLASS_GANGSTER_1: [GENERIC_JUMP_SOUND,
  2726. GENERIC_WATER_JUMP_SOUND,
  2727. GENERIC_JETPACK_LAND_SOUND,
  2728. GENERIC_LAND_SOUND,
  2729. GENERIC_WATER_LAND_SOUND,
  2730. GENERIC_FALLHURT_SOUND,
  2731. GENERIC_FOOTSTEP_SOUND,
  2732. GENERIC_WADE_SOUND,
  2733. ['gang_death_vo_001-008', -1, 100],
  2734. (BLANK_SOUND, 0, 0),
  2735. ['gang_spawn_vo_001-006', -1, SPAWN_VO_CHANCE],
  2736. ['gang_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2737. ['gang_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2738. ['gang_land_vo_001-008', -1, LAND_VO_CHANCE],
  2739. ['gang_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2740. ['gang_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]],
  2741. CLASS_GANGSTER_2: [GENERIC_JUMP_SOUND,
  2742. GENERIC_WATER_JUMP_SOUND,
  2743. GENERIC_JETPACK_LAND_SOUND,
  2744. GENERIC_LAND_SOUND,
  2745. GENERIC_WATER_LAND_SOUND,
  2746. GENERIC_FALLHURT_SOUND,
  2747. GENERIC_FOOTSTEP_SOUND,
  2748. GENERIC_WADE_SOUND,
  2749. ['gang_death_vo_001-008', -1, 100],
  2750. (BLANK_SOUND, 0, 0),
  2751. ['gang_spawn_vo_001-006', -1, SPAWN_VO_CHANCE],
  2752. ['gang_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2753. ['gang_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2754. ['gang_land_vo_001-008', -1, LAND_VO_CHANCE],
  2755. ['gang_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2756. ['gang_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]],
  2757. CLASS_GANGSTER_3: [GENERIC_JUMP_SOUND,
  2758. GENERIC_WATER_JUMP_SOUND,
  2759. GENERIC_JETPACK_LAND_SOUND,
  2760. GENERIC_LAND_SOUND,
  2761. GENERIC_WATER_LAND_SOUND,
  2762. GENERIC_FALLHURT_SOUND,
  2763. GENERIC_FOOTSTEP_SOUND,
  2764. GENERIC_WADE_SOUND,
  2765. ['gang_death_vo_001-008', -1, 100],
  2766. (BLANK_SOUND, 0, 0),
  2767. ['gang_spawn_vo_001-006', -1, SPAWN_VO_CHANCE],
  2768. ['gang_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2769. ['gang_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2770. ['gang_land_vo_001-008', -1, LAND_VO_CHANCE],
  2771. ['gang_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2772. ['gang_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]],
  2773. CLASS_GANGSTER_4: [GENERIC_JUMP_SOUND,
  2774. GENERIC_WATER_JUMP_SOUND,
  2775. GENERIC_JETPACK_LAND_SOUND,
  2776. GENERIC_LAND_SOUND,
  2777. GENERIC_WATER_LAND_SOUND,
  2778. GENERIC_FALLHURT_SOUND,
  2779. GENERIC_FOOTSTEP_SOUND,
  2780. GENERIC_WADE_SOUND,
  2781. ['gang_death_vo_001-008', -1, 100],
  2782. (BLANK_SOUND, 0, 0),
  2783. ['gang_spawn_vo_001-006', -1, SPAWN_VO_CHANCE],
  2784. ['gang_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2785. ['gang_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2786. ['gang_land_vo_001-008', -1, LAND_VO_CHANCE],
  2787. ['gang_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2788. ['gang_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]],
  2789. CLASS_GANGSTER_VIP_1: [GENERIC_JUMP_SOUND,
  2790. GENERIC_WATER_JUMP_SOUND,
  2791. GENERIC_JETPACK_LAND_SOUND,
  2792. GENERIC_LAND_SOUND,
  2793. GENERIC_WATER_LAND_SOUND,
  2794. GENERIC_FALLHURT_SOUND,
  2795. GENERIC_FOOTSTEP_SOUND,
  2796. GENERIC_WADE_SOUND,
  2797. ['gang_death_vo_001-008', -1, 100],
  2798. (BLANK_SOUND, 0, 0),
  2799. ['gang_spawn_vo_001-006', -1, SPAWN_VO_CHANCE],
  2800. ['gang_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2801. ['gang_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2802. ['gang_land_vo_001-008', -1, LAND_VO_CHANCE],
  2803. ['gang_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2804. ['gang_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]],
  2805. CLASS_GANGSTER_VIP_2: [GENERIC_JUMP_SOUND,
  2806. GENERIC_WATER_JUMP_SOUND,
  2807. GENERIC_JETPACK_LAND_SOUND,
  2808. GENERIC_LAND_SOUND,
  2809. GENERIC_WATER_LAND_SOUND,
  2810. GENERIC_FALLHURT_SOUND,
  2811. GENERIC_FOOTSTEP_SOUND,
  2812. GENERIC_WADE_SOUND,
  2813. ['gang_death_vo_001-008', -1, 100],
  2814. (BLANK_SOUND, 0, 0),
  2815. ['gang_spawn_vo_001-006', -1, SPAWN_VO_CHANCE],
  2816. ['gang_jump_vo_001-008', -1, JUMP_VO_CHANCE],
  2817. ['gang_water_jump_vo_001-008', -1, WATER_JUMP_VO_CHANCE],
  2818. ['gang_land_vo_001-008', -1, LAND_VO_CHANCE],
  2819. ['gang_water_land_vo_001-008', -1, WATER_LAND_VO_CHANCE],
  2820. ['gang_water_land_vo_001-008', -1, FULLHURT_VO_CHANCE]]}
  2821. BLOCK_BUILD_TYPE_STATS = {BLOCK_TYPE_PREFAB: [DEFAULT_PREFAB_HEALTH],
  2822. BLOCK_TYPE_SNOW: [DEFAULT_SNOW_HEALTH]}
  2823. BLITZ_DEV = False
  2824. ENABLE_DLC_AUTH = True
  2825. from constants_gamemode import *
  2826. from constants_shop import *
  2827. #Embedded file name: C:\AoSBuild\client\standalone\build\pyi.win32\run\out00-PYZ.pyz\shared.constants_gamemode
  2828. MODE_NORMAL, MODE_DEMOLITION, MODE_ZOMBIE, MODE_MULTIHILL, MODE_OCCUPATION, MODE_DIAMONDMINE, MODE_TDM, MODE_VIP, MODE_CTF, MODE_TERRITORY = xrange(10)
  2829. MODE_MAP_TITLES = {'zom': 'ZOMBIE_MODE_TITLE',
  2830. 'tdm': 'TDM_TITLE',
  2831. 'dia': 'DIAMOND_MINE_TITLE',
  2832. 'oc': 'OCCUPATION_MODE_TITLE',
  2833. 'dem': 'DEMOLITION_TITLE',
  2834. 'mh': 'MULTIHILL_TITLE',
  2835. 'vip': 'VIP_MODE_TITLE',
  2836. 'ctf': 'CTF_TITLE',
  2837. 'tc': 'TC_TITLE',
  2838. 'cctf': 'CLASSIC_CTF_TITLE'}
  2839. MODE_DESCRIPTIONS = {'dem': 'DEMOLITION_DESCRIPTION',
  2840. 'zom': 'ZOMBIE_MODE_DESCRIPTION',
  2841. 'mh': 'MULTIHILL_DESCRIPTION',
  2842. 'oc': 'OCCUPATION_MODE_DESCRIPTION',
  2843. 'dia': 'DIAMOND_MINE_DESCRIPTION',
  2844. 'tdm': 'TDM_DESCRIPTION',
  2845. 'vip': 'VIP_MODE_DESCRIPTION',
  2846. 'ctf': 'CTF_DESCRIPTION',
  2847. 'tc': 'TC_DESCRIPTION'}
  2848. MODE_MODE_IDS = {'zom': MODE_ZOMBIE,
  2849. 'tdm': MODE_TDM,
  2850. 'dia': MODE_DIAMONDMINE,
  2851. 'oc': MODE_OCCUPATION,
  2852. 'dem': MODE_DEMOLITION,
  2853. 'mh': MODE_MULTIHILL,
  2854. 'vip': MODE_VIP,
  2855. 'ctf': MODE_CTF,
  2856. 'tc': MODE_TERRITORY,
  2857. 'cctf': MODE_CTF}
  2858. 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 = xrange(19)
  2859. 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)
  2860. MODE_ZONE_ICONS = {ZONE_ICON_NONE: [],
  2861. ZONE_ICON_DEMOLITION: ['minimap_base', 'base_icon'],
  2862. ZONE_ICON_MULTIHILL: ['minimap_multihill', 'MultiHill'],
  2863. ZONE_ICON_OCCUPATION: ['minimap_occupation_target', 'OccupationTarget'],
  2864. ZONE_ICON_DIAMONDMINE: ['minimap_diamond_dropoff', 'diamond_dropoff'],
  2865. ZONE_ICON_VIP: ['vip_icon_256x256', 'vip_icon_256x256'],
  2866. ZONE_ICON_CTF: ['minimap_base', 'base_icon'],
  2867. ZONE_ICON_TERRITORY_A: ['tc_minimap_a', 'tc_billboard_a'],
  2868. ZONE_ICON_TERRITORY_B: ['tc_minimap_b', 'tc_billboard_b'],
  2869. ZONE_ICON_TERRITORY_C: ['tc_minimap_c', 'tc_billboard_c'],
  2870. ZONE_ICON_TERRITORY_D: ['tc_minimap_d', 'tc_billboard_d'],
  2871. ZONE_ICON_TERRITORY_E: ['tc_minimap_e', 'tc_billboard_e'],
  2872. ZONE_ICON_TERRITORY_F: ['tc_minimap_f', 'tc_billboard_f'],
  2873. ZONE_ICON_TERRITORY_G: ['tc_minimap_g', 'tc_billboard_g'],
  2874. ZONE_ICON_TERRITORY_H: ['tc_minimap_g', 'tc_billboard_g'],
  2875. ZONE_ICON_TERRITORY_I: ['tc_minimap_g', 'tc_billboard_g'],
  2876. ZONE_ICON_TERRITORY_J: ['tc_minimap_g', 'tc_billboard_g']}
  2877. MODE_TITLE = {MODE_NORMAL: None,
  2878. MODE_DEMOLITION: 'DEMOLITION_TITLE',
  2879. MODE_ZOMBIE: 'ZOMBIE_MODE_TITLE',
  2880. MODE_MULTIHILL: 'MULTIHILL_TITLE',
  2881. MODE_OCCUPATION: 'OCCUPATION_MODE_TITLE',
  2882. MODE_DIAMONDMINE: 'DIAMOND_MINE_TITLE',
  2883. MODE_TDM: 'TDM_TITLE',
  2884. MODE_VIP: 'VIP_MODE_TITLE',
  2885. MODE_CTF: 'CTF_TITLE',
  2886. MODE_TERRITORY: 'TC_TITLE'}
  2887. TIME_AFTER_WIN_BEFORE_SCORES = 5.0
  2888. DEFAULT_GAME_LENGTH = 900
  2889. CLASSIC_GAME_LENGTH = 2700
  2890. GENERIC_SCORE_KILL = 10
  2891. GENERIC_SCORE_HEADSHOT = 15
  2892. GENERIC_SCORE_MELEE = 15
  2893. GENERIC_SCORE_ASSIST = 5
  2894. GENERIC_SCORE_REVENGE = 5
  2895. GENERIC_SCORE_PAYBACK = 5
  2896. GENERIC_SCORE_RELOAD = 5
  2897. GENERIC_SCORE_DEFEND = 5
  2898. GENERIC_SCORE_SUICIDE = -10
  2899. GENERIC_SCORE_TEAMKILL = -10
  2900. GENERIC_ASSIST_PERCENTAGE = 50.0
  2901. TDM_GAME_LENGTH = DEFAULT_GAME_LENGTH
  2902. TDM_TEAM_SCORE_FOR_KILL = 1
  2903. TDM_SCORE_DISTRACT = 5
  2904. ZOM_ROUND_TIME = 600.0
  2905. ZOM_NOOF_ROUNDS_BEFORE_NEXT_MAP = 3
  2906. ZOM_EXTRA_INDIVIDUAL_SCORE_FOR_SURVIVAL = 20
  2907. ZOM_NOOF_FIRST_INFECTION_ZOMBIES = 2
  2908. ZOM_TIME_BEFORE_FIRST_INFECTION = 60
  2909. ZOM_TIME_AFTER_ZOMBIE_WIN_BEFORE_SCORES = 5.0
  2910. ZOM_TIME_AFTER_SURVIVOR_WIN_BEFORE_SCORES = 5.0
  2911. ZOM_GAMEMODE_TIMEOUT = 600.0
  2912. ZOM_RESPAWN_AS_ZOMBIE_TIME = 0.0
  2913. ZOM_SCORE_SURVIVE = 5
  2914. ZOM_SCORE_SURVIVE_INTERVAL = 10.0
  2915. ZOM_SCORE_LASTMAN = 25
  2916. ZOM_SCORE_LASTMAN_INTERVAL = 5.0
  2917. ZOM_SCORE_KILL_SURVIVOR = 10
  2918. ZOM_SCORE_LASTMAN_ZOMBIEKILL = 5
  2919. MH_GAME_LENGTH = 1500
  2920. MH_TEAM_SCORE_PER_TICK = 1
  2921. MH_TEAM_SCORE_TICK_RATE = 1.0
  2922. MH_BASE_AUTO_TIMEOUT = 290
  2923. MH_TIME_BETWEEN_BASE_ACTIVATIONS = 10.0
  2924. MH_NUMBER_OF_BASE_TO_ACTIVATE_AT_ONCE = 1
  2925. MH_SCORE_OCCUPY = 25
  2926. MH_SCORE_OCCUPY_INTERVAL = 5.0
  2927. MH_SCORE_DEFEND = 10
  2928. MH_SCORE_ASSAULT = 5
  2929. MH_SCORE_FIRST = 25
  2930. MH_SCORE_CLAIM = 25
  2931. MH_SCORE_CONTROL = 10
  2932. MH_SCORE_CONTEST = 5
  2933. TC_GAME_LENGTH = 1500
  2934. TC_CAPTURE_TICK_RATE = 0.5
  2935. TC_CAPTURE_RATE = [(0, 0.0),
  2936. (1, 1.0),
  2937. (5, 4.0),
  2938. (10, 7.0),
  2939. (15, 9.0)]
  2940. TC_NEW_TEAM_ENTERS_SHOUT_COOLDOWN = 5.0
  2941. TC_BASE_COUNT_TO_USE = 5
  2942. TC_SCORE_OCCUPY_INTERVAL = 5.0
  2943. TC_SCORE_OCCUPY_PERHILL = 5
  2944. TC_SCORE_CLAIM = 25
  2945. TC_SCORE_CONTROL = 10
  2946. TC_SCORE_KILL_KILLERINHILL = 10
  2947. TC_SCORE_KILL_VICTIMINHILL = 5
  2948. TC_BASENAMES = ['A',
  2949. 'B',
  2950. 'C',
  2951. 'D',
  2952. 'E',
  2953. 'F',
  2954. 'G',
  2955. 'H',
  2956. 'I',
  2957. 'J']
  2958. OC_GAME_LENGTH = DEFAULT_GAME_LENGTH
  2959. OC_TEAM_SCORE_FOR_KILLING_CARRIER = 5
  2960. OC_EXTRA_INDIVIDUAL_SCORE_FOR_KILL_CARRIER = OC_TEAM_SCORE_FOR_KILLING_CARRIER - 1
  2961. OC_BOMB_RESPAWN_TIME_ON_EXPLOSION = 10.0
  2962. OC_SCORE_FOR_BOMB_EXPLOSION_IN_BASE = 50
  2963. OC_SCORE_CARRY_SCORE = 5
  2964. OC_SCORE_CARRY_INTERVAL = 5.0
  2965. OC_SCORE_DISTRACT = 10
  2966. OC_SCORE_CARRIER_DEFEND = 10
  2967. OC_CARRIER_THREAT_RADIUS = 10.0
  2968. OC_SCORE_DEFEND = 5
  2969. OC_THREAT_RADIUS = 10.0
  2970. OC_SCORE_ASSAULT = 10
  2971. OC_SCORE_INTERCEPT = 5
  2972. OC_SCORE_SURVIVE = 5
  2973. OC_SCORE_OCCUPY_SCORE = 15
  2974. OC_SCORE_OCCUPY_INTERVAL = 10.0
  2975. VIP_NOOF_ROUNDS_BEFORE_NEXT_MAP = 3
  2976. VIP_GAME_LENGTH = DEFAULT_GAME_LENGTH
  2977. VIP_TEAM_SCORE_FOR_KILL = 1
  2978. VIP_SCORE_VIP_KILL_CONSTANT = 0
  2979. VIP_SCORE_VIP_KILL_SCALED = 0.1
  2980. VIP_SCORE_OWN_VIP_KILL = 0
  2981. VIP_SCORE_KILL_AS_VIP = 10
  2982. VIP_MINIMUM_TEAM_SIZE_TO_START = 1
  2983. VIP_SELECTION_DELAY = 3.0
  2984. VIP_SCORE_LIVEVIP_SCORE = 5
  2985. VIP_SCORE_LIVEVIP_INTERVAL = 10.0
  2986. VIP_SCORE_ESCORT_SCORE = 1
  2987. VIP_SCORE_ESCORT_INTERVAL = 5.0
  2988. VIP_ESCORT_RADIUS = 10.0
  2989. VIP_ESCORT_HYSTERESIS = 1.0
  2990. VIP_THREAT_RADIUS = 10.0
  2991. VIP_SCORE_DISTRACT = 5
  2992. VIP_SCORE_DEFEND = 15
  2993. VIP_SELECTION_DELAY = 10.0
  2994. VIP_SUDDEN_DEATH_DAMAGE = 1
  2995. VIP_SUDDEN_DEATH_DAMAGE_FREQUENCY = 1
  2996. VIP_SUDDEN_DEATH_TIME = 60
  2997. VIP_SUDDEN_DEATH_DELAY_AFTER_VIP_KILL = 5
  2998. DIA_GAME_LENGTH = DEFAULT_GAME_LENGTH
  2999. DIA_MAX_ACTIVE_DIAMONDS = 2
  3000. DIA_HIGHEST_DIAMOND_CHANCE = 1.0 / 100.0
  3001. DIA_LOWEST_DIAMOND_CHANCE = 1.0 / 500.0
  3002. DIA_INDIVIDUAL_SCORE_FOR_MINED_DIAMOND = 10
  3003. DIA_INDIVIDUAL_SCORE_FOR_CASHED_IN_DIAMOND = 100
  3004. DIA_ACTIVE_BASES_AT_ONCE = 1
  3005. DIA_DIAMONDS_TO_GET_FOR_MAP_ROTATION = 15
  3006. DIA_DIAMONDS_TO_TRIGGER_MAP_VOTE = DIA_DIAMONDS_TO_GET_FOR_MAP_ROTATION - 3
  3007. DIA_TIME_BETWEEN_DIAMOND_SPAWN = 15
  3008. DIA_SCORE_CARRY_SCORE = 5
  3009. DIA_SCORE_CARRY_INTERVAL = 5.0
  3010. DIA_SCORE_ESCORT_SCORE = 1
  3011. DIA_SCORE_ESCORT_INTERVAL = 5.0
  3012. DIA_ESCORT_RADIUS = 10.0
  3013. DIA_ESCORT_HYSTERESIS = 1.0
  3014. DIA_SCORE_DISTRACT = 10
  3015. DIA_SCORE_CARRIER_DEFEND = 10
  3016. DIA_CARRIER_THREAT_RADIUS = 10.0
  3017. DIA_SCORE_DEFEND = 5
  3018. DIA_THREAT_RADIUS = 10.0
  3019. DIA_SCORE_ASSAULT = 5
  3020. DIA_SCORE_INTERCEPT = 5
  3021. DEM_GAME_LENGTH = DEFAULT_GAME_LENGTH
  3022. DEM_BUILD_TIME = 30
  3023. DEM_REPAIR_WARNING_PERCENT = 75
  3024. DEM_TIME_TO_WAIT_FOR_AIRSTRIKE = 5.0
  3025. DEM_BUILD_SPACE_PERCENT = 20
  3026. DEM_SCORE_DESTROY_SCORE = 25
  3027. DEM_SCORE_DESTROY_INTERVAL = 50
  3028. DEM_SCORE_REPAIR_SCORE = 50
  3029. DEM_SCORE_REPAIR_INTERVAL = 50
  3030. DEM_ALLOW_SCORE_REPAIR_BUILDINGMODE = False
  3031. DEM_SCORE_DEFEND = 10
  3032. DEM_SCORE_ASSAULT = 5
  3033. CTF_GAME_LENGTH = DEFAULT_GAME_LENGTH * 2.0
  3034. CTF_CLASSIC_GAME_LENGTH = CLASSIC_GAME_LENGTH * 2.0
  3035. CTF_TEAM_SCORE_FOR_CAPTURED_INTEL = 1
  3036. CTF_INDIVIDUAL_SCORE_FOR_CAPTURED_INTEL = 10
  3037. CTF_REQUIRE_FLAG_IN_OWN_BASE_TO_CAPTURE = False
  3038. CTF_ALLOW_FLAG_RETURN_ON_TOUCH = False
  3039. CTF_TEAM_SCORE_TO_WIN_AND_ROTATE = 5
  3040. CTF_TEAM_SCORE_TO_TRIGGER_MAP_VOTE = CTF_TEAM_SCORE_TO_WIN_AND_ROTATE - 1
  3041. CTF_INDIVIDUAL_SCORE_FOR_RETURNING_INTEL = 1
  3042. CTF_INTEL_RETURN_TIME = 25
  3043. CLASSIC_CTF_BASE_CAPTURE_DISTANCE = 5
  3044. CLASSIC_CTF_INTEL_MIN_RADIUS_FROM_BASE = 3
  3045. CTF_SCORE_CARRY_SCORE = 5
  3046. CTF_SCORE_CARRY_INTERVAL = 5.0
  3047. CTF_SCORE_ESCORT_SCORE = 1
  3048. CTF_SCORE_ESCORT_INTERVAL = 5.0
  3049. CTF_ESCORT_RADIUS = 10.0
  3050. CTF_ESCORT_HYSTERESIS = 1.0
  3051. CTF_SCORE_DISTRACT = 10
  3052. CTF_SCORE_CARRIER_DEFEND = 10
  3053. CTF_CARRIER_THREAT_RADIUS = 10.0
  3054. CTF_SCORE_DEFEND = 5
  3055. CTF_THREAT_RADIUS = 10.0
  3056. CTF_SCORE_ASSAULT = 5
  3057. CTF_SCORE_ASSAULT_ENEMY = 5
  3058. CTF_SCORE_INTERCEPT = 5
  3059. CTF_SCORE_CLAIM = 10

constants.py build v2652. It's out of date, but it can still be useful as a base.