Advertisement
Guest User

Untitled

a guest
Dec 19th, 2011
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 156.99 KB | None | 0 0
  1. \raw\maps\mp\mp_array.gsc
  2. level.noTurretPlacementTriggers[level.noTurretPlacementTriggers.size] = trigger;
  3.  
  4.  
  5. \raw\maps\mp\mp_array_amb.gsc
  6. level.pbuzz = spawn ("script_origin", (172, -1242.5, 740.5));
  7. level.data_1 = getent ("satellite_dish_1", "targetname");
  8. level.data_2 = getent ("satellite_dish_2", "targetname");
  9. level.data_3 = getent ("satellite_dish_3", "targetname");
  10. level.satnum = randomintrange(1,4);
  11.  
  12.  
  13. \raw\maps\mp\mp_array_fx.gsc
  14. level._effect["fx_snow_fog_field_sm"]           = loadfx("env/weather/fx_snow_fog_field_sm");
  15.  
  16.  
  17. \raw\maps\mp\mp_berlinwall2.gsc
  18. level._berlin_firing_delay = 0.1;
  19. level._berlin_firing_start_z = -60;
  20. level._berlin_firing_end_z = 30;
  21. level._berlin_firing_increment_z = 10;
  22. level._berlin_firing_spread = 15;
  23. level._berlin_firing_delay = GetDvarFloat( #"scr_berlin_firing_delay" );
  24. level._berlin_firing_start_z = GetDvarFloat( #"scr_berlin_firing_start_z" );
  25. level._berlin_firing_end_z = GetDvarFloat( #"scr_berlin_firing_end_z" );
  26. level._berlin_firing_increment_z = GetDvarFloat( #"scr_berlin_firing_increment_z" );
  27. level._berlin_firing_spread = GetDvarFloat( #"scr_berlin_firing_spread" );
  28. level.play_nomansland_alarm = true;
  29. level.play_nomansland_alarm = false;
  30. level.play_nomansland_alarm = false;
  31.  
  32.  
  33. \raw\maps\mp\mp_berlinwall2_amb.gsc
  34. level.alarm_sound = "off";
  35. level.trespassers = 0;
  36. level.alarm_sound = "on";  
  37. level.alarm_sound = "off";
  38. level.alarm_sound = "off";  
  39.  
  40.  
  41. \raw\maps\mp\mp_berlinwall2_fx.gsc
  42. level._effect["fx_mp_berlin_snow"]           = loadfx("maps/mp_maps/fx_mp_berlin_snow");
  43. level._effect["fx_mp_snow_gust_street"]        = loadfx("maps/mp_maps/fx_mp_snow_gust_street");
  44. level._effect["fx_mp_berlin_smk_smolder_sm"]     = loadfx("maps/mp_maps/fx_mp_berlin_smk_smolder_sm");
  45. level._effect["fx_smk_building_chimney_wht"]       = loadfx("maps/mp_maps/fx_mp_smk_building_chimney_wht");  
  46. level._effect["fx_fog_large_slow"]           = loadfx("env/smoke/fx_fog_large_slow");
  47. level._effect["fx_smk_vent"]                = loadfx("env/smoke/fx_smk_vent");
  48. level._effect["fx_mp_berlin_pipe_steam_md"]      = loadfx("maps/mp_maps/fx_mp_berlin_pipe_steam_md");  
  49. level._effect["fx_mp_berlin_pipe_steam_sm"]        = loadfx("maps/mp_maps/fx_mp_berlin_pipe_steam_sm");  
  50. level._effect["fx_light_floodlight_dim"]       = loadfx("env/light/fx_light_floodlight_dim");  
  51. level._effect["fx_light_overhead_sm_warm"]      = loadfx("env/light/fx_light_overhead_sm_warm");
  52. level._effect["fx_light_beacon_red_distant_slw"]   = loadfx("env/light/fx_light_beacon_red_distant_slw");
  53. level._effect["fx_debris_papers"]             = loadfx("env/debris/fx_debris_papers");
  54. level._effect["fx_mp_berlin_smoke_stack"]         = loadfx("maps/mp_maps/fx_mp_berlin_smoke_stack");    
  55. level._effect["fx_mp_berlin_fog_int"]             = loadfx("maps/mp_maps/fx_mp_berlin_fog_int");
  56. level._effect["fx_mp_berlin_smk_vent"]        = loadfx("maps/mp_maps/fx_mp_berlin_smk_vent");
  57. level._effect["fx_mp_berlin_smk_smolder_md"]     = loadfx("maps/mp_maps/fx_mp_berlin_smk_smolder_md");  
  58.  
  59.  
  60. \raw\maps\mp\mp_cairo_fx.gsc
  61. level.cairo_fxanims = [];
  62. level.cairo_fxanims["fxanim_cuba_line_flag01_anim"] = %fxanim_cuba_line_flag01_anim;
  63. level._effect["fx_mp_light_dust_motes_md"]                = loadfx("maps/mp_maps/fx_mp_light_dust_motes_md");
  64. level._effect["fx_light_godray_lrg_warm"]                 = loadfx("env/light/fx_light_godray_lrg_warm");
  65. level._effect["fx_light_office_light_03"]                 = loadfx("env/light/fx_light_office_light_03");
  66. level._effect["fx_light_overhead_sm_warm"]                = loadfx("env/light/fx_light_overhead_sm_warm");  
  67. level._effect["fx_debris_papers"]                         = loadfx("env/debris/fx_debris_papers");
  68. level._effect["fx_water_splash_fountain"]                 = loadfx("env/water/fx_water_splash_fountain");
  69. level._effect["fx_insects_swarm_md_light"]                = loadfx("bio/insects/fx_insects_swarm_md_light");
  70. level._effect["fx_mp_fumes_vent_sm"]                      = loadfx("maps/mp_maps/fx_mp_fumes_vent_sm");
  71. level._effect["fx_mp_fumes_haze_md"]                      = loadfx("maps/mp_maps/fx_mp_fumes_haze_md");
  72.  
  73.  
  74. \raw\maps\mp\mp_cosmodrome.gsc
  75. level.onSpawnIntermission = ::cosmodrome_intermission;
  76. level.const_fx_exploder_rocket_coolant = 2;
  77. level.rocket_camera = false;
  78. level.rocket_base = rocket_base;
  79. level.rocket_camera = true;
  80. level.rocket_camera = false;
  81.  
  82.  
  83. \raw\maps\mp\mp_cracked_fx.gsc
  84. level._effect["fx_rotor_main"] = LoadFx( "vehicle/props/fx_cobra_rotor_main_run_mp" );
  85. level._effect["fx_rotor_tail"] = LoadFx( "vehicle/props/fx_cobra_rotor_small_run_mp" );
  86.  
  87.  
  88. \raw\maps\mp\mp_crisis_fx.gsc
  89. level._effect["fx_light_office_light_03"]         = loadfx("env/light/fx_light_office_light_03");
  90. level._effect["fx_smk_smolder_rubble_md"]         =  loadfx("env/smoke/fx_smk_smolder_rubble_md");
  91.  
  92.  
  93. \raw\maps\mp\mp_discovery.gsc
  94. level.destroyed_paths = [];
  95. level.destroyed_paths[ level.destroyed_paths.size ] = client_notify + "_delete";
  96.  
  97.  
  98. \raw\maps\mp\mp_discovery_fx.gsc
  99. level.discovery_fxanims = [];
  100. level.discovery_fxanims["icebridge01_back_anim"] = %fxanim_mp_icebridge01_back_anim;
  101. level.discovery_fxanims["icebridge01_front_anim"] = %fxanim_mp_icebridge01_front_anim;
  102. level.discovery_fxanims["icebridge02_anim"] = %fxanim_mp_icebridge02_anim;
  103. level.discovery_fxanims["icebridge03_anim"] = %fxanim_mp_icebridge03_anim;
  104. level.discovery_fxanims["icebridge04_anim"] = %fxanim_mp_icebridge04_anim;
  105. level.discovery_fxanims["icebridge05_anim"] = %fxanim_mp_icebridge05_anim;
  106.  
  107.  
  108. \raw\maps\mp\mp_duga.gsc
  109. level._transformer_array = [];
  110. level._transformer_array = add_to_array(level._transformer_array, current_struct);
  111. level._transformer_array = add_to_array(level._transformer_array, current_struct);
  112.  
  113.  
  114. \raw\maps\mp\mp_duga_fx.gsc
  115. level._effect["fx_snow_fog_field_sm"]           = loadfx("env/weather/fx_snow_fog_field_sm");
  116. level._effect["fx_snow_fog_field_lg"]           = loadfx("env/weather/fx_snow_fog_field_lg");  
  117.  
  118.  
  119. \raw\maps\mp\mp_firingrange.gsc
  120. level.const_fx_exploder_red_light_1 = 1001;
  121. level.const_fx_exploder_red_light_2 = 1002;
  122.  
  123.  
  124. \raw\maps\mp\mp_hanoi_fx.gsc
  125. level._effect["spotlight"] = LoadFX( "maps/mp_maps/fx_mp_light_hanoi_searchlight" );
  126.  
  127.  
  128. \raw\maps\mp\mp_kowloon_fx.gsc
  129. level.kowloon_fxanims = [];
  130. level.kowloon_fxanims[ "mp_fish_tank01_anim" ] = %fxanim_mp_fish_tank01_anim;
  131.  
  132.  
  133. \raw\maps\mp\mp_mountain_fx.gsc
  134. level.mountain_fxanims = [];
  135.  
  136.  
  137. \raw\maps\mp\mp_nuked.gsc
  138. level.onSpawnIntermission = ::nuked_intermission;
  139. level.const_fx_exploder_end_game_glass_shatter = 5001;
  140. level.disableOutroVisionSet = true;
  141. level.mannequin_count = 0;
  142. level.mannequin_time = GetTime();
  143.  
  144.  
  145. \raw\maps\mp\mp_nuked_fx.gsc
  146. level.nuked_fxanims = [];
  147.  
  148.  
  149. \raw\maps\mp\mp_radiation.gsc
  150. level._digger_fx = LoadFX( "maps/mp_maps/fx_mp_sand_digger_radiation" );
  151. level._door_switch_trig1 = getent_and_assert("switch_trigger1");
  152. level._door_switch_trig2 = getent_and_assert("switch_trigger2");
  153. level._door1 = getent_and_assert("big_door1_clip");
  154. level._door2 = getent_and_assert("big_door2_clip");
  155. level.const_fx_exploder_switch_green_light = 2001;
  156. level.const_fx_exploder_switch_red_light = 2002;
  157. level.noTurretPlacementTriggers[level.noTurretPlacementTriggers.size] = trigger;
  158.  
  159.  
  160. \raw\maps\mp\mp_radiation_fx.gsc
  161. level._effect["blink_light"] = loadfx( "weapon/crossbow/fx_trail_crossbow_blink_red_os" );
  162. level._effect["red_light"] = loadfx( "env/light/fx_light_incandescent" );
  163. level._effect["green_light"] = loadfx( "weapon/crossbow/fx_trail_crossbow_blink_grn_os" );
  164.  
  165.  
  166. \raw\maps\mp\mp_russianbase_fx.gsc
  167. level._effect["fx_light_godray_wmd_md"]             = loadfx("maps/wmd/fx_light_godray_wmd_md");
  168.  
  169.  
  170. \raw\maps\mp\mp_stadium_fx.gsc
  171. level._effect["fx_debris_papers"]                         = loadfx("env/debris/fx_debris_papers");
  172. level._effect["fx_mp_fumes_vent_sm"]                      = loadfx("maps/mp_maps/fx_mp_fumes_vent_sm");
  173. level._effect["fx_mp_fumes_haze_md"]                      = loadfx("maps/mp_maps/fx_mp_fumes_haze_md");
  174. level._effect["fx_mp_light_dust_motes_md"]                = loadfx("maps/mp_maps/fx_mp_light_dust_motes_md");
  175. level._effect["fx_insects_swarm_md_light"]                = loadfx("bio/insects/fx_insects_swarm_md_light");
  176. level._effect["fx_water_splash_fountain_lg"]              = loadfx("env/water/fx_water_splash_fountain_lg2");
  177. level._effect["fx_water_river_fountain_side"]             = loadfx("env/water/fx_water_river_fountain_side");
  178. level._effect["fx_water_river_fountain_side2"]            = loadfx("env/water/fx_water_river_fountain_side2");  
  179. level._effect["fx_water_river_fountain_center"]           = loadfx("env/water/fx_water_river_fountain_center");    
  180. level._effect["fx_light_godray_lrg_warm"]                 = loadfx("env/light/fx_light_godray_lrg_warm");
  181. level._effect["fx_light_office_light_03"]                 = loadfx("env/light/fx_light_office_light_03");
  182. level._effect["fx_mp_stadium_light_wide_cone"]       = loadfx("maps/mp_maps/fx_mp_stadium_light_wide_cone");
  183. level._effect["fx_light_overhead_sm_cool"]               = loadfx("env/light/fx_light_overhead_sm_cool");  
  184. level._effect["fx_light_overhead_sm_warm"]               = loadfx("env/light/fx_light_overhead_sm_warm");    
  185. level._effect["fx_mp_stadium_light_int_amber"]       = loadfx("maps/mp_maps/fx_mp_stadium_light_int_amber");
  186. level._effect["fx_mp_stadium_light_fluorecent"]       = loadfx("maps/mp_maps/fx_mp_stadium_light_fluorecent");  
  187. level.stadium_fxanims = [];
  188. level.stadium_fxanims[ "mp_sdm_pennant_anim" ] = %fxanim_mp_sdm_pennant_anim;
  189.  
  190.  
  191. \raw\maps\mp\mp_villa_fx.gsc
  192. level._effect["fx_water_splash_fountain"]               = loadfx("env/water/fx_water_splash_fountain_lg");
  193.  
  194.  
  195. \raw\maps\mp\_ac130.gsc
  196. level.ac130 = spawn( "script_model", ac130Origin );
  197. level.ac130.angles = (0,75,0);
  198. level.gunReady["ac130_25mm"] = true;
  199. level.gunReady["ac130_40mm"] = true;
  200. level.ac130_rotationSpeed = 150;
  201. level.ac130Player = self;
  202. level.ac130_overlay = newClientHudElem( self );
  203. level.ac130_overlay.x = 0;
  204. level.ac130_overlay.y = 0;
  205. level.ac130_overlay.alignX = "center";
  206. level.ac130_overlay.alignY = "middle";
  207. level.ac130_overlay.horzAlign = "center";
  208. level.ac130_overlay.vertAlign = "middle";
  209. level.ac130_overlay.foreground = true;
  210. level.currentWeapon = weapon[currentWeapon].name;
  211. level.currentWeapon = weapon[currentWeapon].name;
  212. level.gunReady[weaponName] = false;
  213. level.gunReady[weaponName] = true;
  214.  
  215.  
  216. \raw\maps\mp\_acousticsensor.gsc
  217. level._effect["acousticsensor_enemy_light"] = loadfx( "misc/fx_equip_light_red" );
  218. level._effect["acousticsensor_friendly_light"] = loadfx( "misc/fx_equip_light_green" );
  219.  
  220.  
  221. \raw\maps\mp\_airstrike.gsc
  222. level.airstrikeModel = "t5_veh_air_b52";
  223. level.airstrikeBombCount = 15;
  224. level.airstrikeDangerMaxRadius = 750;
  225. level.airstrikeDangerMinRadius = 300;
  226. level.airstrikeDangerForwardPush = 1.5;
  227. level.airstrikeDangerOvalScale = 6.0;
  228. level.airstrikeMapRange = level.airstrikeDangerMinRadius * .3 + level.airstrikeDangerMaxRadius * .7;
  229. level.airstrikeDangerMaxRadiusSq = level.airstrikeDangerMaxRadius * level.airstrikeDangerMaxRadius;
  230. level.fx_jet_trail = loadfx("trail/fx_geotrail_jet_contrail");
  231. level.fx_airstrike_afterburner = loadfx("vehicle/exhaust/fx_exhaust_jet_afterburner");
  232. level.fx_airstrike_bomb = loadfx ("weapon/bombing_run/fx_mp_bombing_run_bomb");
  233. level.fx_airstrike_bomb = loadfx ("vehicle/exhaust/fx_exhaust_b52_bomber");
  234. level.airstrikeDamagedEnts = [];
  235. level.airstrikeDamagedEntsCount = 0;
  236. level.airstrikeDamagedEntsIndex = 0;
  237. level.airstrikeDamagedEnts = [];
  238. level.airstrikeDamagedEntsCount = 0;
  239. level.airstrikeDamagedEntsIndex = 0;
  240. level.airstrikeDamagedEnts[level.airstrikeDamagedEntsIndex] = undefined;
  241. level.airstrikeDamagedEnts[level.airstrikeDamagedEntsIndex] = undefined;
  242. level.airstrikeDamagedEnts[level.airstrikeDamagedEntsCount] = ents[i];
  243.  
  244.  
  245. \raw\maps\mp\_airsupport.gsc
  246. level.airsupportHeightScale = 1;
  247. level.airsupportHeightScale = getDvarIntDefault( #"scr_airsupportHeightScale", level.airsupportHeightScale );
  248. level.noFlyZones = [];
  249. level.noFlyZones = GetEntArray("no_fly_zone","targetname");
  250. level.airsupportHeightScale = getDvarIntDefault( #"scr_airsupportHeightScale", level.airsupportHeightScale );
  251. level.bomberDamagedEnts = [];
  252. level.bomberDamagedEntsCount = 0;
  253. level.bomberDamagedEntsIndex = 0;
  254.  
  255.  
  256. \raw\maps\mp\_art.gsc
  257. level.dofDefault["nearStart"] = 0;
  258. level.dofDefault["nearEnd"] = 1;
  259. level.dofDefault["farStart"] = 8000;
  260. level.dofDefault["farEnd"] = 10000;
  261. level.dofDefault["nearBlur"] = 6;
  262. level.dofDefault["farBlur"] = 0;
  263. level.curDoF = ( level.dofDefault["farStart"] - level.dofDefault["nearEnd"] ) / 2;
  264. level.script = tolower( GetDvar( "mapname" ) );
  265. level.dofDefault["nearStart"] = level.dofDefault["nearEnd"] - 1;
  266. level.dofDefault["nearEnd"] = level.dofDefault["nearStart"] + 1;
  267. level.dofDefault["farStart"] = level.dofDefault["farEnd"] - 1;
  268. level.dofDefault["farEnd"] = level.dofDefault["farStart"] + 1;
  269. level.dofDefault["farBlur"] = level.dofDefault["nearBlur"] - .1;
  270. level.dofDefault["farStart"] = level.dofDefault["nearEnd"] + 1;
  271.  
  272.  
  273. \raw\maps\mp\_artillery.gsc
  274. level.artilleryDangerMaxRadius = 750;
  275. level.artilleryDangerMinRadius = 300;
  276. level.artilleryDangerForwardPush = 1.5;
  277. level.artilleryDangerOvalScale = 6.0;
  278. level.artilleryCanonShellCount =  maps\mp\gametypes\_tweakables::getTweakableValue( "killstreak", "artilleryCanonShellCount" );
  279. level.artilleryCanonCount = maps\mp\gametypes\_tweakables::getTweakableValue( "killstreak", "artilleryCanonCount" );
  280. level.artilleryShellsInAir = 0;
  281. level.artilleryMapRange = level.artilleryDangerMinRadius * .3 + level.artilleryDangerMaxRadius * .7;
  282. level.artilleryDangerMaxRadiusSq = level.artilleryDangerMaxRadius * level.artilleryDangerMaxRadius;
  283. level.artilleryDangerCenters = [];
  284. level.artilleryInProgress = true;
  285. level.artilleryDamagedEnts = [];
  286. level.artilleryDamagedEntsCount = 0;
  287. level.artilleryDamagedEntsIndex = 0;
  288. level.artilleryKillcamModelCounts = 0;
  289. level.artilleryDamagedEnts[level.artilleryDamagedEntsIndex] = undefined;
  290. level.artilleryDamagedEnts[level.artilleryDamagedEntsIndex] = undefined;
  291. level.artilleryInProgress = undefined;
  292. level.artilleryShellsInAir = undefined;
  293. level.artilleryDangerCenters[ level.artilleryDangerCenters.size ] = dangerCenter;
  294. level.artilleryShellsInAir = level.artilleryCanonCount * level.artilleryCanonShellCount;
  295. level.artilleryDangerCenters = newarray;
  296. level.artilleryInProgress = undefined;
  297. level.artilleryShellsInAir = level.artilleryShellsInAir - 1;
  298.  
  299.  
  300. \raw\maps\mp\_bomber.gsc
  301. level.debugPlaneModel = alliesplaneModel;
  302. level.bomberDangerMaxRadius = 750;
  303. level.bomberDangerMinRadius = 300;
  304. level.bomberDangerForwardPush = 1.5;
  305. level.bomberDangerOvalScale = 6.0;
  306. level.bomberMapRange = level.bomberDangerMinRadius * .3 + level.bomberDangerMaxRadius * .7;
  307. level.bomberDangerMaxRadiusSq = level.bomberDangerMaxRadius * level.bomberDangerMaxRadius;
  308. level.fx_jet_trail = loadfx("trail/fx_geotrail_jet_contrail");
  309. level.fx_bomber_afterburner = loadfx("vehicle/exhaust/fx_exhaust_jet_afterburner");
  310. level.fx_jet_bomb = loadfx ("weapon/clusterbomb/fx_clusterbomb_mp");
  311. level.fx_bomb_explosion = loadfx ("weapon/clusterbomb/fx_clusterbomb_exp_mp");
  312. level.airSupportInProgress = true;
  313. level.bomberPlanes = [];
  314. level.bomberPlanes[level.bomberPlanes.size] = self;
  315. level.bomberDamagedEnts[level.bomberDamagedEntsIndex] = undefined;
  316. level.bomberDamagedEnts[level.bomberDamagedEntsIndex] = undefined;
  317. level.airSupportInProgress = undefined;
  318. level.bomberFlightPlan =  SpawnStruct();
  319. level.bomberFlightPlan.distance = getDvarIntDefault( #"scr_bomber_distance", 48000 );
  320. level.bomberFlightPlan.height = getDvarIntDefault( #"scr_bomber_height", 4000 );
  321. level.bomberFlightPlan.speed = getDvarIntDefault( #"scr_bomber_speed", 2000 );
  322. level.bomberFlightPlan.bombSpeedScale = getDvarIntDefault( #"scr_bomber_bomb_speed_scale", 1 );
  323. level.bomberFlightPlan.target = targetPoint;
  324. level.bomberFlightPlan.owner = owner;
  325. level.bomberFlightPlan.yaw = "random";
  326. level.bomberFlightPlan.planeSpawnCallback = ::planeSpawnedCallback;
  327. level.bomberFlightPlan.planeSpacing = ( calculateFallTime( level.bomberFlightPlan.height ) + 1 );
  328. level.airSupportInProgress = undefined;
  329.  
  330.  
  331. \raw\maps\mp\_burnplayer.gsc
  332. level.flameDamage = 15;
  333. level.flameBurnTime = 1.5;
  334.  
  335.  
  336. \raw\maps\mp\_busing.gsc
  337. level.busState = "";
  338. level.busState = state;
  339.  
  340.  
  341. \raw\maps\mp\_cameraspike.gsc
  342. level._effect["cameraspike_enemy_light"] = loadfx( "misc/fx_equip_light_red" );
  343. level._effect["cameraspike_friendly_light"] = loadfx( "misc/fx_equip_light_green" );
  344.  
  345.  
  346. \raw\maps\mp\_challenges.gsc
  347. level.ChallengesCallbacks = [];
  348. level.ChallengesCallbacks[callback] = [];
  349. level.ChallengesCallbacks[callback][level.ChallengesCallbacks[callback].size] = func;
  350.  
  351.  
  352. \raw\maps\mp\_clientflags.gsc
  353. level.const_flag_rocket_fx = 1;
  354. level.const_flag_police_car = 1;
  355. level.const_flag_elevator_fx = 1;
  356. level.const_flag_tactical_insertion = 2;
  357. level.const_flag_flag_away = 3;
  358. level.const_flag_stunned = 9;
  359. level.const_flag_camera_spike = 10;
  360. level.const_flag_counteruav = 11;
  361. level.const_flag_destructible_car = 12;
  362. level.const_flag_copterrotor = 13;
  363. level.const_flag_copterdamaged = 14;
  364. level.const_flag_elevator_floor_fx = 15;
  365. level.const_flag_scrambler = 3;
  366. level.const_flag_stunned = 9;
  367. level.const_flag_warn_targeted = 3;
  368. level.const_flag_warn_locked = 4;
  369. level.const_flag_warn_fired = 5;
  370. level.const_flag_outofbounds = 6;
  371. level.const_flag_choppergunner = 7;
  372. level.const_flag_opendoor = 8;
  373. level.const_flag_crashing = 9;
  374. level.const_flag_player_helicopter = 10;
  375. level.const_flag_countdown = 1;
  376. level.const_flag_timeout = 2;
  377. level.const_flag_stunned = 9;
  378. level.const_flag_ctfcarrier = 0;
  379. level.const_flag_bombing = 1;
  380. level.const_flag_airstrike = 2;
  381. level.const_flag_napalm = 3;
  382.  
  383.  
  384. \raw\maps\mp\_createfx.gsc
  385. level.createFX = [];
  386. level.callbackPlayerDisconnect = ::void;
  387. level.callbackPlayerDamage = ::void;
  388. level.callbackPlayerKilled = ::void;
  389. level.callbackPlayerConnect = ::Callback_PlayerConnect;
  390. level.exploderFunction = maps\mp\_utility::exploder_before_load;
  391. level.exploderFunction = maps\mp\_utility::exploder_after_load;
  392. level.fxanims = [];
  393. level._effect = [];
  394. level._effect[ name ] = loadfx( effect );
  395. level.createFX_enabled = ( GetDvar( #"createfx" ) != "" );  
  396. level._fake_createfx_struct = SpawnStruct();
  397. level.createFXent = [];
  398. level.createFXent[level.createFXent.size] = ent;
  399. level.createFXent = [];
  400. level.createFXent[level.createFXent.size] = ent;
  401. level.createFXent = [];
  402. level.createFXent[ level.createFXent.size ] = ent;
  403. level._effect = [];
  404. level.createFxHudElements = [];
  405. level.createFx_hudElements = 30;
  406. level.clearTextMarker = newDebugHudElem();
  407. level.clearTextMarker.alpha = 0;
  408. level.createFxHudElements[i] = newStrArray;
  409. level.selectedMove_up = 0;
  410. level.selectedMove_forward = 0;
  411. level.selectedMove_right = 0;
  412. level.selectedRotate_pitch = 0;
  413. level.selectedRotate_roll = 0;
  414. level.selectedRotate_yaw = 0;
  415. level.selected_fx = [];
  416. level.selected_fx_ents = [];
  417. level.createfx_lockedList = [];
  418. level.createfx_lockedList["escape"] = true;
  419. level.createfx_lockedList["BUTTON_LSHLDR"] = true;
  420. level.createfx_lockedList["BUTTON_RSHLDR"] = true;
  421. level.createfx_lockedList["mouse1"] = true;
  422. level.createfx_lockedList["ctrl"] = true;
  423. level.createfx_draw_enabled = true;
  424. level.buttonIsHeld = [];
  425. level.fx_rotating = false;
  426. level.createfx_selecting = false;
  427. level.createfx_last_player_origin = (0,0,0);
  428. level.createfx_last_player_forward = (0,0,0);
  429. level.createfx_last_view_change_test = 0;
  430. level.createfx_inputlocked = false;
  431. level.createfxCursor = bullettrace(player geteye(), player geteye() + placeEnt_vector, false, undefined);
  432. level.buttonClick = [];
  433. level.button_is_kb = [];
  434. level.cfx_selected_prop = undefined;
  435. level.write_error = "";
  436. level.fx_highLightedEnt = highLightedEnt;
  437. level.createfx_last_player_origin = player.origin;
  438. level.createfx_last_player_forward = forward;
  439. level.createfx_last_view_change_test = GetTime();
  440. level.effect_list_offset = 0;
  441. level.createfx_draw_enabled = !level.createfx_draw_enabled;
  442. level.createfx_manipulate_offset = 0;
  443. level.createfx_manipulate_offset = ( level.createfx_manipulate_offset + 1 ) % print_frames;
  444. level.createfx_selecting = !entWasSelected;
  445. level.createfx_inputlocked = false;
  446. level.selected_fx_option_index = undefined;
  447. level.createFxHudElements[ i ][0].color = (1,1,1);
  448. level.selected_fx[index] = true;
  449. level.selected_fx_ents[level.selected_fx_ents.size] = ent;
  450. level.selected_fx[index] = undefined;
  451. level.selected_fx_ents = newArray;
  452. level.selected_fx = [];
  453. level.selected_fx_ents = [];
  454. level.draw_axis_models = [];
  455. level.draw_axis_models[level.draw_axis_models.size] = self.draw_axis_model;
  456. level.draw_axis_models = array_removeUndefined( level.draw_axis_models );
  457. level.draw_axis_models[level.draw_axis_models.size] = axis_model;
  458. level.draw_axis_models = array_removeUndefined( level.draw_axis_models );
  459. level.fxHudElements = 0;
  460. level.selectedMove_forward = 0;
  461. level.selectedMove_forward = level.selectedMove_forward + rate;
  462. level.selectedMove_forward = 0;
  463. level.selectedMove_forward = level.selectedMove_forward - rate;
  464. level.selectedMove_forward = 0;
  465. level.selectedMove_right = 0;
  466. level.selectedMove_right = level.selectedMove_right + rate;
  467. level.selectedMove_right = 0;
  468. level.selectedMove_right = level.selectedMove_right - rate;
  469. level.selectedMove_right = 0;
  470. level.selectedMove_up = 0;
  471. level.selectedMove_up = level.selectedMove_up + rate;
  472. level.selectedMove_up = 0;
  473. level.selectedMove_up = level.selectedMove_up - rate;
  474. level.selectedMove_up = 0;
  475. level.buttonIsHeld[ name ] = true;
  476. level.buttonClick[ name ] = true;
  477. level.buttonIsHeld[name] = undefined;
  478. level.button_is_kb[ name ] = true;
  479. level.selectedRotate_pitch = 0;
  480. level.selectedRotate_pitch = level.selectedRotate_pitch + rate;
  481. level.selectedRotate_pitch = 0;
  482. level.selectedRotate_pitch = level.selectedRotate_pitch - rate;
  483. level.selectedRotate_pitch = 0;
  484. level.selectedRotate_yaw = 0;
  485. level.selectedRotate_yaw = level.selectedRotate_yaw + rate;
  486. level.selectedRotate_yaw = 0;
  487. level.selectedRotate_yaw = level.selectedRotate_yaw - rate;
  488. level.selectedRotate_yaw = 0;
  489. level.selectedRotate_roll = 0;
  490. level.selectedRotate_roll = level.selectedRotate_roll + rate;
  491. level.selectedRotate_roll = 0;
  492. level.selectedRotate_roll = level.selectedRotate_roll - rate;
  493. level.selectedRotate_roll = 0;
  494. level.fx_rotating = true;
  495. level.fx_rotating = false;
  496. level.createFXent = newArray;
  497. level.selected_fx = [];
  498. level.selected_fx_ents = [];
  499. level.effect_list_offset = 0;
  500. level.cfx_center_text = [];
  501. level.cfx_center_text_index = 0;
  502. level.cfx_center_text_max = 3;
  503. level.cfx_center_text = new_array;
  504. level.cfx_center_text_index = level.cfx_center_text_max - 1;
  505. level.cfx_center_text_index = 0;
  506. level.write_error = "";
  507. level.stored_ents = array;
  508. level.stored_ents = [];
  509. level.createFXent[level.createFXent.size] = ent;
  510. level.cfx_next_ent = get_next_ent_with_same_id( index, ent.v["fxid"] );
  511. level.cfx_next_ent = undefined;
  512. level.cfx_next_ent = get_next_ent_with_same_id( i, ent.v["fxid"] );
  513. level.cfx_next_ent = get_next_ent_with_same_id( i, ent.v["fxid"] );
  514. level.last_ent_moved_to = ent;
  515. level.player = self;
  516. level.hasSpawned = true;
  517.  
  518.  
  519. \raw\maps\mp\_createfxMenu.gsc
  520. level.create_fx_menu = name;
  521. level.effect_list_offset = 0;
  522. level.createFX_options = [];
  523. level.effect_list_offset = 0;
  524. level.effect_list_offset_max = 9;
  525. level.createfxMasks = [];
  526. level.createfxMasks["all"] = [];
  527. level.createfxMasks["all"]["exploder"] = true;
  528. level.createfxMasks["all"]["oneshotfx"] = true;
  529. level.createfxMasks["all"]["loopfx"] = true;
  530. level.createfxMasks["all"]["soundfx"] = true;
  531. level.createfxMasks["fx"] = [];
  532. level.createfxMasks["fx"]["exploder"] = true;
  533. level.createfxMasks["fx"]["oneshotfx"] = true;
  534. level.createfxMasks["fx"]["loopfx"] = true;
  535. level.createfxMasks["exploder"] = [];
  536. level.createfxMasks["exploder"]["exploder"] = true;
  537. level.createfxMasks["loopfx"] = [];
  538. level.createfxMasks["loopfx"]["loopfx"] = true;
  539. level.createfxMasks["oneshotfx"] = [];
  540. level.createfxMasks["oneshotfx"]["oneshotfx"] = true;
  541. level.createfxMasks["soundfx"] = [];
  542. level.createfxMasks["soundfx"]["soundalias"] = true;
  543. level.createfx_inputlocked = true;
  544. level.createFxHudElements[ drawnCount+3 ][0].color = (1,1,0);
  545. level.cfx_selected_prop = prop_name;
  546. level.effect_list_offset = 0;
  547. level.selected_fx_option_index = i;
  548. level.createFX_options[level.createFX_options.size] = option;
  549. level.createFxHudElements[ 0 ][0].color = (1,1,0);
  550. level.createFxHudElements[ 0 ][0].color = (1,1,0);
  551. level.effect_list_offset = 0;
  552. level.effect_list_offset = 0;
  553. level.effect_list_offset = 0;
  554. level.effect_list_offset = int( floor( keys.size / level.effect_list_offset_max ) * level.effect_list_offset_max );
  555. level.cfx_next_ent = ent;
  556. level.effect_list_offset = 0;
  557. level._effect_keys = [];
  558. level._effect_keys[k] = keys[i];
  559. level._effect_keys = keys;
  560.  
  561.  
  562. \raw\maps\mp\_decoy.gsc
  563. level.decoyWeapons = [];
  564. level.decoyWeapons["fullauto"] = [];
  565. level.decoyWeapons["semiauto"] = [];
  566. level.decoyWeapons["fullauto"][level.decoyWeapons["fullauto"].size] = "uzi_mp";
  567. level.decoyWeapons["semiauto"][level.decoyWeapons["semiauto"].size] = "m1911_mp";
  568. level.decoyWeapons["semiauto"][level.decoyWeapons["semiauto"].size] = "python_mp";
  569. level.decoyWeapons["semiauto"][level.decoyWeapons["semiauto"].size] = "cz75_mp";
  570. level.decoyWeapons["semiauto"][level.decoyWeapons["semiauto"].size] = "m14_mp";
  571. level.decoyWeapons["semiauto"][level.decoyWeapons["semiauto"].size] = "fnfal_mp";
  572.  
  573.  
  574. \raw\maps\mp\_demo.gsc
  575. level.bookmark["kill"] = 0;
  576. level.bookmark["event"] = 1;
  577. level.demorecord_minplayers = max( 1, GetDvarInt( #"scr_demorecord_minplayers" ) );
  578.  
  579.  
  580. \raw\maps\mp\_destructible.gsc
  581. level.destructible_callbacks = [];
  582. level.const_flag_destructable_destroyed = 3;
  583.  
  584.  
  585. \raw\maps\mp\_dogs.gsc
  586. level.friendlyDogModel = "german_shepherd";
  587. level.enemyDogModel = "german_shepherd_black";
  588. level.maxDogsAttackingPerPlayer = 2;
  589. level.spawnTimeWaitMin = 2;
  590. level.spawnTimeWaitMax = 5;
  591. level.no_dogs = false;
  592. level.no_dogs = true;
  593. level.dogHealth_RegularRegenDelay = regenTime * 1000;
  594. level.dogHealthRegenDisabled = (level.dogHealth_RegularRegenDelay <= 0);
  595. level.no_pathnodes = true;
  596. level.no_pathnodes = false;
  597. level.patrolnodes = [];
  598. level.patrolnodes = pick_random_nodes( pathnodes, 200 );
  599. level.dogspawnnodes = [];
  600. level.dogspawnnodes = getnodearray( "spawn", "script_noteworthy");
  601. level.dogspawnnodes = pick_random_nodes( pathnodes, 20 );
  602. level.dogexitnodes = [];
  603. level.dogexitnodes = getnodearray( "exit", "script_noteworthy");
  604. level.dogexitnodes = pick_random_nodes( pathnodes, 20 );
  605. level.dog_time = dog_get_dvar_int("scr_dog_time", "60" );
  606. level.dog_health = dog_get_dvar_int("scr_dog_health", "100" );
  607. level.dog_count = dog_get_dvar_int("scr_dog_count", "8" );
  608. level.dog_count_max_at_once = dog_get_dvar_int("scr_dog_max_at_once", "4" );
  609. level.dog_count_max_at_once = level.dog_count;
  610. level.dog_debug = dog_get_dvar_int("debug_dogs", "0" );
  611. level.dog_debug_sound = dog_get_dvar_int("debug_dog_sound", "0" );
  612. level.dog_debug_anims = dog_get_dvar_int("debug_dog_anims", "0" );
  613. level.dog_debug_anims_ent = dog_get_dvar_int("debug_dog_anims_ent", "0" );
  614. level.dog_debug_turns = dog_get_dvar_int("debug_dog_turns", "0" );
  615. level.dog_debug_orient = dog_get_dvar_int("debug_dog_orient", "0" );
  616. level.dog_debug_usage = dog_get_dvar_int("debug_dog_usage", "1" );
  617. level.dog_count = 16 - dogs_in_the_bsp;
  618. level.dog_spawner = getent("dog_spawner","targetname" );
  619. level.dogs = [];
  620. level.dogs[i] = dog_manager_spawn_dog( self, team, node, i, requiredDeathCount );
  621. level.dogs[level.dogs.size] = dog_manager_spawn_dog( owner, team, node, level.dogs.size );
  622. level.dogs = undefined;
  623. level.dog_usage = [];
  624. level.dog_usage[index] = spawnStruct();
  625. level.dog_usage[index].spawn_time = 0;
  626. level.dog_usage[index].death_time = 0;
  627. level.dog_usage[index].kills = 0;
  628. level.dog_usage[index].died = false;
  629. level.dog_usage[index].spawn_time = GetTime();
  630. level.dog_usage[index].death_time = 0;
  631. level.dog_usage[index].kills = 0;
  632. level.dog_usage[index].died = false;
  633. level.dog_usage[index].death_time = GetTime();
  634. level.dog_usage[index].died = true;
  635.  
  636.  
  637. \raw\maps\mp\_door_breach.gsc
  638. level._effect["hinge_door_bash"] = loadfx("destructibles/fx_feature_door_break_reg");
  639.  
  640.  
  641. \raw\maps\mp\_entityheadicons.gsc
  642. level.initedEntityHeadIcons = true;
  643. level.entitiesWithHeadIcons = [];
  644.  
  645.  
  646. \raw\maps\mp\_flare.gsc
  647. level.flareVisionEffectRadius = flare_get_dvar_int( "flare_effect_radius", "400" );
  648. level.flareVisionEffectHeight = flare_get_dvar_int( "flare_effect_height", "65" );
  649. level.flareDuration = flare_get_dvar_int( "flare_duration", "8");
  650. level.flareDistanceScale = flare_get_dvar_int( "flare_distance_scale", "16");
  651. level.flareLookAwayFadeWait = flare_get_dvar( "flareLookAwayFadeWait", "0.45" );
  652. level.flareBurnOutFadeWait = flare_get_dvar( "flareBurnOutFadeWait", "0.65" );
  653. level.flareVisionEffectRadius = flare_get_dvar_int( "flare_effect_radius", level.flareVisionEffectRadius );
  654. level.flareVisionEffectHeight = flare_get_dvar_int( "flare_effect_height", level.flareVisionEffectHeight );
  655. level.flareDistanceScale = flare_get_dvar_int( "flare_distance_scale", level.flareDistanceScale);
  656. level.flareVisionEffectRadius = int(level.flareVisionEffectRadius * 0.5);
  657. level.flareVisionEffectHeight = int(level.flareVisionEffectHeight * 0.5);
  658.  
  659.  
  660. \raw\maps\mp\_flashgrenades.gsc
  661. level.sound_flash_start = "";
  662. level.sound_flash_loop = "";
  663. level.sound_flash_stop = "";
  664.  
  665.  
  666. \raw\maps\mp\_fx.gsc
  667. level._script_exploders = [];
  668. level._script_exploders[level._script_exploders.size] = fx;
  669. level.fxfireloopmod = 1/value;
  670.  
  671.  
  672. \raw\maps\mp\_gib.gsc
  673. level._effect["animscript_gib_fx"]    = LoadFx( "weapon/bullet/fx_flesh_gib_fatal_01_mp" );
  674. level._effect["animscript_gibtrail_fx"]   = LoadFx( "trail/fx_trail_blood_streak_mp" );
  675. level._effect["animscript_laststand_suicide"] = LoadFX( "impacts/fx_flesh_hit_head_coward" );
  676. level.lastGibTime   = GetTime();
  677. level.totalGibs   = RandomIntRange( level.minGibs, level.maxGibs );
  678. level.lastGibTime = GetTime();
  679.  
  680.  
  681. \raw\maps\mp\_global_fx.gsc
  682. level._effect = [];
  683.  
  684.  
  685. \raw\maps\mp\_helicopter.gsc
  686. level.vehicle_deathmodel[model] = model;
  687. level.cobra_missile_models = [];
  688. level.cobra_missile_models["cobra_Hellfire"] = "projectile_hellfire_missile";
  689. level.heli_sound["allies"]["hit"] = "evt_helicopter_hit";
  690. level.heli_sound["allies"]["hitsecondary"] = "evt_helicopter_hit";
  691. level.heli_sound["allies"]["damaged"] = "null";
  692. level.heli_sound["allies"]["spinloop"] = "evt_helicopter_spin_loop";
  693. level.heli_sound["allies"]["spinstart"] = "evt_helicopter_spin_start";
  694. level.heli_sound["allies"]["crash"] = "evt_helicopter_midair_exp";
  695. level.heli_sound["allies"]["missilefire"] = "wpn_hellfire_fire_npc";
  696. level.heli_sound["axis"]["hit"] = "evt_helicopter_hit";
  697. level.heli_sound["axis"]["hitsecondary"] = "evt_helicopter_hit";
  698. level.heli_sound["axis"]["damaged"] = "null";
  699. level.heli_sound["axis"]["spinloop"] = "evt_helicopter_spin_loop";
  700. level.heli_sound["axis"]["spinstart"] = "evt_helicopter_spin_start";
  701. level.heli_sound["axis"]["crash"] = "evt_helicopter_midair_exp";
  702. level.heli_sound["axis"]["missilefire"] = "wpn_hellfire_fire_npc";
  703. level.fx_heli_dust = loadfx ("vehicle/treadfx/fx_heli_dust_default");
  704. level.fx_heli_water = loadfx ("vehicle/treadfx/fx_heli_water_spray");
  705. level.fx_heli_flare = loadfx ("vehicle/vexplosion/fx_hind_chaff");
  706. level.fx_heli_chaff = loadfx ("vehicle/vexplosion/fx_heli_chaff");
  707. level._effect["chinook_light"]["friendly"] = loadfx( "vehicle/light/fx_chinook_exterior_lights_grn_mp" );
  708. level._effect["chinook_light"]["enemy"] = loadfx( "vehicle/light/fx_chinook_exterior_lights_red_mp" );
  709. level._effect["cobra_light"]["friendly"] = loadfx( "vehicle/light/fx_cobra_exterior_lights_red_mp" );
  710. level._effect["cobra_light"]["enemy"] = loadfx( "vehicle/light/fx_cobra_exterior_lights_red_mp" );
  711. level._effect["hind_light"]["friendly"] = loadfx( "vehicle/light/fx_hind_exterior_lights_grn_mp" );
  712. level._effect["hind_light"]["enemy"] = loadfx( "vehicle/light/fx_hind_exterior_lights_red_mp" );
  713. level._effect["huey_light"]["friendly"] = loadfx( "vehicle/light/fx_huey_exterior_lights_grn_mp" );
  714. level._effect["huey_light"]["enemy"] = loadfx( "vehicle/light/fx_huey_exterior_lights_red_mp" );
  715. level.heli_primary_path = startnode_array;
  716. level.heli_paths[level.heli_paths.size] = startnode_array;
  717. level.heli_loop_paths[level.heli_loop_paths.size] = startnode;
  718. level.heli_loop_paths[level.heli_loop_paths.size] = startnode;
  719. level.heli_leavenodes[level.heli_leavenodes.size] = leave_nodes[i];
  720. level.heli_crash_paths[level.heli_crash_paths.size] = crash_start_node;
  721. level.chaff_offset["attack"] = ( -130, 0, -140 );
  722. level.chopperComlinkFriendly = "vehicle_cobra_helicopter_mp_light";
  723. level.chopperComlinkEnemy = "vehicle_cobra_helicopter_mp_dark";
  724. level.chopperRegular = "t5_veh_helo_hind_killstreak";
  725. level.heli_paths = [];
  726. level.heli_loop_paths = [];
  727. level.heli_leavenodes = [];
  728. level.heli_crash_paths = [];
  729. level.chopper_fx["explode"]["death"] = loadfx ("vehicle/vexplosion/fx_vexplode_helicopter_exp_mp");
  730. level.chopper_fx["explode"]["large"] = loadfx ("vehicle/vexplosion/fx_vexplode_heli_killstreak_exp_sm");
  731. level.chopper_fx["explode"]["medium"] = loadfx ("explosions/fx_exp_aerial");
  732. level.chopper_fx["damage"]["light_smoke"] = loadfx ("trail/fx_trail_heli_killstreak_engine_smoke_33");
  733. level.chopper_fx["damage"]["heavy_smoke"] = loadfx ("trail/fx_trail_heli_killstreak_engine_smoke_66");
  734. level.chopper_fx["smoke"]["trail"] = loadfx ("trail/fx_trail_heli_killstreak_tail_smoke");
  735. level.chopper_fx["fire"]["trail"]["medium"] = loadfx ("trail/fx_trail_heli_black_smoke");
  736. level.chopper_fx["fire"]["trail"]["large"] = loadfx ("trail/fx_trail_heli_killstreak_engine_smoke");
  737. level.coptermainrotor_fx = loadfx ("vehicle/props/fx_cobra_rotor_main_run_mp");
  738. level.coptertailrotor_fx = loadfx ("vehicle/props/fx_cobra_rotor_small_run_mp");
  739. level.coptertailrotordamaged_fx = loadfx ("vehicle/props/fx_huey_small_blade_dmg");
  740. level.heli_loopmax = heli_get_dvar_int( "scr_heli_loopmax", "2" );  
  741. level.heli_missile_rof = heli_get_dvar_int( "scr_heli_missile_rof", "2" );
  742. level.heli_armor = heli_get_dvar_int( "scr_heli_armor", "500" );  
  743. level.heli_maxhealth = heli_get_dvar_int( "scr_heli_maxhealth", "1500" );
  744. level.heli_amored_maxhealth = heli_get_dvar_int( "scr_heli_armored_maxhealth", "1500" );
  745. level.heli_missile_max = heli_get_dvar_int( "scr_heli_missile_max", "20" );
  746. level.heli_dest_wait = heli_get_dvar_int( "scr_heli_dest_wait", "8" );  
  747. level.heli_debug = heli_get_dvar_int( "scr_heli_debug", "0" );    
  748. level.heli_debug_crash = heli_get_dvar_int( "scr_heli_debug_crash", "0" );    
  749. level.heli_targeting_delay = heli_get_dvar( "scr_heli_targeting_delay", "0.5" );
  750. level.heli_turretReloadTime = heli_get_dvar( "scr_heli_turretReloadTime", "1.5" );
  751. level.heli_turretClipSize = heli_get_dvar_int( "scr_heli_turretClipSize", "20" );
  752. level.heli_visual_range = heli_get_dvar_int( "scr_heli_visual_range", "3500" );  
  753. level.heli_missile_range = heli_get_dvar_int( "scr_heli_missile_range", "100000" );
  754. level.heli_health_degrade = heli_get_dvar_int( "scr_heli_health_degrade", "0" );
  755. level.heli_turret_angle_tan = heli_get_dvar_int( "scr_heli_turret_angle_tan", "1" );  
  756. level.heli_turret_target_cone = heli_get_dvar( "scr_heli_turret_target_cone", "0.6" );  
  757. level.heli_target_spawnprotection = heli_get_dvar_int( "scr_heli_target_spawnprotection", "5" );
  758. level.heli_missile_regen_time = heli_get_dvar( "scr_heli_missile_regen_time", "10" );  
  759. level.heli_turret_spinup_delay = heli_get_dvar( "scr_heli_turret_spinup_delay", "0.75" );  
  760. level.heli_target_recognition = heli_get_dvar( "scr_heli_target_recognition", "0.5" );  
  761. level.heli_missile_friendlycare = heli_get_dvar_int( "scr_heli_missile_friendlycare", "512" );
  762. level.heli_missile_target_cone = heli_get_dvar( "scr_heli_missile_target_cone", "0.6" );  
  763. level.heli_valid_target_cone = heli_get_dvar( "scr_heli_missile_valid_target_cone", "0.7" );
  764. level.heli_armor_bulletdamage = heli_get_dvar( "scr_heli_armor_bulletdamage", "0.3" );  
  765. level.heli_attract_strength = heli_get_dvar( "scr_heli_attract_strength", "1000" );
  766. level.heli_attract_range = heli_get_dvar( "scr_heli_attract_range", "20000" );
  767. level.helicopterTurretMaxAngle = heli_get_dvar_int( "scr_helicopterTurretMaxAngle", "35" );
  768. level.heli_protect_time = heli_get_dvar( "scr_heli_protect_time", "60" );    
  769. level.heli_protect_pos_time = heli_get_dvar( "scr_heli_protect_pos_time", "12" );  
  770. level.heli_protect_radius = heli_get_dvar_int( "scr_heli_protect_radius", "2000" );  
  771. level.heli_missile_reload_time = heli_get_dvar( "scr_heli_missile_reload_time", "5.0" );  
  772. level.heli_warning_distance = heli_get_dvar_int( "scr_heli_warning_distance", "500" );    
  773. level.chopper = chopper;
  774. level.helilocation = location;
  775.  
  776.  
  777. \raw\maps\mp\_helicopter_player.gsc
  778. level.chopper_defs["player"] = "heli_player_controlled_mp";
  779. level.chopper_defs["gunner"] = "heli_gunner_mp";
  780. level.chopper_defs["player_firstperson"] = "heli_player_controlled_firstperson_mp";
  781. level.chopper_models["player"]["friendly"] = "t5_veh_helo_hind_killstreak_light";
  782. level.chopper_models["player"]["enemy"] = "t5_veh_helo_hind_killstreak";
  783. level.chopper_models["player_firstperson"]["friendly"] = "t5_veh_helo_hind_killstreak_light";
  784. level.chopper_models["player_firstperson"]["enemy"] = "t5_veh_helo_hind_killstreak";
  785. level.chopper_models["gunner"]["friendly"] = "t5_veh_helo_huey_mp_light";
  786. level.chopper_models["gunner"]["enemy"] = "t5_veh_helo_huey_mp";
  787. level.chaff_offset["gunner"] = ( -100, 0, -115 );
  788. level.chaff_offset["player"] = ( -185, 0, -85 );
  789. level.chaff_offset["player_firstperson"] = ( -185, 0, -85 );
  790. level.chopper_death_models["player"]["allies"] = "t5_veh_helo_hind_dead";
  791. level.chopper_death_models["player"]["axis"] = "t5_veh_helo_hind_dead";
  792. level.chopper_death_models["player_firstperson"]["allies"] = "t5_veh_helo_hind_dead";
  793. level.chopper_death_models["player_firstperson"]["axis"] = "t5_veh_helo_hind_dead";
  794. level.chopper_death_models["gunner"]["allies"] = "t5_veh_helo_hind_dead";
  795. level.chopper_death_models["gunner"]["axis"] = "t5_veh_helo_hind_dead";
  796. level.chopper_sounds["player"]["allies"] = "mpl_kls_cobra_helicopter";
  797. level.chopper_sounds["player"]["axis"] = "mpl_kls_hind_helicopter";
  798. level.chopper_sounds["player_firstperson"]["allies"] = "mpl_kls_cobra_helicopter";
  799. level.chopper_sounds["player_firstperson"]["axis"] = "mpl_kls_hind_helicopter";
  800. level.chopper_sounds["gunner"]["allies"] = "mpl_kls_cobra_helicopter";
  801. level.chopper_sounds["gunner"]["axis"] = "mpl_kls_hind_helicopter";
  802. level.chopper_sounds["missile_reload"] = "wpn_rocket_reload_heli";
  803. level.fx_heli_warning = loadfx( "vehicle/light/fx_cobra_interior_blinking_light" );
  804. level.fx_hind_warning = loadfx( "vehicle/light/fx_heli_hind_interior_red_dlight" );
  805. level.fx_door_closed = loadfx( "vehicle/light/fx_heli_interior_red_dlight" );
  806. level.fx_door_open = loadfx( "vehicle/light/fx_heli_interior_green_dlight" );
  807. level.fx_door_ambient = loadfx( "vehicle/treadfx/fx_heli_clouds_chopper_gunner" );
  808. level.chopper_player_get_on_gun = %int_huey_gunner_on;
  809. level.chopper_door_open = %v_huey_door_open;
  810. level.chopper_door_open_state = %v_huey_door_open_state;
  811. level.chopper_door_closed_state = %v_huey_door_close_state;
  812.  
  813.  
  814. \raw\maps\mp\_interactive_objects.gsc
  815. level.barrelExplodingThisFrame = false;
  816. level.barrelBurn = 100;
  817. level.barrelHealth = 250;
  818. level.barrelIngSound = "exp_redbarrel_ignition";
  819. level.barrelExpSound = "exp_redbarrel";
  820. level.crateBurn = 100;
  821. level.crateHealth = 200;
  822. level.breakables_fx["ammo_crate"]["burn"] = loadfx ("destructibles/fx_ammobox_fire_top");
  823. level.breakables_fx["ammo_crate"]["explode"] = loadfx ("destructibles/fx_ammoboxExp");
  824. level.crateIgnSound  = "Ignition_ammocrate";
  825. level.crateExpSound  = "Explo_ammocrate";
  826. level.barrelExplodingThisFrame = true;
  827. level.lastExplodingBarrel[ "time" ] = getTime();
  828. level.lastExplodingBarrel[ "origin" ] = self.origin + (0, 0, 30);
  829. level.barrelExplodingThisFrame = false;
  830. level.barrelExplodingThisFrame = true;
  831. level.barrelExplodingThisFrame = false;
  832. level.breakables_clip = array_remove (level.breakables_clip , self.remove);
  833.  
  834.  
  835. \raw\maps\mp\_killstreakrules.gsc
  836. level.killstreakrules = [];
  837. level.killstreaktype = [];
  838. level.killstreakrules[rule] = spawnstruct();
  839. level.killstreakrules[rule].cur = 0;
  840. level.killstreakrules[rule].curTeam = [];
  841. level.killstreakrules[rule].max = maxAllowable;
  842. level.killstreakrules[rule].maxPerTeam = maxAllowablePerTeam;
  843. level.killstreaktype[hardpointType] = [];
  844. level.killstreaktype[hardpointType][rule] = spawnstruct();
  845. level.killstreaktype[hardpointType][rule].counts = countTowards;
  846. level.killstreaktype[hardpointType][rule].checks = checkAgainst;
  847. level.killstreakrules[keys[ i ]].curTeam[team] = 0;
  848. level.killstreakrules[keys[ i ]].curTeam[team] = 0;
  849.  
  850.  
  851. \raw\maps\mp\_laststand.gsc
  852. level.reviveTriggerRadius = GetDvarFloat( #"player_reviveTriggerRadius");
  853. level.howLongToDoLastStandForWithRevive = GetDvarFloat( #"player_lastStandBleedoutTime");
  854. level.howLongToDoLastStandForWithoutRevive = GetDvarFloat( #"player_lastStandBleedoutTimeNoRevive" );
  855. level.aboutToBleedOutTime = 5;
  856. level.amountOfLastStandPistolAmmoInClip = 0;
  857. level.amountOfLastStandPistolAmmoInStock = 0;
  858. level.lastStandCount = undefined;
  859. level.laststandpistol = "m1911_mp";
  860. level.allies_needs_revive = false;
  861. level.axis_needs_revive = false;
  862. level.allies_needs_revive = teammateNeedsRevive;
  863. level.axis_needs_revive = teammateNeedsRevive;
  864. level.allies_needs_revive = needsRevive;
  865. level.axis_needs_revive = needsRevive;
  866.  
  867.  
  868. \raw\maps\mp\_load.gsc
  869. level.script_gen_dump_reasons = [];
  870. level.script_gen_dump_reasons[ level.script_gen_dump_reasons.size ] = "First run";
  871. level.bCSVgened = bCSVgened;
  872. level.bScriptgened = bScriptgened;
  873. level._loadStarted = true;
  874. level.clientscripts = (GetDvar( #"cg_usingClientScripts") != "" );;
  875. level.flag = [];
  876. level.flags_lock = [];
  877. level.timeofday = "day";
  878. level.script_gen_dump_reasons = [];
  879. level.script_gen_dump = [];
  880. level.script_gen_dump_reasons[ 0 ] = "First run";
  881. level.script_gen_dump2 = [];
  882. level.aiTriggerSpawnFlags = getaitriggerflags();
  883. level.vehicleTriggerSpawnFlags = getvehicletriggerflags();
  884. level.PhysicsTraceMaskPhysics = (1 << 0);
  885. level.PhysicsTraceMaskVehicle = (1 << 1);
  886. level.PhysicsTraceMaskWater = (1 << 2);
  887. level.createFX_enabled = ( GetDvar( #"createfx" ) != "" );
  888. level._effect["flak20_fire_fx"] = loadFX("weapon/tracer/fx_tracer_flak_single_noExp");
  889. level._effect["flak38_fire_fx"] = loadFX("weapon/tracer/fx_tracer_quad_20mm_Flak38_noExp");
  890. level._effect["distant_muzzleflash"] = loadFX("weapon/muzzleflashes/heavy");
  891. level._effect["spotlight_beam"] = loadFX( "env/light/fx_ray_spotlight_md" );
  892. level.createFXent = [];
  893. level.script_gen_dump[ signatures[ i ] ] = undefined;
  894. level.script_gen_dump_reasons[ level.script_gen_dump_reasons.size ] = "Signature unmatched( removed feature ): " + signatures[ i ];
  895. level.nodesMins = ( 0, 0, 0 );
  896. level.nodesMaxs = ( 0, 0, 0 );
  897. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.nodesMins, level.nodesMaxs );
  898.  
  899.  
  900. \raw\maps\mp\_medals.gsc
  901. level.medalInfo = [];
  902. level.medalCallbacks = [];
  903. level.numKills = 0;
  904. level.medalSettings = spawnstruct();
  905. level.medalSettings.teamColumn = 4;
  906. level.medalSettings.playerColumn = 5;
  907. level.medalSettings.hardcoreMedalPopup = 6;
  908. level.medalInfo[refString] = [];
  909. level.medalInfo[refString]["index"] = idx;
  910. level.medalInfo[refString]["xp"] = spawnstruct();
  911. level.medalInfo[refString]["xp"].team = int( tableLookup( tableName, 0, idx, level.medalSettings.teamColumn ) );
  912. level.medalInfo[refString]["xp"].player = int( tableLookup( tableName, 0, idx, level.medalSettings.playerColumn ) );
  913. level.medalInfo[refString]["hardcore"] = int( tableLookup( tableName, 0, idx, level.medalSettings.hardcoreMedalPopup ) );
  914. level.medalCallbacks[callback] = [];
  915. level.medalCallbacks[callback][level.medalCallbacks[callback].size] = func;
  916.  
  917.  
  918. \raw\maps\mp\_mgturret.gsc
  919. level.magic_distance = 24;
  920. level.mgTurretSettings["easy"]["convergenceTime"] = 2.5;
  921. level.mgTurretSettings["easy"]["suppressionTime"] = 3.0;
  922. level.mgTurretSettings["easy"]["accuracy"] = 0.38;
  923. level.mgTurretSettings["easy"]["aiSpread"] = 2;
  924. level.mgTurretSettings["easy"]["playerSpread"] = 0.5;  
  925. level.mgTurretSettings["medium"]["convergenceTime"] = 1.5;
  926. level.mgTurretSettings["medium"]["suppressionTime"] = 3.0;
  927. level.mgTurretSettings["medium"]["accuracy"] = 0.38;
  928. level.mgTurretSettings["medium"]["aiSpread"] = 2;
  929. level.mgTurretSettings["medium"]["playerSpread"] = 0.5;  
  930. level.mgTurretSettings["hard"]["convergenceTime"] = .8;
  931. level.mgTurretSettings["hard"]["suppressionTime"] = 3.0;
  932. level.mgTurretSettings["hard"]["accuracy"] = 0.38;
  933. level.mgTurretSettings["hard"]["aiSpread"] = 2;
  934. level.mgTurretSettings["hard"]["playerSpread"] = 0.5;  
  935. level.mgTurretSettings["fu"]["convergenceTime"] = .4;
  936. level.mgTurretSettings["fu"]["suppressionTime"] = 3.0;
  937. level.mgTurretSettings["fu"]["accuracy"] = 0.38;
  938. level.mgTurretSettings["fu"]["aiSpread"] = 2;
  939. level.mgTurretSettings["fu"]["playerSpread"] = 0.5;  
  940.  
  941.  
  942. \raw\maps\mp\_minefields.gsc
  943. level._effect["mine"] = LoadFX( "weapon/satchel/fx_explosion_satchel_generic" );
  944. level._effect["splash"] = LoadFX( "bio/player/fx_player_water_splash_impact" );
  945.  
  946.  
  947. \raw\maps\mp\_mortar.gsc
  948. level.mortarSelectionCount = 3;
  949. level.mortarDangerMaxRadius = 300;
  950. level.mortarDangerMinRadius = 200;
  951. level.mortarSelectorRadius = 800;
  952. level.mortarDangerForwardPush = 1.5;
  953. level.mortarDangerOvalScale = 6.0;
  954. level.mortarCanonShellCount =  maps\mp\gametypes\_tweakables::getTweakableValue( "killstreak", "mortarCanonShellCount" );
  955. level.mortarCanonCount = maps\mp\gametypes\_tweakables::getTweakableValue( "killstreak", "mortarCanonCount" );
  956. level.mortarShellsInAir = 0;
  957. level.mortarMapRange = level.mortarDangerMinRadius * .3 + level.mortarDangerMaxRadius * .7;
  958. level.mortarDangerMaxRadiusSq = level.mortarDangerMaxRadius * level.mortarDangerMaxRadius;
  959. level.mortarDangerCenters = [];
  960. level.mortarInProgress = true;
  961. level.mortarCanonShellCount =  maps\mp\gametypes\_tweakables::getTweakableValue( "killstreak", "mortarCanonShellCount" );
  962. level.mortarDamagedEnts = [];
  963. level.mortarDamagedEntsCount = 0;
  964. level.mortarDamagedEntsIndex = 0;
  965. level.mortarKillcamModelCounts = 0;
  966. level.mortarDamagedEnts[level.mortarDamagedEntsIndex] = undefined;
  967. level.mortarDamagedEnts[level.mortarDamagedEntsIndex] = undefined;
  968. level.mortarInProgress = undefined;
  969. level.mortarShellsInAir = undefined;
  970. level.mortarDangerCenters[ level.mortarDangerCenters.size ] = dangerCenter;
  971. level.mortarCanonShellCount =  maps\mp\gametypes\_tweakables::getTweakableValue( "killstreak", "mortarCanonShellCount" );
  972. level.mortarShellsInAir = level.mortarCanonCount * level.mortarCanonShellCount;
  973. level.mortarDangerCenters[i] = level.mortarDangerCenters[level.mortarDangerCenters.size - 1];
  974. level.mortarDangerCenters[level.mortarDangerCenters.size - 1] = undefined;
  975. level.mortarInProgress = undefined;
  976. level.mortarShellsInAir = level.mortarShellsInAir - 1;
  977.  
  978.  
  979. \raw\maps\mp\_music.gsc
  980. level.musicState = "";
  981. level.musicState = state;
  982.  
  983.  
  984. \raw\maps\mp\_napalm.gsc
  985. level.napalmDangerMaxRadius = 750;
  986. level.napalmDangerMaxRadiusSq = level.napalmDangerMaxRadius * level.napalmDangerMaxRadius;
  987. level.alliesplaneModel = "t5_veh_jet_f4_gearup";
  988. level.fx_napalm_bomb = loadfx ("weapon/napalm/fx_napalm_drop_mp");
  989. level.fx_flame_lg = "napalmground_lg_mp";
  990. level.fx_flame_sm = "napalmground_sm_mp";
  991. level.napalmImpactDamageRadius = getDvarIntDefault( #"scr_napalmImpactDamageRadius", 512);
  992. level.burnNapalmEffectRadiusSmall = 100;
  993. level.burnNapalmEffectRadiusLarge = 200;
  994. level.burnNapalmDuration = 13;
  995. level.napalmGroundDamage = 51;
  996. level.groundBurnTime = 3;
  997. level.napalm_spawnprotection = getDvarIntDefault( "scr_napalm_spawnprotection", 5 );
  998. level.napalmDamagedEnts = [];
  999. level.napalmDamagedEntsCount = 0;
  1000. level.napalmDamagedEntsIndex = 0;
  1001. level.napalmGroundFlameEnts = [];
  1002. level.napalmGroundFlameCount = 0;
  1003. level.napalmDamagedEnts = [];
  1004. level.napalmDamagedEntsCount = 0;
  1005. level.napalmDamagedEntsIndex = 0;
  1006. level.napalmGroundFlameEnts = [];
  1007. level.napalmGroundFlameCount = 0;
  1008. level.napalmDamagedEnts[level.napalmDamagedEntsIndex] = undefined;
  1009. level.napalmDamagedEnts[level.napalmDamagedEntsIndex] = undefined;
  1010. level.napalmGroundFlameEnts[index] = undefined;
  1011. level.napalmGroundFlameEnts[level.napalmGroundFlameCount] = self;
  1012. level.napalmDamagedEnts[level.napalmDamagedEntsCount] = ents[i];
  1013.  
  1014.  
  1015. \raw\maps\mp\_panzeriv.gsc
  1016. level.vehicles_damage_treadfx[vehicle_name] = [];
  1017. level.vehicles_husk_effects[ vehicle_name ] = default_husk_effects;
  1018.  
  1019.  
  1020. \raw\maps\mp\_pipes.gsc
  1021. level._pipe_methods = [];
  1022. level.pipe_breaks = breaks;
  1023. level.pipe_breaks = array_remove(level.pipe_breaks, sample);
  1024. level.pipe_breaks = array_remove(level.pipe_breaks, family[i]);
  1025.  
  1026.  
  1027. \raw\maps\mp\_pipes_mp.gsc
  1028. level._pipe_methods = [];
  1029. level.pipe_breaks = breaks;
  1030. level.pipe_breaks = array_remove(level.pipe_breaks, sample);
  1031. level.pipe_breaks = array_remove(level.pipe_breaks, family[i]);
  1032.  
  1033.  
  1034. \raw\maps\mp\_popups.gsc
  1035. level.medalSettings.waitTime = 1.25;
  1036. level.contractSettings = spawnstruct();
  1037. level.contractSettings.waitTime = 4.2;
  1038. level.killstreakSettings = spawnstruct();
  1039. level.killstreakSettings.waitTime = 3;
  1040. level.rankSettings = spawnstruct();
  1041. level.rankSettings.waitTime = 3;
  1042. level.startMessage = spawnstruct();
  1043. level.startMessageDefaultDuration = 2.0;
  1044. level.endMessageDefaultDuration = 2.0;
  1045. level.challengeSettings = spawnstruct();
  1046. level.challengeSettings.waitTime = 3;
  1047. level.teamMessage = spawnstruct();
  1048. level.teamMessage.waittime = 3;
  1049. level.regularGameMessages = spawnstruct();
  1050. level.regularGameMessages.waittime = 6;
  1051. level.wagerSettings = spawnstruct();
  1052. level.wagerSettings.waittime = 3;
  1053.  
  1054.  
  1055. \raw\maps\mp\_properks.gsc
  1056. level.ProPerkCallbacks = [];
  1057. level.ProPerkCallbacks[callback] = [];
  1058. level.ProPerkCallbacks[callback][level.ProPerkCallbacks[callback].size] = func;
  1059.  
  1060.  
  1061. \raw\maps\mp\_radar.gsc
  1062. level.spyplane = [];
  1063. level.counterspyplane = [];
  1064. level.satellite = [];
  1065. level.spyplaneType = [];
  1066. level.satelliteType = [];
  1067. level.radarTimers = [];
  1068. level.radarTimers["allies"] = getTime();
  1069. level.radarTimers["axis"] = getTime();
  1070. level.spyplaneViewTime = 20;
  1071. level.radarViewTime = 30;
  1072. level.radarLongViewTime = 45;
  1073. level.spyplaneType[team] = 0;
  1074. level.satelliteType[team] = 0;
  1075.  
  1076.  
  1077. \raw\maps\mp\_rcbomb.gsc
  1078. level._effect["rcbombexplosion"] = loadfx("maps/mp_maps/fx_mp_exp_rc_bomb");
  1079.  
  1080.  
  1081. \raw\maps\mp\_satchel_charge.gsc
  1082. level._effect["satchel_charge_enemy_light"] = loadfx( "misc/fx_equip_light_red" );
  1083. level._effect["satchel_charge_friendly_light"] = loadfx( "misc/fx_equip_light_green" );
  1084.  
  1085.  
  1086. \raw\maps\mp\_scrambler.gsc
  1087. level._effect["scrambler_enemy_light"] = loadfx( "misc/fx_equip_light_red" );
  1088. level._effect["scrambler_friendly_light"] = loadfx( "misc/fx_equip_light_green" );
  1089. level.scramblerWeapon = "scrambler_mp";
  1090. level.scramblerLength = 30.0;
  1091. level.scramblerOuterRadiusSq = 1000 * 1000;
  1092. level.scramblerInnerRadiusSq = 600 * 600;
  1093.  
  1094.  
  1095. \raw\maps\mp\_serverfaceanim_mp.gsc
  1096. level.face_event_handler = SpawnStruct();
  1097. level.face_event_handler.events = [];
  1098. level.face_event_handler.events["death"] =        "face_death";
  1099. level.face_event_handler.events["grenade danger"] =   "face_alert";
  1100. level.face_event_handler.events["bulletwhizby"] =    "face_alert";
  1101. level.face_event_handler.events["projectile_impact"] =  "face_alert";
  1102. level.face_event_handler.events["explode"] =       "face_alert";
  1103. level.face_event_handler.events["alert"] =        "face_alert";
  1104. level.face_event_handler.events["shoot"] =        "face_shoot_single";
  1105. level.face_event_handler.events["melee"] =        "face_melee";
  1106. level.face_event_handler.events["damage"] =       "face_pain";
  1107.  
  1108.  
  1109. \raw\maps\mp\_shutter.gsc
  1110. level.inc = 0;
  1111.  
  1112.  
  1113. \raw\maps\mp\_smokegrenade.gsc
  1114. level.willyPeteDamageRadius = 300;
  1115. level.willyPeteDamageHeight = 128;
  1116. level.sound_smoke_start = "wpn_smoke_hiss_start";
  1117. level.sound_smoke_loop = "wpn_smoke_hiss_lp";
  1118. level.sound_smoke_stop = "wpn_smoke_hiss_end";
  1119. level.smokeSoundDuration = 8;
  1120. level.fx_smokegrenade_single = "smoke_center_mp";
  1121.  
  1122.  
  1123. \raw\maps\mp\_spyplane.gsc
  1124. level.spyplanemodel = "t5_veh_jet_u2";
  1125. level.u2_maxhealth = 700;
  1126. level.spyplane = [];
  1127. level.spyplaneEntranceTime = 5;
  1128. level.spyplaneExitTime = 20;
  1129. level.counteruavWeapon = "counteruav_mp";
  1130. level.counteruavLength = 25.0;
  1131. level.counteruavplaneEntranceTime = 5;
  1132. level.counteruavplaneExitTime = 20;
  1133. level.fx_sr71_trail = loadfx("misc/fx_equip_sr71_contrail");
  1134. level.fx_sr71_glint = loadfx("misc/fx_equip_sr71_sky_glint");
  1135. level.fx_spyplane_afterburner = loadfx("vehicle/exhaust/fx_exhaust_u2_spyplane_afterburner");
  1136. level.satelliteHeight = 10000;
  1137. level.satelliteFlyDistance = 10000;
  1138. level.fx_u2_damage_trail = loadfx("trail/fx_trail_u2_plane_damage_mp");
  1139. level.fx_u2_explode = loadfx("vehicle/vexplosion/fx_vexplode_u2_exp_mp");
  1140. level.activeUAVs["allies"] = 0;
  1141. level.activeUAVs["axis"] = 0;
  1142. level.activeCounterUAVs["allies"] = 0;
  1143. level.activeCounterUAVs["axis"] = 0;
  1144. level.activeSatellites["allies"] = 0;
  1145. level.activeSatellites["axis"] = 0;
  1146. level.activeUAVs = [];
  1147. level.activeCounterUAVs = [];
  1148. level.activeSatellites = [];
  1149. level.UAVRig = spawn( "script_model", uavOrigin );
  1150. level.UAVRig.angles = (0,115,0);
  1151. level.CounterUAVRig = spawn( "script_model", uavOrigin );
  1152. level.CounterUAVRig.angles = (0,115,0);
  1153. level.activeUAVs[ player.entnum ] = 0;
  1154. level.activeCounterUAVs[ player.entnum ] = 0;
  1155. level.activeSatellites[ player.entnum ] = 0;
  1156. level.activeUAVs[self.team] = 0;
  1157. level.activeUAVs[self.owner.entnum] = 0;
  1158. level.activeCounterUAVs[self.team] = 0;
  1159. level.activeCounterUAVs[self.owner.entnum] = 0;
  1160. level.activeSatellites[self.team] = 0;
  1161. level.activeSatellites[self.owner.entnum] = 0;
  1162. level.plane[self.team] = plane;
  1163.  
  1164.  
  1165. \raw\maps\mp\_supplystation.gsc
  1166. level.supplyStationModelFriendly = "mp_supplydrop_ally";
  1167. level.supplyStationHelicopter = "vehicle_ch46e";
  1168.  
  1169.  
  1170. \raw\maps\mp\_t34.gsc
  1171. level.vehicles_damage_treadfx[vehicle_name] = [];
  1172. level.vehicles_husk_effects[ vehicle_name ] = default_husk_effects;
  1173.  
  1174.  
  1175. \raw\maps\mp\_tabun.gsc
  1176. level.tabunInitialGasShockDuration  = weapons_get_dvar_int( "scr_tabunInitialGasShockDuration", "7");
  1177. level.tabunWalkInGasShockDuration  = weapons_get_dvar_int( "scr_tabunWalkInGasShockDuration", "4");
  1178. level.tabunGasShockRadius = weapons_get_dvar_int( "scr_tabun_shock_radius", "185" );
  1179. level.tabunGasShockHeight = weapons_get_dvar_int( "scr_tabun_shock_height", "20" );
  1180. level.tabunGasPoisonRadius = weapons_get_dvar_int( "scr_tabun_effect_radius", "185" );
  1181. level.tabunGasPoisonHeight = weapons_get_dvar_int( "scr_tabun_shock_height", "20" );
  1182. level.tabunGasDuration = weapons_get_dvar_int( "scr_tabunGasDuration", "8" );
  1183. level.poisonDuration = weapons_get_dvar_int( "scr_poisonDuration", "8" );
  1184. level.poisonDamage = weapons_get_dvar_int( "scr_poisonDamage", "13" );
  1185. level.poisonDamageHardcore = weapons_get_dvar_int( "scr_poisonDamageHardcore", "5" );
  1186. level.fx_tabun_0 = "tabun_tiny_mp";
  1187. level.fx_tabun_1 = "tabun_small_mp";
  1188. level.fx_tabun_2 = "tabun_medium_mp";
  1189. level.fx_tabun_3 = "tabun_large_mp";
  1190. level.fx_tabun_single = "tabun_center_mp";
  1191. level.fx_tabun_radius0 = weapons_get_dvar_int( "scr_fx_tabun_radius0", 55 );
  1192. level.fx_tabun_radius1 = weapons_get_dvar_int( "scr_fx_tabun_radius1", 55 );
  1193. level.fx_tabun_radius2 = weapons_get_dvar_int( "scr_fx_tabun_radius2", 50 );
  1194. level.fx_tabun_radius3 = weapons_get_dvar_int( "scr_fx_tabun_radius3", 25 );
  1195. level.sound_tabun_start = "wpn_gas_hiss_start";
  1196. level.sound_tabun_loop = "wpn_gas_hiss_lp";
  1197. level.sound_tabun_stop = "wpn_gas_hiss_end";
  1198. level.sound_shock_tabun_start = "";
  1199. level.sound_shock_tabun_loop = "";
  1200. level.sound_shock_tabun_stop = "";
  1201. level.tabunGasPoisonRadius = weapons_get_dvar_int( "scr_tabun_effect_radius", level.tabunGasPoisonRadius );
  1202. level.tabunGasPoisonHeight = weapons_get_dvar_int( "scr_tabun_shock_height", level.tabunGasPoisonHeight );
  1203. level.tabunGasShockRadius  = weapons_get_dvar_int( "scr_tabun_shock_radius", level.tabunGasShockRadius );
  1204. level.tabunGasShockHeight = weapons_get_dvar_int( "scr_tabun_shock_height", level.tabunGasShockHeight );
  1205. level.tabunInitialGasShockDuration  = weapons_get_dvar_int( "scr_tabunInitialGasShockDuration", level.tabunInitialGasShockDuration);
  1206. level.tabunWalkInGasShockDuration  = weapons_get_dvar_int( "scr_tabunWalkInGasShockDuration", level.tabunWalkInGasShockDuration);
  1207. level.tabunGasDuration  = weapons_get_dvar_int( "scr_tabunGasDuration", level.tabunGasDuration);
  1208. level.poisonDuration = weapons_get_dvar_int( "scr_poisonDuration", level.poisonDuration );
  1209. level.poisonDamage = weapons_get_dvar_int( "scr_poisonDamage", level.poisonDamage );
  1210. level.poisonDamageHardcore = weapons_get_dvar_int( "scr_poisonDamageHardcore", level.poisonDamageHardcore );
  1211. level.fx_tabun_radius0 = weapons_get_dvar_int( "scr_fx_tabun_radius0", level.fx_tabun_radius0 );
  1212. level.fx_tabun_radius1 = weapons_get_dvar_int( "scr_fx_tabun_radius1", level.fx_tabun_radius1 );
  1213. level.fx_tabun_radius2 = weapons_get_dvar_int( "scr_fx_tabun_radius2", level.fx_tabun_radius2 );
  1214. level.fx_tabun_radius3 = weapons_get_dvar_int( "scr_fx_tabun_radius3", level.fx_tabun_radius3 );
  1215.  
  1216.  
  1217. \raw\maps\mp\_tacticalinsertion.gsc
  1218. level.tacticalInsertionWeapon = "tactical_insertion_mp";
  1219. level._effect["tacticalInsertionFizzle"] = LoadFX( "misc/fx_flare_tac_dest_mp" );
  1220.  
  1221.  
  1222. \raw\maps\mp\_teargrenades.gsc
  1223. level.tearradius = 170;
  1224. level.tearheight = 128;
  1225. level.teargasfillduration = 7;
  1226. level.teargasduration = 23;
  1227. level.tearsufferingduration = 3;
  1228. level.teargrenadetimer = 4;
  1229.  
  1230.  
  1231. \raw\maps\mp\_turret_killstreak.gsc
  1232. level.auto_turret_timeout = 90.0;
  1233. level.auto_turret_settings = [];
  1234. level.auto_turret_settings["sentry"] = spawnStruct();
  1235. level.auto_turret_settings["sentry"].hintString = &"KILLSTREAK_SENTRY_TURRET_PICKUP";
  1236. level.auto_turret_settings["sentry"].hackerHintString = &"KILLSTREAK_TURRET_HACKING";
  1237. level.auto_turret_settings["sentry"].hintIcon = "hud_ks_auto_turret";
  1238. level.auto_turret_settings["sentry"].modelBase = "t5_weapon_minigun_turret";
  1239. level.auto_turret_settings["sentry"].modelGoodPlacement = "t5_weapon_minigun_turret_yellow";
  1240. level.auto_turret_settings["sentry"].modelBadPlacement = "t5_weapon_minigun_turret_red";
  1241. level.auto_turret_settings["sentry"].stunFX = loadfx("weapon/grenade/fx_spark_disabled_weapon_lg");
  1242. level.auto_turret_settings["sentry"].stunFXFrequencyMin = 0.1;
  1243. level.auto_turret_settings["sentry"].stunFXFrequencyMax = 0.75;
  1244. level.auto_turret_settings["sentry"].turretInitDelay = 1.0;
  1245. level.auto_turret_settings["tow"] = spawnStruct();
  1246. level.auto_turret_settings["tow"].hintString = &"KILLSTREAK_TOW_TURRET_PICKUP";
  1247. level.auto_turret_settings["tow"].hackerHintString = &"KILLSTREAK_TURRET_HACKING";
  1248. level.auto_turret_settings["tow"].hintIcon = "hud_ks_sam_turret";
  1249. level.auto_turret_settings["tow"].modelBase = "t5_weapon_sam_turret";
  1250. level.auto_turret_settings["tow"].modelGoodPlacement = "t5_weapon_sam_turret_yellow";
  1251. level.auto_turret_settings["tow"].modelBadPlacement = "t5_weapon_sam_turret_red";
  1252. level.auto_turret_settings["tow"].stunFX = loadfx("weapon/grenade/fx_spark_disabled_weapon_lg");
  1253. level.auto_turret_settings["tow"].stunFXFrequencyMin = 0.1;
  1254. level.auto_turret_settings["tow"].stunFXFrequencyMax = 0.75;
  1255. level.auto_turret_settings["tow"].turretInitDelay = 1.0;
  1256. level.auto_turret_settings["tow"].turretFireDelay = 5.0;
  1257. level._turret_explode_fx = loadfx( "explosions/fx_exp_equipment_lg" );
  1258. level.fatal_triggers = array_combine( minefields, hurt_triggers );
  1259. level.noTurretPlacementTriggers = getEntArray( "no_turret_placement", "targetname" );
  1260. level.killStreakIcons["autoturret_mp"] = "hud_ks_auto_turret";
  1261. level.killStreakIcons["auto_tow_mp"] = "hud_ks_sam_turret";
  1262. level.turrets_headicon_offset = [];
  1263. level.turrets_headicon_offset["default"] = (0, 0, 70);
  1264. level.turrets_headicon_offset["sentry"] = (0, 0, 70);
  1265. level.turrets_headicon_offset["tow"] = (0, 0, 65);
  1266. level.turrets_hacker_trigger_width = 72;
  1267. level.turrets_hacker_trigger_height = 96;
  1268.  
  1269.  
  1270. \raw\maps\mp\_tutorial.gsc
  1271. level.tips = [];
  1272. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_ADS";
  1273. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_SPRINT";
  1274. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_KILLSTREAK";      
  1275. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_SWITCH_WEAPON";    
  1276. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_NEW_WEAPON";  
  1277. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_MINIMAP";
  1278. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_STANCE";  
  1279. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_SKULLS";
  1280. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_GRENADES";
  1281. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_SMG";
  1282. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_RIFLE";
  1283. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_SHOTGUN";
  1284. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_MACHINE_GUN";
  1285. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_SNIPER";
  1286. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_EQUIPMENT";        
  1287. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_PERKS";
  1288. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_JUMP";
  1289. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_THEATER";
  1290. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_SPYPLANE";
  1291. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_CAREPACKAGE";      
  1292. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_ATTACHMENT";
  1293. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_KILLSTREAK_UNLOCK";
  1294. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_LAUNCHERS";
  1295. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_SPYPLANE2";        
  1296. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_TV_MISSILE";      
  1297. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_MELEE";
  1298. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_CONTROLS";  
  1299. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_LIGHTWEIGHT";
  1300. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_STEADYAIM";
  1301. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_PERKS2";
  1302. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_MARATHON";
  1303. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_GRENADE_COOK";
  1304. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_GRENADE_SMOKE";
  1305. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_PRONE";
  1306. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_OPTIONS";
  1307. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_INSIDE";
  1308. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_ASSIST";
  1309. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_XP_TIP";
  1310. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_FOOTSTEPS";
  1311. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_SECOND_CHANCE";
  1312. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_SECONDARY_WEAPON";
  1313. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_TACTICAL";
  1314. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_SMG_CLASS";
  1315. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_CQB_CLASS";
  1316. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_ASSAULT_CLASS";
  1317. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_LMG_CLASS";
  1318. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_SNIPER_CLASS";
  1319. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_HARDLINE";
  1320. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_TACTICAL_MASK";
  1321. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_SCAVENGER";
  1322. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_FLAK_JACKET";
  1323. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_DEEP_IMPACT";
  1324. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_HACKER";
  1325. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_SCOUT";
  1326. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_NINJA";
  1327. level.tips[ level.tips.size ] = &"MPTIP_TRAINING_SLEIGHT_OF_HAND";
  1328. level.tips[  2 ] = &"MPTIP_TRAINING_KILLSTREAK_PC";
  1329. level.tips[  3 ] = &"MPTIP_TRAINING_SWITCH_WEAPON_PC";
  1330. level.tips[  4 ] = &"MPTIP_TRAINING_NEW_WEAPON_PC";
  1331. level.tips[  6 ] = &"MPTIP_TRAINING_STANCE_PC";
  1332. level.tips[ 14 ] = &"MPTIP_TRAINING_EQUIPMENT_PC";
  1333. level.tips[ 19 ] = &"MPTIP_TRAINING_CAREPACKAGE_PC";
  1334. level.tips[ 23 ] = &"MPTIP_TRAINING_SPYPLANE2_PC";
  1335. level.tips[ 24 ] = &"MPTIP_TRAINING_TV_MISSILE_PC";
  1336. level.tips[ 26 ] = &"MPTIP_TRAINING_CONTROLS_PC";
  1337. level.tips[ 40 ] = &"MPTIP_TRAINING_SECONDARY_WEAPON_PC";
  1338.  
  1339.  
  1340. \raw\maps\mp\_tvguidedmissile.gsc
  1341. level.GuidedMissileMaxHight = getDvarIntDefault( "scr_guidedMissileMaxHeight", 4000 );
  1342.  
  1343.  
  1344. \raw\maps\mp\_utility.gsc
  1345. level._clientSys = [];
  1346. level._clientSys[sSysName] = spawnstruct();
  1347. level._clientSys[sSysName].sysID = ClientSysRegister(sSysName);
  1348. level._clientSys[sSysName].sysState = sSysState;
  1349.  
  1350.  
  1351. \raw\maps\mp\_vehicles.gsc
  1352. level.vehicle_drivers_are_invulnerable = GetDvarInt( #"scr_veh_driversareinvulnerable" );
  1353. level.onEjectOccupants = ::vehicle_eject_all_occupants;
  1354. level.vehicleHealths[ "panzer4_mp" ] = 2600;
  1355. level.vehicleHealths[ "t34_mp" ] = 2600;
  1356. level.veh_husk_models = [];
  1357. level.veh_husk_models[ "t34_mp" ] = "veh_t34_destroyed_mp";
  1358. level._effect["tanksquish"] = loadfx("maps/see2/fx_body_blood_splat");
  1359. level.k_mild_damage_health_percentage = k_mild_damage_health_percentage;
  1360. level.k_moderate_damage_health_percentage = k_moderate_damage_health_percentage;
  1361. level.k_severe_damage_health_percentage = k_severe_damage_health_percentage;
  1362. level.k_total_damage_health_percentage = k_total_damage_health_percentage;
  1363. level.vehicles_husk_effects = [];
  1364. level.vehicles_damage_treadfx = [];
  1365. level.vehicles_damage_treadfx[vehicle_name] = [];
  1366. level.vehicles_husk_effects[ vehicle_name ] = default_husk_effects;
  1367. level.vehicles_list = [];
  1368. level.vehicles_list[ level.vehicles_list.size ] = self;
  1369. level.vehicles_list = newArray;
  1370. level.vehicles_list = newArray;
  1371. level.vehicle_death_fx = [];
  1372. level.vehicle_death_fx[ type ] = [];
  1373. level.vehicle_compassicon[ type ] = false;
  1374. level.vehicle_team[ type ] = "axis";
  1375. level.vehicle_life[ type ] = 999;
  1376. level.vehicle_hasMainTurret[ model ] = false;
  1377. level.vehicle_mainTurrets[ model ] = [];
  1378. level.vtmodel = model;
  1379. level.vttype = type;
  1380. level.vehicle_rumble = [];
  1381. level.vehicle_rumble[ level.vttype ] = struct;
  1382. level.vehicle_exhaust[ level.vtmodel ] = loadfx( effect );
  1383. level.vehicle_drivers_are_invulnerable = false;
  1384.  
  1385.  
  1386. \raw\maps\mp\animscripts\dog_combat.gsc
  1387. level.lastDogMeleePlayerTime = getTime();
  1388. level.dogMeleeBiteAttackTime = GetTime() - level.dogMeleeBiteAttackTimeStart;
  1389. level.dogMeleeBiteAttackTimeStart = GetTime();
  1390. level.dogMeleeFinishAttackTime = GetTime() - level.dogMeleeFinishAttackTimeStart;
  1391. level.dogMeleeFinishAttackTimeStart = GetTime();
  1392. level.dog_death_quote = &"SCRIPT_PLATFORM_DOG_DEATH_DO_NOTHING";
  1393. level.dogMeleePlayerCounter = 0;
  1394. level.dog_death_quote = &"SCRIPT_PLATFORM_DOG_DEATH_TOO_LATE";
  1395. level.dog_death_quote = &"SCRIPT_PLATFORM_DOG_DEATH_TOO_SOON";
  1396.  
  1397.  
  1398. \raw\maps\mp\animscripts\dog_init.gsc
  1399. level.dog_debug_orient = 0;
  1400. level.dog_debug_anims = 0;
  1401. level.dog_debug_anims_ent = 0;
  1402. level.dog_debug_turns = 0;
  1403. level.dogAttackPlayerDist = 102;
  1404. level.dogAttackPlayerCloseRangeDist = 102;
  1405. level.dogRunTurnSpeed = 20;
  1406. level.dogRunPainSpeed = 20;
  1407. level.dogStoppingDistSq = 3416.82;
  1408. level.lastDogMeleePlayerTime = 0;
  1409. level.dogMeleePlayerCounter = 0;
  1410. level.dog_hits_before_kill = 1;
  1411. level.lastPlayerSighted = 100;
  1412.  
  1413.  
  1414. \raw\maps\mp\animscripts\dog_move.gsc
  1415. level.dog_sounds["far"] = spawnstruct();
  1416. level.dog_sounds["close"] = spawnstruct();
  1417. level.dog_sounds["close"].minRange = 0;
  1418. level.dog_sounds["close"].maxRange = 500;
  1419. level.dog_sounds["close"].sound = "aml_dog_bark_close";
  1420. level.dog_sounds["close"].soundLengthPlaceholder = 0.2;
  1421. level.dog_sounds["close"].afterSoundWaitMin = 0.1;
  1422. level.dog_sounds["close"].afterSoundWaitMax = 0.3;
  1423. level.dog_sounds["close"].minRangeSqr = level.dog_sounds["close"].minRange * level.dog_sounds["close"].minRange;
  1424. level.dog_sounds["close"].maxRangeSqr = level.dog_sounds["close"].maxRange * level.dog_sounds["close"].maxRange;
  1425. level.dog_sounds["far"].minRange = 500;
  1426. level.dog_sounds["far"].maxRange = 0;  
  1427. level.dog_sounds["far"].sound = "aml_dog_bark";
  1428. level.dog_sounds["far"].soundLengthPlaceholder = 0.2;
  1429. level.dog_sounds["far"].afterSoundWaitMin = 0.1;
  1430. level.dog_sounds["far"].afterSoundWaitMax = 0.3;
  1431. level.dog_sounds["far"].minRangeSqr = level.dog_sounds["far"].minRange * level.dog_sounds["far"].minRange;
  1432. level.dog_sounds["far"].maxRangeSqr = level.dog_sounds["far"].maxRange * level.dog_sounds["far"].maxRange;
  1433.  
  1434.  
  1435. \raw\maps\mp\animscripts\utility.gsc
  1436. level._effect["step_" + name] = fx;
  1437.  
  1438.  
  1439. \raw\maps\mp\createart\mp_array_art.gsc
  1440. level.tweakfile = true;
  1441.  
  1442.  
  1443. \raw\maps\mp\createart\mp_cairo_art.gsc
  1444. level.tweakfile = true;
  1445.  
  1446.  
  1447. \raw\maps\mp\createart\mp_cosmodrome_art.gsc
  1448. level.tweakfile = true;
  1449.  
  1450.  
  1451. \raw\maps\mp\createart\mp_cracked_art.gsc
  1452. level.tweakfile = true;
  1453.  
  1454.  
  1455. \raw\maps\mp\createart\mp_crisis_art.gsc
  1456. level.tweakfile = true;
  1457.  
  1458.  
  1459. \raw\maps\mp\createart\mp_duga_art.gsc
  1460. level.tweakfile = true;
  1461.  
  1462.  
  1463. \raw\maps\mp\createart\mp_firingrange_art.gsc
  1464. level.tweakfile = true;
  1465.  
  1466.  
  1467. \raw\maps\mp\createart\mp_hanoi_art.gsc
  1468. level.tweakfile = true;
  1469.  
  1470.  
  1471. \raw\maps\mp\createart\mp_havoc_art.gsc
  1472. level.tweakfile = true;
  1473.  
  1474.  
  1475. \raw\maps\mp\createart\mp_mountain_art.gsc
  1476. level.tweakfile = true;
  1477.  
  1478.  
  1479. \raw\maps\mp\createart\mp_nuked_art.gsc
  1480. level.tweakfile = true;
  1481.  
  1482.  
  1483. \raw\maps\mp\createart\mp_radiation_art.gsc
  1484. level.tweakfile = true;
  1485.  
  1486.  
  1487. \raw\maps\mp\createart\mp_russianbase_art.gsc
  1488. level.tweakfile = true;
  1489.  
  1490.  
  1491. \raw\maps\mp\createart\mp_villa_art.gsc
  1492. level.tweakfile = true;
  1493.  
  1494.  
  1495. \raw\maps\mp\gametypes\ctf.gsc
  1496. level.scorelimitMin = 1;
  1497. level.scorelimitMax = 1;
  1498. level.teamBased = true;
  1499. level.overrideTeamScore = true;
  1500. level.onStartGameType = ::onStartGameType;
  1501. level.onSpawnPlayer = ::onSpawnPlayer;
  1502. level.onSpawnPlayerUnified = ::onSpawnPlayerUnified;
  1503. level.onPrecacheGameType = ::onPrecacheGameType;
  1504. level.onPlayerKilled = ::onPlayerKilled;
  1505. level.onRoundSwitch = ::onRoundSwitch;
  1506. level.onRoundEndGame = ::onRoundEndGame;
  1507. level.gamemodeSpawnDvars = ::ctf_gamemodeSpawnDvars;
  1508. level.getTeamKillPenalty = ::ctf_getTeamKillPenalty;
  1509. level.getTeamKillScore = ::ctf_getTeamKillScore;
  1510. level.scoreRoundBased = true;
  1511. level.lastDialogTime = getTime();
  1512. level.spawnMins = ( 0, 0, 0 );
  1513. level.spawnMaxs = ( 0, 0, 0 );
  1514. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
  1515. level.spawn_axis = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_ctf_spawn_axis" );
  1516. level.spawn_allies = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_ctf_spawn_allies" );
  1517. level.spawn_axis_start = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_ctf_spawn_axis_start" );
  1518. level.spawn_allies_start = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_ctf_spawn_allies_start" );
  1519. level.halftimeSubCaption = "";
  1520. level.halftimeType = "overtime";
  1521. level.forcedEnd = true;
  1522. level.halftimeType = "halftime";
  1523. level.idleFlagReturnTime = dvarFloatValue( "idleflagreturntime", 30, 0, 120 );
  1524. level.flagRespawnTime = dvarIntValue( "flagrespawntime", 0, 0, 120 );
  1525. level.touchReturn = dvarIntValue( "touchreturn", 0, 0, 1 );
  1526. level.enemyCarrierVisible = dvarIntValue( "enemycarriervisible", 0, 0, 2 );
  1527. level.teamKillPenaltyMultiplier = dvarFloatValue( "teamkillpenalty", 2, 0, 10 );
  1528. level.teamKillScoreMultiplier = dvarFloatValue( "teamkillscore", 20, 0, 40 );
  1529. level.touchReturn = 1;
  1530. level.flags = [];
  1531. level.teamFlags = [];
  1532. level.flagZones = [];
  1533. level.teamFlagZones = [];
  1534. level.iconCapture3D = "waypoint_grab_red";
  1535. level.iconCapture2D = "waypoint_grab_red";
  1536. level.iconDefend3D = "waypoint_defend_flag";
  1537. level.iconDefend2D = "waypoint_defend_flag";
  1538. level.iconDropped3D = "waypoint_defend_flag";
  1539. level.iconDropped2D = "waypoint_defend_flag";
  1540. level.iconReturn3D = "waypoint_return_flag";
  1541. level.iconReturn2D = "waypoint_return_flag";
  1542. level.iconBase3D = "waypoint_defend_flag";
  1543. level.iconEscort3D = "waypoint_escort";
  1544. level.iconEscort2D = "waypoint_escort";
  1545. level.iconKill3D = "waypoint_kill";
  1546. level.iconKill2D = "waypoint_kill";
  1547. level.iconWaitForFlag3D = "waypoint_waitfor_flag";
  1548. level.flagBaseFXid = [];
  1549. level.flagBaseFXid[ "allies" ] = loadfx( "misc/fx_ui_flagbase_gold_t5" );
  1550. level.flagBaseFXid[ "axis"   ] = loadfx( "misc/fx_ui_flagbase_gold_t5" );
  1551. level.flags[level.flags.size] = flag;
  1552. level.teamFlags[team] = flag;
  1553. level.flagZones[level.flagZones.size] = flagZone;  
  1554. level.teamFlagZones[team] = flagZone;  
  1555. level.flagHints[team] = createFlagHint( team, trigger.origin );  
  1556. level.lastDialogTime = getTime();
  1557. level.lastDialogTime = getTime();
  1558. level.lastDialogTime = getTime();
  1559. level.lastDialogTime = getTime();
  1560. level.ReturnMessageElems = [];
  1561. level.ReturnMessageElems["allies"]["axis"] = createServerTimer( "objective", 1.4, "allies" );
  1562. level.ReturnMessageElems["allies"]["axis"].label = &"MP_ENEMY_FLAG_RETURNING_IN";
  1563. level.ReturnMessageElems["allies"]["axis"].alpha = 0;
  1564. level.ReturnMessageElems["allies"]["axis"].archived = false;
  1565. level.ReturnMessageElems["allies"]["allies"] = createServerTimer( "objective", 1.4, "allies" );
  1566. level.ReturnMessageElems["allies"]["allies"].label = &"MP_YOUR_FLAG_RETURNING_IN";
  1567. level.ReturnMessageElems["allies"]["allies"].alpha = 0;
  1568. level.ReturnMessageElems["allies"]["allies"].archived = false;
  1569. level.ReturnMessageElems["axis"]["allies"] = createServerTimer( "objective", 1.4, "axis" );
  1570. level.ReturnMessageElems["axis"]["allies"].label = &"MP_ENEMY_FLAG_RETURNING_IN";
  1571. level.ReturnMessageElems["axis"]["allies"].alpha = 0;
  1572. level.ReturnMessageElems["axis"]["allies"].archived = false;
  1573. level.ReturnMessageElems["axis"]["axis"] = createServerTimer( "objective", 1.4, "axis" );
  1574. level.ReturnMessageElems["axis"]["axis"].label = &"MP_YOUR_FLAG_RETURNING_IN";
  1575. level.ReturnMessageElems["axis"]["axis"].alpha = 0;
  1576. level.ReturnMessageElems["axis"]["axis"].archived = false;
  1577. level.ReturnMessageElems["axis"][ownerteam].alpha = 1;
  1578. level.ReturnMessageElems["allies"][ownerteam].alpha = 1;
  1579. level.ReturnMessageElems["allies"][ownerteam].alpha = 0;
  1580. level.ReturnMessageElems["axis"][ownerteam].alpha = 0;
  1581.  
  1582.  
  1583. \raw\maps\mp\gametypes\dem.gsc
  1584. level.teamBased = true;
  1585. level.overrideTeamScore = true;
  1586. level.onPrecacheGameType = ::onPrecacheGameType;
  1587. level.onStartGameType = ::onStartGameType;
  1588. level.onSpawnPlayer = ::onSpawnPlayer;
  1589. level.onSpawnPlayerUnified = ::onSpawnPlayerUnified;
  1590. level.playerSpawnedCB = ::dem_playerSpawnedCB;
  1591. level.onPlayerKilled = ::onPlayerKilled;
  1592. level.onDeadEvent = ::onDeadEvent;
  1593. level.onOneLeftEvent = ::onOneLeftEvent;
  1594. level.onTimeLimit = ::onTimeLimit;
  1595. level.onRoundSwitch = ::onRoundSwitch;
  1596. level.getTeamKillPenalty = ::dem_getTeamKillPenalty;
  1597. level.getTeamKillScore = ::dem_getTeamKillScore;
  1598. level.gamemodeSpawnDvars = ::gamemodeSpawnDvars;
  1599. level.getTimeLimitDvarValue = ::getTimeLimitDvarValue;
  1600. level.ddBombModel = [];
  1601. level.endGameOnScoreLimit = false;
  1602. level.halftimeSubCaption = "";
  1603. level.halftimeType = "overtime";
  1604. level.halftimeType = "halftime";
  1605. level.usingExtraTime = false;
  1606. level.spawnsystem.unifiedSideSwitching = 0;
  1607. level._effect["bombexplosion"] = loadfx("maps/mp_maps/fx_mp_exp_bomb");
  1608. level.spawnMins = ( 0, 0, 0 );
  1609. level.spawnMaxs = ( 0, 0, 0 );
  1610. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
  1611. level.demBombzoneName = "bombzone_dem";
  1612. level.demBombzoneName = "bombzone";
  1613. level.spawn_axis_start = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_dem_spawn_defender_start" );
  1614. level.spawn_allies_start = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_dem_spawn_attacker_start" );
  1615. level.spectateOverride[game["attackers"]].allowEnemySpectate = 1;
  1616. level.spectateOverride[game["defenders"]].allowEnemySpectate = 1;
  1617. level.warnedLastPlayer = [];
  1618. level.warnedLastPlayer[team] = true;
  1619. level.plantTime = dvarFloatValue( "planttime", 5, 0, 20 );
  1620. level.defuseTime = dvarFloatValue( "defusetime", 5, 0, 20 );
  1621. level.bombTimer = dvarFloatValue( "bombtimer", 45, 1, 300 );
  1622. level.extraTime = dvarFloatValue( "extratime", 2.5, 0, 300 );
  1623. level.teamKillPenaltyMultiplier = dvarFloatValue( "teamkillpenalty", 2, 0, 10 );
  1624. level.teamKillScoreMultiplier = dvarFloatValue( "teamkillscore", 4, 0, 40 );
  1625. level.playerEventsMax = dvarFloatValue( "maxPlayerEvents", 1000, 0, 1000 );
  1626. level.playerEventsLPM = dvarFloatValue( "maxPlayerEventsPerMinute", 2, 0, 15 );
  1627. level.bombEventsLPM = dvarFloatValue( "maxBombEventsPerMinute", 4, 0, 15 );
  1628. level.bombAPlanted = false;
  1629. level.bombBPlanted = false;
  1630. level.bombPlanted = false;
  1631. level.bombDefused = false;
  1632. level.bombExploded = false;
  1633. level.bombZones = [];
  1634. level.bombZones[level.bombZones.size] = bombZone;
  1635. level.bombZones[index].otherBombZones = array;
  1636. level.bombAPlanted = false;
  1637. level.bombBPlanted = false;
  1638. level.ddBombModel[ site ] = spawn( "script_model", trace["position"] );
  1639. level.ddBombModel[ site ].angles = dropAngles;
  1640. level.usingExtraTime = true;
  1641. level.bombAPlanted = true;
  1642. level.bombBPlanted = true;
  1643. level.grenadeLauncherDudTimeDvar = dvarString;
  1644. level.grenadeLauncherDudTimeMin = minValue;
  1645. level.grenadeLauncherDudTimeMax = maxValue;
  1646. level.grenadeLauncherDudTime = getDvarInt( level.grenadeLauncherDudTimeDvar );
  1647. level.thrownGrenadeDudTimeDvar = dvarString;
  1648. level.thrownGrenadeDudTimeMin = minValue;
  1649. level.thrownGrenadeDudTimeMax = maxValue;
  1650. level.thrownGrenadeDudTime = getDvarInt( level.thrownGrenadeDudTimeDvar );
  1651.  
  1652.  
  1653. \raw\maps\mp\gametypes\dm.gsc
  1654. level.scoreRoundBased = true;
  1655. level.resetPlayerScoreEveryRound = true;
  1656. level.onStartGameType = ::onStartGameType;
  1657. level.onSpawnPlayer = ::onSpawnPlayer;
  1658. level.onSpawnPlayerUnified = ::onSpawnPlayerUnified;
  1659. level.disable_tacinsert = true;
  1660. level.spawnMins = ( 0, 0, 0 );
  1661. level.spawnMaxs = ( 0, 0, 0 );
  1662. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
  1663. level.useStartSpawns = false;
  1664. level.displayRoundEndText = false;
  1665. level.displayRoundEndText = true;
  1666.  
  1667.  
  1668. \raw\maps\mp\gametypes\dom.gsc
  1669. level.scoreRoundBased = true;
  1670. level.teamBased = true;
  1671. level.overrideTeamScore = true;
  1672. level.onStartGameType = ::onStartGameType;
  1673. level.onSpawnPlayer = ::onSpawnPlayer;
  1674. level.onSpawnPlayerUnified = ::onSpawnPlayerUnified;
  1675. level.onPlayerKilled = ::onPlayerKilled;
  1676. level.onPrecacheGameType = ::onPrecacheGameType;
  1677. level.gamemodeSpawnDvars = ::dom_gamemodeSpawnDvars;
  1678. level.onRoundEndGame = ::onRoundEndGame;
  1679. level.lastDialogTime = 0;
  1680. level.flagBaseFXid = [];
  1681. level.flagBaseFXid[ "allies" ] = loadfx( "misc/fx_ui_flagbase_gold_t5" );
  1682. level.flagBaseFXid[ "axis"   ] = loadfx( "misc/fx_ui_flagbase_gold_t5" );
  1683. level.spawnMins = ( 0, 0, 0 );
  1684. level.spawnMaxs = ( 0, 0, 0 );
  1685. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
  1686. level.spawn_all = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_dom_spawn" );
  1687. level.spawn_axis_start = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_dom_spawn_axis_start" );
  1688. level.spawn_allies_start = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_dom_spawn_allies_start" );
  1689. level.startPos["allies"] = level.spawn_allies_start[0].origin;
  1690. level.startPos["axis"] = level.spawn_axis_start[0].origin;
  1691. level.bestSpawnFlag[ self.pers["team"] ] = bestFlag;
  1692. level.flagCaptureTime = dvarFloatValue( "flagcapturetime", 10, 0, 30 );
  1693. level.flagCaptureLPM = dvarFloatValue( "maxFlagCapturePerMinute", 3, 0, 10 );
  1694. level.playerCaptureLPM = dvarFloatValue( "maxPlayerCapturePerMinute", 2, 0, 10 );
  1695. level.playerCaptureMax = dvarFloatValue( "maxPlayerCapture", 1000, 0, 1000 );
  1696. level.playerOffensiveMax = dvarFloatValue( "maxPlayerOffensive", 16, 0, 1000 );
  1697. level.playerDefensiveMax = dvarFloatValue( "maxPlayerDefensive", 16, 0, 1000 );
  1698. level.lastStatus["allies"] = 0;
  1699. level.lastStatus["axis"] = 0;
  1700. level.flags = [];
  1701. level.flags[level.flags.size] = primaryFlags[index];
  1702. level.flags[level.flags.size] = secondaryFlags[index];
  1703. level.domFlags = [];
  1704. level.flags[index].useObj = domFlag;
  1705. level.flags[index].adjflags = [];
  1706. level.flags[index].nearbyspawns = [];
  1707. level.domFlags[level.domFlags.size] = domFlag;
  1708. level.bestSpawnFlag = [];
  1709. level.bestSpawnFlag[ "allies" ] = getUnownedFlagNearestStart( "allies", undefined );
  1710. level.bestSpawnFlag[ "axis" ] = getUnownedFlagNearestStart( "axis", level.bestSpawnFlag[ "allies" ] );
  1711. level.lastDialogTime = getTime();
  1712. level.lastDialogTime = getTime();
  1713. level.lastDialogTime = getTime();
  1714. level.lastStatus[team] = getTime();
  1715. level.useStartSpawns = false;
  1716. level.bestSpawnFlag[ oldTeam ] = self.levelFlag;
  1717. level.endGameOnScoreLimit = false;
  1718. level.endGameOnScoreLimit = true;
  1719. level.endGameOnScoreLimit = false;
  1720. level.playingActionMusic = false;
  1721.  
  1722.  
  1723. \raw\maps\mp\gametypes\gun.gsc
  1724. level.onStartGameType = ::onStartGameType;
  1725. level.onSpawnPlayer = ::onSpawnPlayer;
  1726. level.onSpawnPlayerUnified = ::onSpawnPlayerUnified;
  1727. level.onPlayerKilled = ::onPlayerKilled;
  1728. level.onWagerAwards = ::onWagerAwards;
  1729. level.giveCustomLoadout = ::giveCustomLoadout;
  1730. level.gunProgression = [];
  1731. level.gunProgression[level.gunProgression.size] = newWeapon;
  1732. level.killstreaksenabled = 0;
  1733. level.hardpointsenabled = 0;
  1734. level.spawnMins = ( 0, 0, 0 );
  1735. level.spawnMaxs = ( 0, 0, 0 );
  1736. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
  1737. level.useStartSpawns = false;
  1738. level.displayRoundEndText = false;
  1739. level.QuickMessageToAll = true;
  1740.  
  1741.  
  1742. \raw\maps\mp\gametypes\hlnd.gsc
  1743. level.onStartGameType = ::onStartGameType;
  1744. level.onSpawnPlayer = ::onSpawnPlayer;
  1745. level.onSpawnPlayerUnified = ::onSpawnPlayerUnified;
  1746. level.onPlayerDamage = ::onPlayerDamage;
  1747. level.onPlayerKilled = ::onPlayerKilled;
  1748. level.onWagerAwards = ::onWagerAwards;
  1749. level.giveCustomLoadout = ::giveCustomLoadout;
  1750. level.spawnMins = ( 0, 0, 0 );
  1751. level.spawnMaxs = ( 0, 0, 0 );
  1752. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
  1753. level.useStartSpawns = false;
  1754. level.displayRoundEndText = false;
  1755.  
  1756.  
  1757. \raw\maps\mp\gametypes\koth.gsc
  1758. level.teamBased = true;
  1759. level.doPrematch = true;
  1760. level.overrideTeamScore = true;
  1761. level.onStartGameType = ::onStartGameType;
  1762. level.onSpawnPlayer = ::onSpawnPlayer;
  1763. level.onSpawnPlayerUnified = ::onSpawnPlayerUnified;
  1764. level.playerSpawnedCB = ::koth_playerSpawnedCB;
  1765. level.onPlayerKilled = ::onPlayerKilled;
  1766. level.gamemodeSpawnDvars = ::koth_gamemodeSpawnDvars;
  1767. level.hqAutoDestroyTime = GetDvarInt( #"koth_autodestroytime");
  1768. level.hqSpawnTime = GetDvarInt( #"koth_spawntime");
  1769. level.kothMode = GetDvarInt( #"koth_kothmode");
  1770. level.captureTime = GetDvarInt( #"koth_captureTime");
  1771. level.destroyTime = GetDvarInt( #"koth_destroyTime");
  1772. level.delayPlayer = GetDvarInt( #"koth_delayPlayer");
  1773. level.spawnDelay = GetDvarInt( #"koth_spawnDelay");
  1774. level.iconoffset = (0,0,32);
  1775. level.onRespawnDelay = ::getRespawnDelay;
  1776. level.lastDialogTime = 0;
  1777. level.objectiveHintPrepareHQ = &"MP_CONTROL_HQ";
  1778. level.objectiveHintCaptureHQ = &"MP_CAPTURE_HQ";
  1779. level.objectiveHintDestroyHQ = &"MP_DESTROY_HQ";
  1780. level.objectiveHintDefendHQ = &"MP_DEFEND_HQ";
  1781. level.objectiveHintDestroyHQ = level.objectiveHintCaptureHQ;
  1782. level.spawnMins = ( 0, 0, 0 );
  1783. level.spawnMaxs = ( 0, 0, 0 );
  1784. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
  1785. level.spawn_all = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_tdm_spawn" );
  1786. level.useStartSpawns = false;
  1787. level.hqRevealTime = -100000;
  1788. level.hqRevealTime = gettime();
  1789. level.radio.gameobject.onUse = ::onRadioCapture;
  1790. level.radio.gameobject.onBeginUse = ::onBeginUse;
  1791. level.radio.gameobject.onEndUse = ::onEndUse;
  1792. level.hqDestroyedByTimer = false;
  1793. level.radio.gameobject.onUse = ::onRadioDestroy;
  1794. level.hqDestroyTime = gettime() + time * 1000;
  1795. level.hqDestroyedByTimer = false;
  1796. level.hqDestroyedByTimer = true;
  1797. level.radios = radios;
  1798. level.prevradio = undefined;
  1799. level.prevradio2 = undefined;
  1800. level.prevradio2 = level.prevradio;
  1801. level.prevradio = radio;
  1802. level.prevradio2 = level.prevradio;
  1803. level.prevradio = radio;
  1804. level.prevradio2 = level.prevradio;
  1805. level.prevradio = bestradio;
  1806.  
  1807.  
  1808. \raw\maps\mp\gametypes\oic.gsc
  1809. level.onStartGameType = ::onStartGameType;
  1810. level.onSpawnPlayer = ::onSpawnPlayer;
  1811. level.onSpawnPlayerUnified = ::onSpawnPlayerUnified;
  1812. level.giveCustomLoadout = ::giveCustomLoadout;
  1813. level.onPlayerKilled = ::onPlayerKilled;
  1814. level.onPlayerDamage = ::onPlayerDamage;
  1815. level.onWagerAwards = ::onWagerAwards;
  1816. level.spawnMins = ( 0, 0, 0 );
  1817. level.spawnMaxs = ( 0, 0, 0 );
  1818. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
  1819. level.useStartSpawns = false;
  1820. level.displayRoundEndText = false;
  1821. level.overridePlayerScore = true;
  1822. level.displayRoundEndText = true;
  1823. level.onEndGame = ::onEndGame;
  1824. level.killstreaksenabled = 0;
  1825. level.hardpointsenabled = 0;
  1826.  
  1827.  
  1828. \raw\maps\mp\gametypes\sab.gsc
  1829. level.teamBased = true;
  1830. level.overrideTeamScore = true;
  1831. level.onStartGameType = ::onStartGameType;
  1832. level.onSpawnPlayer = ::onSpawnPlayer;
  1833. level.onSpawnPlayerUnified = ::onSpawnPlayerUnified;
  1834. level.gamemodeSpawnDvars = ::sab_gamemodeSpawnDvars;
  1835. level.onRoundEndGame = ::onRoundEndGame;
  1836. level.onPrecacheGameType = ::onPrecacheGameType;
  1837. level.onTimeLimit = ::onTimeLimit;
  1838. level.onDeadEvent = ::onDeadEvent;
  1839. level.onRoundSwitch = ::onRoundSwitch;
  1840. level.onPlayerKilled = ::onPlayerKilled;
  1841. level.endGameOnScoreLimit = false;
  1842. level.onEndGame = ::onEndGame;
  1843. level.endGameOnScoreLimit = false;
  1844. level.lastDialogTime = 0;
  1845. level.halftimeType = "overtime";
  1846. level.halftimeSubCaption = &"MP_TIE_BREAKER";
  1847. level.halftimeType = "halftime";
  1848. level.spawnMins = ( 0, 0, 0 );
  1849. level.spawnMaxs = ( 0, 0, 0 );
  1850. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
  1851. level.spawn_axis = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_sab_spawn_axis" );
  1852. level.spawn_allies = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_sab_spawn_allies" );
  1853. level.spawn_axis_start = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_sab_spawn_axis_start" );
  1854. level.spawn_allies_start = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_sab_spawn_allies_start" );
  1855. level.timeLimitOverride = true;
  1856. level.inOvertime = true;
  1857. level.plantingTeamDead = true;
  1858. level.plantTime = dvarFloatValue( "planttime", 5, 0, 20 );
  1859. level.defuseTime = dvarFloatValue( "defusetime", 5, 0, 20 );
  1860. level.bombTimer = dvarFloatValue( "bombtimer", 45, 1, 300 );
  1861. level.hotPotato = dvarIntValue( "hotpotato", 1, 0, 1 );
  1862. level.bombPlanted = false;
  1863. level.bombExploded = false;
  1864. level._effect["bombexplosion"] = loadfx("maps/mp_maps/fx_mp_exp_bomb");
  1865. level.sabBomb = maps\mp\gametypes\_gameobjects::createCarryObject( "neutral", trigger, visuals, (0,0,32) );
  1866. level.sabBomb.objIDPingEnemy = true;
  1867. level.sabBomb.onPickup = ::onPickup;
  1868. level.sabBomb.onDrop = ::onDrop;
  1869. level.sabBomb.allowWeapons = true;
  1870. level.sabBomb.objPoints["allies"].archived = true;
  1871. level.sabBomb.objPoints["axis"].archived = true;
  1872. level.sabBomb.autoResetTime = 60.0;
  1873. level.bombZones["allies"] = createBombZone( "allies", getEnt( "sab_bomb_axis", "targetname" ) );
  1874. level.bombZones["axis"] = createBombZone( "axis", getEnt( "sab_bomb_allies", "targetname" ) );
  1875. level.bombZones["allies"] = createBombZone( "allies", getEnt( "sab_bomb_allies", "targetname" ) );
  1876. level.bombZones["axis"] = createBombZone( "axis", getEnt( "sab_bomb_axis", "targetname" ) );
  1877. level.useStartSpawns = false;
  1878. level.lastDialogTime = getTime();
  1879. level.bombOwner = player;
  1880. level.sabBomb.autoResetTime = undefined;
  1881. level.bombPlanted = true;
  1882. level.bombPlantedBy = team;
  1883. level.timeLimitOverride = true;
  1884. level.bombExploded = true;
  1885. level.bombPlanted = false;
  1886. level.timeLimitOverride = false;
  1887.  
  1888.  
  1889. \raw\maps\mp\gametypes\sd.gsc
  1890. level.teamBased = true;
  1891. level.overrideTeamScore = true;
  1892. level.onPrecacheGameType = ::onPrecacheGameType;
  1893. level.onStartGameType = ::onStartGameType;
  1894. level.onSpawnPlayer = ::onSpawnPlayer;
  1895. level.onSpawnPlayerUnified = ::onSpawnPlayerUnified;
  1896. level.playerSpawnedCB = ::sd_playerSpawnedCB;
  1897. level.onPlayerKilled = ::onPlayerKilled;
  1898. level.onDeadEvent = ::onDeadEvent;
  1899. level.onOneLeftEvent = ::onOneLeftEvent;
  1900. level.onTimeLimit = ::onTimeLimit;
  1901. level.onRoundSwitch = ::onRoundSwitch;
  1902. level.getTeamKillPenalty = ::sd_getTeamKillPenalty;
  1903. level.getTeamKillScore = ::sd_getTeamKillScore;
  1904. level.isKillBoosting = ::sd_isKillBoosting;
  1905. level.onRoundEndGame = ::onRoundEndGame;
  1906. level.endGameOnScoreLimit = false;
  1907. level.halftimeSubCaption = "";
  1908. level.halftimeType = "overtime";
  1909. level.halftimeType = "halftime";
  1910. level._effect["bombexplosion"] = loadfx("maps/mp_maps/fx_mp_exp_bomb");
  1911. level.spawnMins = ( 0, 0, 0 );
  1912. level.spawnMaxs = ( 0, 0, 0 );
  1913. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
  1914. level.spawn_axis_start = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_sd_spawn_defender" );
  1915. level.spawn_allies_start = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_sd_spawn_attacker" );
  1916. level.spectateOverride[game["attackers"]].allowEnemySpectate = 1;
  1917. level.spectateOverride[game["defenders"]].allowEnemySpectate = 1;
  1918. level.warnedLastPlayer = [];
  1919. level.warnedLastPlayer[team] = true;
  1920. level.plantTime = dvarFloatValue( "planttime", 5, 0, 20 );
  1921. level.defuseTime = dvarFloatValue( "defusetime", 5, 0, 20 );
  1922. level.bombTimer = dvarFloatValue( "bombtimer", 45, 1, 300 );
  1923. level.multiBomb = dvarIntValue( "multibomb", 0, 0, 1 );
  1924. level.teamKillPenaltyMultiplier = dvarFloatValue( "teamkillpenalty", 2, 0, 10 );
  1925. level.teamKillScoreMultiplier = dvarFloatValue( "teamkillscore", 4, 0, 40 );
  1926. level.playerKillsMax = dvarIntValue( "playerKillsMax", 6, 0, 9 );
  1927. level.totalKillsMax = dvarIntValue( "totalKillsMax", 11, 0, 18 );
  1928. level.bombPlanted = false;
  1929. level.bombDefused = false;
  1930. level.bombExploded = false;
  1931. level.sdBomb = maps\mp\gametypes\_gameobjects::createCarryObject( game["attackers"], trigger, visuals, (0,0,32) );
  1932. level.sdBomb.allowWeapons = true;
  1933. level.sdBomb.onPickup = ::onPickup;
  1934. level.sdBomb.onDrop = ::onDrop;
  1935. level.bombZones = [];
  1936. level.bombZones[level.bombZones.size] = bombZone;
  1937. level.bombZones[index].otherBombZones = array;
  1938. level.bombPlanted = true;
  1939. level.tickingObject = destroyedObj.visuals[0];
  1940. level.timeLimitOverride = true;
  1941. level.sdBombModel = level.sdBomb.visuals[0];
  1942. level.sdBombModel = spawn( "script_model", trace["position"] );
  1943. level.sdBombModel.angles = dropAngles;
  1944. level.bombExploded = true;
  1945. level.bombDefused = true;
  1946.  
  1947.  
  1948. \raw\maps\mp\gametypes\shrp.gsc
  1949. level.onStartGameType = ::onStartGameType;
  1950. level.onSpawnPlayer = ::onSpawnPlayer;
  1951. level.onSpawnPlayerUnified = ::onSpawnPlayerUnified;
  1952. level.onPlayerKilled = ::onPlayerKilled;
  1953. level.onWagerAwards = ::onWagerAwards;
  1954. level.giveCustomLoadout = ::giveCustomLoadout;
  1955. level.killstreaksenabled = 0;
  1956. level.hardpointsenabled = 0;
  1957. level.spawnMins = ( 0, 0, 0 );
  1958. level.spawnMaxs = ( 0, 0, 0 );
  1959. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
  1960. level.useStartSpawns = false;
  1961. level.displayRoundEndText = false;
  1962. level.QuickMessageToAll = true;
  1963. level.gunProgression = [];
  1964. level.gunProgression[level.gunProgression.size] = newWeapon;
  1965. level.usedBaseWeapons = [];
  1966. level.usedBaseWeapons[0] = "strela";
  1967. level.usedBaseWeapons[level.usedBaseWeapons.size] = baseWeaponName;
  1968. level.shrpRandomWeapon = getRandomGunFromProgression();
  1969. level.shrpRandomWeapon = getRandomGunFromProgression();
  1970. level.sharpshooterMultiplier = 2;
  1971. level.sharpshooterMultiplier = 2;
  1972. level.sharpshooterMultiplier = 1;
  1973.  
  1974.  
  1975. \raw\maps\mp\gametypes\sur.gsc
  1976. level.teamBased = true;
  1977. level.doPrematch = true;
  1978. level.overrideTeamScore = true;
  1979. level.onStartGameType = ::onStartGameType;
  1980. level.onSpawnPlayer = ::onSpawnPlayer;
  1981. level.onSpawnPlayerUnified = ::onSpawnPlayerUnified;
  1982. level.playerSpawnedCB = ::sur_playerSpawnedCB;
  1983. level.onPlayerKilled = ::onPlayerKilled;
  1984. level.safeZoneAutoDestroyTime = GetDvarInt( #"sur_autodestroytime");
  1985. level.captureTime = GetDvarInt( #"sur_captureTime");
  1986. level.destroyTime = GetDvarInt( #"sur_destroyTime");
  1987. level.delayPlayer = GetDvarInt( #"sur_delayPlayer");
  1988. level.spawnDelay = GetDvarInt( #"sur_spawnDelay");
  1989. level.iconoffset = (0,0,32);
  1990. level.onRespawnDelay = ::getRespawnDelay;
  1991. level.spawnMins = ( 0, 0, 0 );
  1992. level.spawnMaxs = ( 0, 0, 0 );
  1993. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
  1994. level.spawn_all = getentarray( "mp_tdm_spawn", "classname" );
  1995. level.safeZoneRevealTime = -100000;
  1996. level.timerDisplay = [];
  1997. level.timerDisplay["allies"] = createServerTimer( "objective", 1.4, "allies" );
  1998. level.timerDisplay["allies"].label = &"MP_SAFEZONE_AVAILABLE_IN";
  1999. level.timerDisplay["allies"].alpha = 0;
  2000. level.timerDisplay["allies"].archived = false;
  2001. level.timerDisplay["allies"].hideWhenInMenu = true;
  2002. level.timerDisplay["axis"  ] = createServerTimer( "objective", 1.4, "axis" );
  2003. level.timerDisplay["axis"  ].label = &"MP_SAFEZONE_AVAILABLE_IN";
  2004. level.timerDisplay["axis"  ].alpha = 0;
  2005. level.timerDisplay["axis"  ].archived = false;
  2006. level.timerDisplay["axis"  ].hideWhenInMenu = true;
  2007. level.cargoTouched = false;
  2008. level.surGameState = "spawnCargo";
  2009. level.cargoObject = undefined;
  2010. level.safeZoneObject = undefined;
  2011. level.cargoObject = undefined;
  2012. level.safeZoneObject = undefined;
  2013. level.surGameState = "spawnCargo";
  2014. level.cargoObject = spawnCargo();
  2015. level.safeZoneObject = spawnSafeZone();
  2016. level.cargoTouched = false;
  2017. level.timerDisplay["allies"].alpha = 0;
  2018. level.timerDisplay["axis"  ].alpha = 0;
  2019. level.safeZoneObject = undefined;
  2020. level.surGameState = "spawnSafeZone";
  2021. level.safeZoneObject = safeZoneObject;
  2022. level.safeZoneRevealTime = gettime();
  2023. level.timerDisplay["allies"].alpha = 0;
  2024. level.timerDisplay["axis"  ].alpha = 0;
  2025. level.timerDisplay["allies"].label = &"MP_SAFEZONE_DESPAWN_IN";
  2026. level.timerDisplay["allies"].alpha = 1;
  2027. level.timerDisplay["axis"  ].label = &"MP_SAFEZONE_DESPAWN_IN";
  2028. level.timerDisplay["axis"  ].alpha = 1;
  2029. level.surGameState = "resetCargo";
  2030. level.cargoTouched = true;
  2031. level.safeZoneDestroyTime = gettime() + time * 1000;
  2032. level.safeZoneDestroyedByTimer = false;
  2033. level.safeZoneDestroyedByTimer = true;
  2034. level.cargoSpots = cargoSpots;
  2035. level.prevCargoSpot = undefined;
  2036. level.prevCargoSpot2 = undefined;
  2037. level.safeZones = safeZones;
  2038. level.prevSafeZone = undefined;
  2039. level.prevSafeZone2 = undefined;
  2040. level.prevCargoSpot2 = level.prevCargoSpot;
  2041. level.prevCargoSpot = cargoSpot;
  2042. level.prevCargoSpot2 = level.prevCargoSpot;
  2043. level.prevCargoSpot = bestCargoSpot;
  2044. level.prevSafeZone2 = level.prevSafeZone;
  2045. level.prevSafeZone = safeZone;
  2046. level.prevSafeZone2 = level.prevSafeZone;
  2047. level.prevSafeZone = bestSafeZone;
  2048.  
  2049.  
  2050. \raw\maps\mp\gametypes\tdm.gsc
  2051. level.scoreRoundBased = true;
  2052. level.teamBased = true;
  2053. level.onStartGameType = ::onStartGameType;
  2054. level.onSpawnPlayer = ::onSpawnPlayer;
  2055. level.onSpawnPlayerUnified = ::onSpawnPlayerUnified;
  2056. level.onRoundEndGame = ::onRoundEndGame;
  2057. level.spawnMins = ( 0, 0, 0 );
  2058. level.spawnMaxs = ( 0, 0, 0 );
  2059. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
  2060. level.displayRoundEndText = false;
  2061. level.displayRoundEndText = true;
  2062. level.useStartSpawns = false;
  2063.  
  2064.  
  2065. \raw\maps\mp\gametypes\twar.gsc
  2066. level.teamBased = true;
  2067. level.overrideTeamScore = true;
  2068. level.onStartGameType = ::onStartGameType;
  2069. level.onSpawnPlayer = ::onSpawnPlayer;
  2070. level.onSpawnPlayerUnified = ::onSpawnPlayerUnified;
  2071. level.onSpawnSpectator = ::onSpawnSpectator;
  2072. level.playerSpawnedCB = ::twar_playerSpawnedCB;
  2073. level.onPlayerKilled = ::onPlayerKilled;
  2074. level.onPrecacheGameType = ::onPrecacheGameType;
  2075. level.onTimeLimit = ::onTimeLimit;
  2076. level.onRespawnDelay = ::getRespawnDelay;
  2077. level.onRoundSwitch = ::onRoundSwitch;
  2078. level.onTeamOutcomeNotify = ::onTeamOutcomeNotify;
  2079. level.onEndGame = ::onEndGame;
  2080. level.getTimeLimitDvarValue = ::getTimeLimitDvarValue;
  2081. level.gamemodeSpawnDvars = ::twar_gamemodeSpawnDvars;
  2082. level.endGameOnScoreLimit = false;
  2083. level.flagSetupComplete = false;
  2084. level.captureTime = GetDvarInt( #"twar_captureTime");
  2085. level.objectiveFX = "waypoint_objpoint";
  2086. level.objectiveCompassFX = "objective";
  2087. level.flagHudFX = [];
  2088. level.flagHudFX["marines"] = "hudicon_american_war";
  2089. level.flagHudFX["marines_neutral"] = "hudicon_american_war_grey";
  2090. level.flagHudFX["nva"] = "hudicon_japanese_war";
  2091. level.flagHudFX["nva_neutral"] = "hudicon_japanese_war_grey";
  2092. level.flagHudFX["german"] = "hudicon_german_war";
  2093. level.flagHudFX["german_neutral"] = "hudicon_german_war_grey";
  2094. level.flagHudFX["russian"] = "hudicon_russian_war";
  2095. level.flagHudFX["russian_neutral"] = "hudicon_russian_war_grey";
  2096. level.flagHudFX["neutral"] = "hudicon_american_war_grey";
  2097. level.hudImageSize = 32;
  2098. level.hudImageSpacing = 8;
  2099. level.hudImageIncrease = 10;
  2100. level.lastDialogTime = getTime();
  2101. level.lastProgress = 0;
  2102. level.isLastFlag = false;
  2103. level.halftimeType = "finalfight";
  2104. level.halftimeSubCaption = &"MP_ONEFLAGWINS";
  2105. level.timeLimitOverride = true;
  2106. level.inFinalFight = false;
  2107. level.inFinalFight = true;
  2108. level.spawnMins = ( 0, 0, 0 );
  2109. level.spawnMaxs = ( 0, 0, 0 );
  2110. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
  2111. level.startPos["allies"] = level.spawn_allies_start[0].origin;
  2112. level.startPos["axis"] = level.spawn_axis_start[0].origin;
  2113. level.spawnDelay = [];
  2114. level.spawnDelay["axis"] = 0;
  2115. level.spawnDelay["allies"] = 0;
  2116. level.flagBaseFXid = [];
  2117. level.flagBaseFXid["allies"] = loadfx( flagBaseFX[ game["allies"] ] );
  2118. level.flagBaseFXid["axis"] = loadfx( flagBaseFX[ game["axis"] ] );
  2119. level.flagBaseFXid["neutral"] = loadfx( flagBaseFX["neutral"]  );
  2120. level.flagBaseFXid["spectator"] = loadfx( flagBaseFX[ game["allies"] ] );
  2121. level.objpoint_alpha_default = 0.75;
  2122. level.forcedEnd = true;
  2123. level.roundLimit = 0;
  2124. level.players[i].touchingContestedFlag = false;
  2125. level.bestSpawnFlag[ self.pers["team"] ] = bestFlag;
  2126. level.lastStatus["allies"] = 0;
  2127. level.lastStatus["axis"] = 0;
  2128. level.flags = [];
  2129. level.flags[level.flags.size] = refWrapper.primaryFlags[index];
  2130. level.flags[level.flags.size - 1].descriptor = closestdesc;
  2131. level.flagOrder["_a"] = 0;
  2132. level.flagOrder["_b"] = 1;
  2133. level.flagOrder["_c"] = 2;
  2134. level.flagOrder["_d"] = 3;
  2135. level.flagOrder["_e"] = 4;
  2136. level.twarFlags = [];
  2137. level.flags[index].useObj = twarFlag;
  2138. level.flags[index].adjflags = [];
  2139. level.flags[index].nearbyspawns = [];
  2140. level.twarFlags[level.twarFlags.size] = twarFlag;
  2141. level.flagSetupComplete = true;
  2142. level.bestSpawnFlag = [];
  2143. level.bestSpawnFlag[ "allies" ] = getUnownedFlagNearestStart( "allies", undefined );
  2144. level.bestSpawnFlag[ "axis" ] = getUnownedFlagNearestStart( "axis", level.bestSpawnFlag[ "allies" ] );
  2145. level.flags[j] = level.flags[j + 1];
  2146. level.flags[j + 1] = temp;
  2147. level.isLastFlag = true;
  2148. level.lastProgress = 0;
  2149. level.isLastFlag = false;
  2150. level.lastDialogTime = getTime();
  2151. level.lastDialogTime = getTime();
  2152. level.lastDialogTime = getTime();
  2153. level.lastProgress = progress;
  2154. level.lastStatus[team] = getTime();
  2155. level.useStartSpawns = false;
  2156. level.bestSpawnFlag[ oldTeam ] = self.levelFlag;
  2157. level.forcedEnd = true;
  2158. level.roundLimit = 0;
  2159. level.flags[i].adjflags[level.flags[i].adjflags.size] = adjflag;
  2160. level.twar_influencers[level.twar_influencers.size] = maps\mp\gametypes\_spawning::create_map_placed_influencer(influencer_entity, influencer_score);
  2161. level.twar_influencers = [];
  2162. level.twar_influencers[level.twar_influencers.size] = twar_create_contested_objective_influencer(contested_flag);
  2163. level.twar_influencers = [];
  2164. level.warHudColumnOffset = ( ( int( numColumns / 2 ) * level.hudImageSize ) + ( int( ( numColumns - 1 ) / 2 ) * level.hudImageSpacing ) ) * -1;
  2165.  
  2166.  
  2167. \raw\maps\mp\gametypes\_armor.gsc
  2168. level.cac_attributes = [];
  2169. level.cac_attributes[ "mobility" ] = [];
  2170. level.cac_attributes[ "armor_bullet" ] = [];
  2171. level.cac_attributes[ "armor_explosive" ] = [];
  2172. level.cac_attributes[ "sprint_time_total" ] = [];
  2173. level.cac_attributes[ "sprint_time_cooldown" ] = [];
  2174. level.cac_functions = [];
  2175. level.cac_functions[ "precache" ] = [];
  2176. level.cac_functions[ "set_body_model" ] = [];
  2177. level.cac_functions[ "set_head_model" ] = [];
  2178. level.cac_functions[ "set_hat_model" ] = [];
  2179. level.cac_functions[ "set_specialties" ] = [];
  2180. level.cac_functions[ "get_default_head" ] = [];
  2181. level.cac_assets = [];
  2182.  
  2183.  
  2184. \raw\maps\mp\gametypes\_battlechatter_mp.gsc
  2185. level.isTeamSpeaking["allies"] = false;
  2186. level.isTeamSpeaking["axis"] = false;
  2187. level.speakers["allies"] = [];
  2188. level.speakers["axis"] = [];
  2189. level.bcSounds = [];
  2190. level.bcSounds["reload"] = "inform_reloading";
  2191. level.bcSounds["frag_out"] = "inform_attack_grenade";
  2192. level.bcSounds["smoke_out"] = "inform_attack_smoke";
  2193. level.bcSounds["conc_out"] = "inform_attack_stun";
  2194. level.bcSounds["satchel_plant"] = "inform_attack_throwsatchel";
  2195. level.bcSounds["kill"] = "inform_kill";
  2196. level.bcSounds["casualty"] = "inform_casualty_gen";
  2197. level.bcSounds["flare_out"] = "inform_attack_flare";
  2198. level.bcSounds["gas_out"] = "inform_attack_gas";
  2199. level.bcSounds["betty_plant"] = "inform_plant";
  2200. level.bcSounds["landmark"] = "landmark";
  2201. level.bcSounds["taunt"] = "taunt";
  2202. level.bcSounds["killstreak_enemy"] = "kls_enemy";
  2203. level.bcSounds["killstreak_taunt"] = "taunt_kls";
  2204. level.bcSounds["kill_killstreak"] = "kill_killstreak";
  2205. level.bcSounds["destructible"] = "destructible_near";
  2206. level.bcSounds["teammate"] = "teammate_near";
  2207. level.bcSounds["grenade_incoming"] = "inform_incoming";
  2208. level.bcSounds["gametype"] = "gametype";
  2209. level.bcSounds["squad"] = "squad";
  2210. level.bcSounds["enemy"] = "threat";
  2211. level.bcSounds["sniper"] = "sniper";
  2212. level.bcSounds["gametype"] = "gametype";
  2213. level.bcSounds["perk"] = "perk_equip";
  2214. level.bcSounds["pain"] = "pain";
  2215. level.bcSounds["death"] = "death";
  2216. level.bcSounds["breathing"] = "breathing";
  2217. level.bcSounds["inform_attack"] = "inform_attack";
  2218. level.bcSounds["inform_need"] = "inform_need";
  2219. level.bcSounds["revive"] = "revive";
  2220. level.bcSounds["scream"] = "scream";
  2221. level.bcSounds["fire"] = "fire";
  2222. level.bcWeaponDelay = GetDvarInt( #"bcmp_weapon_delay" );
  2223. level.bcWeaponFireProbability = GetDvarInt( #"bcmp_weapon_fire_probability" );
  2224. level.bcWeaponReloadProbability = GetDvarInt( #"bcmp_weapon_reload_probability" );
  2225. level.bcWeaponFireThreatProbability = GetDvarInt( #"bcmp_weapon_fire_threat_probability" );
  2226. level.bcSniperKillProbability = GetDvarInt( #"bcmp_sniper_kill_probability" );
  2227. level.bcAllyKillProbability = GetDvarInt( #"bcmp_ally_kill_probability" );
  2228. level.bcKillstreakIncomingProbability = GetDvarInt( #"bcmp_killstreak_incoming_probability" );
  2229. level.bcPerkCallProbability = GetDvarInt( #"bcmp_perk_call_probability" );
  2230. level.bcIncomingGrenadeProbability = GetDvarInt( #"bcmp_incoming_grenade_probability" );
  2231. level.bcTossGrenadeProbability = GetDvarInt( #"bcmp_toss_grenade_probability" );
  2232. level.bcKillInformProbability = GetDvarInt( #"bcmp_kill_inform_probability" );
  2233. level.bcPainSmallProbability = GetDvarInt( #"bcmp_pain_small_probability" );
  2234. level.bcPainDelay = GetDvarInt( #"bcmp_pain_delay" );
  2235. level.bcLastStandDelay = GetDvarInt ( #"bcmp_last_stand_delay" );
  2236. level.bcmp_breathing_delay = GetDvarInt ( #"bcmp_breathing_delay" );
  2237. level.bcmp_enemy_contact_delay = GetDvarInt ( #"bcmp_enemy_contact_delay" );  
  2238. level.bcmp_enemy_contact_level_delay = GetDvarInt ( #"bcmp_enemy_contact_level_delay" );  
  2239. level.bcmp_breathing_probability = GetDvarInt( #"bcmp_breathing_probability" );
  2240. level.bcGlobalProbability = GetDvarInt( #"scr_"+level.gametype+"_globalbattlechatterprobability" );
  2241. level.allowBattleChatter = GetDvarInt( #"scr_allowbattlechatter" );
  2242. level.landmarks = getentarray ("trigger_landmark", "targetname");
  2243. level.enemySpottedDialog = true;
  2244. level.bcWeaponDelay = getdvarint ( "bcmp_weapon_delay" );
  2245. level.bcKillInformProbability = getdvarint ( "bcmp_kill_inform_probability" );
  2246. level.bcWeaponFireProbability = getdvarint ( "bcmp_weapon_fire_probability" );
  2247. level.bcSniperKillProbability = getdvarint ( "bcmp_sniper_kill_probability" );
  2248. level.enemySpottedDialog = false;
  2249. level.enemySpottedDialog = true;
  2250. level.speakers[team][level.speakers[team].size] = player;
  2251. level.speakers[team] = newSpeakers;
  2252.  
  2253.  
  2254. \raw\maps\mp\gametypes\_bot.gsc
  2255. level.bot_offline = false;
  2256. level.bot_weapon_ids = [];
  2257. level.bot_offline = true;
  2258. level.autoassign = ::basic_training_auto_assign;
  2259. level.bot_weapon_ids[ slot ] = [];
  2260. level.bot_weapon_ids[ slot ][ level.bot_weapon_ids[ slot ].size ] = id;
  2261.  
  2262.  
  2263. \raw\maps\mp\gametypes\_callbacksetup.gsc
  2264. level.gametypestarted = true;
  2265. level.iDFLAGS_NO_TEAM_PROTECTION = 16;
  2266. level.callbackStartGameType = maps\mp\gametypes\_globallogic::Callback_StartGameType;
  2267. level.callbackPlayerConnect = maps\mp\gametypes\_globallogic_player::Callback_PlayerConnect;
  2268. level.callbackPlayerDisconnect = maps\mp\gametypes\_globallogic_player::Callback_PlayerDisconnect;
  2269. level.callbackPlayerDamage = maps\mp\gametypes\_globallogic_player::Callback_PlayerDamage;
  2270. level.callbackPlayerKilled = maps\mp\gametypes\_globallogic_player::Callback_PlayerKilled;
  2271. level.callbackPlayerLastStand = maps\mp\gametypes\_globallogic_player::Callback_PlayerLastStand;
  2272. level.callbackActorDamage = maps\mp\gametypes\_globallogic_actor::Callback_ActorDamage;
  2273. level.callbackActorKilled = maps\mp\gametypes\_globallogic_actor::Callback_ActorKilled;
  2274. level.callbackVehicleDamage = maps\mp\gametypes\_globallogic_vehicle::Callback_VehicleDamage;
  2275. level.callbackVehicleRadiusDamage = maps\mp\gametypes\_globallogic_vehicle::Callback_VehicleRadiusDamage;
  2276. level.callbackPlayerMigrated = maps\mp\gametypes\_globallogic_player::Callback_PlayerMigrated;
  2277. level.callbackHostMigration = maps\mp\gametypes\_hostmigration::Callback_HostMigration;
  2278. level.callbackHostMigrationSave = maps\mp\gametypes\_hostmigration::Callback_HostMigrationSave;
  2279. level.callbackStartGameType = ::callbackVoid;
  2280. level.callbackPlayerConnect = ::callbackVoid;
  2281. level.callbackPlayerDisconnect = ::callbackVoid;
  2282. level.callbackPlayerDamage = ::callbackVoid;
  2283. level.callbackPlayerKilled = ::callbackVoid;
  2284. level.callbackPlayerLastStand = ::callbackVoid;
  2285. level.callbackActorDamage = ::callbackVoid;
  2286. level.callbackActorKilled = ::callbackVoid;
  2287. level.callbackVehicleDamage = ::callbackVoid;
  2288.  
  2289.  
  2290. \raw\maps\mp\gametypes\_class.gsc
  2291. level.classMap["smg_mp"] = "CLASS_SMG";
  2292. level.classMap["cqb_mp"] = "CLASS_CQB";
  2293. level.classMap["assault_mp"] = "CLASS_ASSAULT";
  2294. level.classMap["lmg_mp"] = "CLASS_LMG";
  2295. level.classMap["sniper_mp"] = "CLASS_SNIPER";
  2296. level.classMap["offline_class1_mp"] = "OFFLINE_CLASS1";
  2297. level.classMap["offline_class2_mp"] = "OFFLINE_CLASS2";
  2298. level.classMap["offline_class3_mp"] = "OFFLINE_CLASS3";
  2299. level.classMap["offline_class4_mp"] = "OFFLINE_CLASS4";
  2300. level.classMap["offline_class5_mp"] = "OFFLINE_CLASS5";
  2301. level.classMap["offline_class6_mp"] = "OFFLINE_CLASS6";
  2302. level.classMap["offline_class7_mp"] = "OFFLINE_CLASS7";
  2303. level.classMap["offline_class8_mp"] = "OFFLINE_CLASS8";
  2304. level.classMap["offline_class9_mp"] = "OFFLINE_CLASS9";
  2305. level.classMap["offline_class10_mp"] = "OFFLINE_CLASS10";
  2306. level.classMap["custom1"] = "CLASS_CUSTOM1";
  2307. level.classMap["custom2"] = "CLASS_CUSTOM2";
  2308. level.classMap["custom3"] = "CLASS_CUSTOM3";
  2309. level.classMap["custom4"] = "CLASS_CUSTOM4";
  2310. level.classMap["custom5"] = "CLASS_CUSTOM5";
  2311. level.classMap["prestige1"] = "CLASS_CUSTOM6";
  2312. level.classMap["prestige2"] = "CLASS_CUSTOM7";
  2313. level.classMap["prestige3"] = "CLASS_CUSTOM8";
  2314. level.classMap["prestige4"] = "CLASS_CUSTOM9";
  2315. level.classMap["prestige5"] = "CLASS_CUSTOM10";
  2316. level.PrestigeNumber = 5;
  2317. level.defaultClass = "CLASS_ASSAULT";
  2318. level.weapons["frag"] = "frag_grenade_mp";
  2319. level.weapons["frag"] = "";
  2320. level.weapons["smoke"] = "smoke_grenade_mp";
  2321. level.weapons["smoke"] = "";
  2322. level.weapons["flash"] = "flash_grenade_mp";
  2323. level.weapons["flash"] = "";
  2324. level.weapons["concussion"] = "concussion_grenade_mp";
  2325. level.weapons["satchel_charge"] = "satchel_charge_mp";
  2326. level.weapons["satchel_charge"] = "";
  2327. level.weapons["betty"] = "mine_bouncing_betty_mp";
  2328. level.weapons["betty"] = "";
  2329. level.weapons["rpg"] = "rpg_mp";
  2330. level.weapons["rpg"] = "";
  2331. level.primary_weapon_array = [];
  2332. level.side_arm_array = [];
  2333. level.grenade_array = [];
  2334. level.inventory_array = [];
  2335. level.itemExclusions = [];
  2336. level.itemExclusions[ currentDvar ] = GetDvarInt( "item_exclusion_" + currentDvar );
  2337. level.attachmentExclusions = [];
  2338. level.attachmentExclusions[ currentDvar ] = GetDvar( "attachment_exclusion_" + currentDvar );
  2339. level.classWeapons[team][class][0] = getDefaultClassSlotWithExclusions( class, "primary" ) + "_mp";
  2340. level.classSidearm[team][class] = getDefaultClassSlotWithExclusions( class, "secondary" ) + "_mp";
  2341. level.classGrenades[class]["primary"]["type"] = primaryGrenadeRef + "_mp";
  2342. level.classGrenades[class]["primary"]["count"] = get_item_count( primaryGrenadeRef );
  2343. level.classGrenades[class]["secondary"]["type"] = secondaryGrenadeRef + "_mp";
  2344. level.classGrenades[class]["secondary"]["count"] = get_item_count( secondaryGrenadeRef );
  2345. level.default_equipment[ class ][ "type" ] = equipmentRef + "_mp";
  2346. level.default_equipment[ class ][ "count" ] = get_item_count( secondaryGrenadeRef );
  2347. level.default_perk[class] = [];
  2348. level.default_perk[class][currentSpecialty] = "specialty_null";
  2349. level.default_perkIcon[class][ currentSpecialty ] = level.tbl_PerkData[ specialty ][ "reference_full" ];
  2350. level.default_perk[class][0] = "specialty_null";
  2351. level.default_perk[class][1] = "specialty_null";
  2352. level.classGrenades[class]["primary"]["count"] = 1;
  2353. level.classGrenades[class]["secondary"]["count"] = 1;
  2354. level.classItem[team][class]["type"] = "";
  2355. level.classItem[team][class]["count"] = 0;
  2356. level.default_armor[class] = [];
  2357. level.default_armor[class]["body"] = getDefaultClassSlotWithExclusions( class, "body" );
  2358. level.default_armor[class]["head"] = getDefaultClassSlotWithExclusions( class, "head" );
  2359. level.primary_weapon_array[weapon] = 1;
  2360. level.side_arm_array[weapon] = 1;
  2361. level.grenade_array[weapon] = 1;
  2362. level.inventory_array[weapon] = 1;
  2363. level.inventory_array[weapon] = 1;
  2364. level.cac_size = 5;
  2365. level.cac_max_item = 256;
  2366. level.cac_numbering = 0;
  2367. level.cac_cstat = 1;  
  2368. level.cac_cgroup = 2;  
  2369. level.cac_cname = 3;  
  2370. level.cac_creference = 4;
  2371. level.cac_ccount = 5;  
  2372. level.cac_cimage = 6;  
  2373. level.cac_cdesc = 7;  
  2374. level.cac_cstring = 8;  
  2375. level.cac_cint = 9;  
  2376. level.cac_cunlock = 10;  
  2377. level.cac_cint2 = 11;  
  2378. level.cac_cost = 12;
  2379. level.cac_slot = 13;
  2380. level.cac_classified = 15;
  2381. level.tbl_WeaponAttachment[i]["reference"] = tableLookup( "mp/attachmentTable.csv", 9, i, 4 );
  2382. level.tbl_weaponIDs = [];
  2383. level.tbl_weaponIDs[i]["reference"] = reference_s;
  2384. level.tbl_weaponIDs[i]["group"] = group_s;
  2385. level.tbl_weaponIDs[i]["count"] = int( tableLookupColumnForRow( "mp/statstable.csv", itemRow, level.cac_ccount ) );
  2386. level.tbl_weaponIDs[i]["attachment"] = tableLookupColumnForRow( "mp/statstable.csv", itemRow, level.cac_cstring );
  2387. level.tbl_weaponIDs[i]["slot"] = tablelookup( "mp/statstable.csv", 0, i, level.cac_slot );
  2388. level.tbl_weaponIDs[i]["cost"] = tablelookup( "mp/statstable.csv", 0, i, level.cac_cost );
  2389. level.tbl_weaponIDs[i]["unlock_level"] = tablelookup( "mp/statstable.csv", 0, i, level.cac_cunlock );
  2390. level.tbl_weaponIDs[i]["classified"] = int( tablelookup( "mp/statstable.csv", 0, i, level.cac_classified ) );
  2391. level.armor_index_start = i;
  2392. level.armor_index_end = i;
  2393. level.armor_index_end = i;
  2394. level.tbl_armor[i] = item;
  2395. level.perkReferenceToIndex = [];
  2396. level.perkNames = [];
  2397. level.perkIcons = [];
  2398. level.PerkData = [];
  2399. level.allowedPerks[0] = [];
  2400. level.allowedPerks[1] = [];
  2401. level.allowedPerks[2] = [];
  2402. level.allowedPerks[3] = [];
  2403. level.tbl_PerkData[i]["reference"] = reference_s;
  2404. level.tbl_PerkData[i]["reference_full"] = tableLookupColumnForRow( "mp/statsTable.csv", itemRow, level.cac_cimage );
  2405. level.tbl_PerkData[i]["count"] = int( tableLookupColumnForRow( "mp/statsTable.csv", itemRow, level.cac_ccount ) );
  2406. level.tbl_PerkData[i]["cost"] = int( tableLookupColumnForRow( "mp/statsTable.csv", itemRow, level.cac_cost ) );
  2407. level.tbl_PerkData[i]["group"] = group_s;
  2408. level.tbl_PerkData[i]["name"] = tableLookupIString( "mp/statsTable.csv", level.cac_numbering, i, level.cac_cname );
  2409. level.tbl_PerkData[i]["slot"] = tablelookup( "mp/statstable.csv", 0, i, level.cac_slot );
  2410. level.perkReferenceToIndex[ level.tbl_PerkData[i]["reference"] ] = i;
  2411. level.allowedPerks[0][ level.allowedPerks[0].size ] = i;
  2412. level.allowedPerks[1][ level.allowedPerks[1].size ] = i;
  2413. level.allowedPerks[2][ level.allowedPerks[2].size ] = i;
  2414. level.allowedPerks[3][ level.allowedPerks[3].size ] = i;
  2415. level.perkNames[level.tbl_PerkData[i]["reference_full"]] = level.tbl_PerkData[i]["name"];
  2416. level.perkIcons[level.tbl_PerkData[i]["reference_full"]] = level.tbl_PerkData[i]["reference_full"];
  2417. level.killStreakNames = [];
  2418. level.killStreakIcons = [];
  2419. level.KillStreakData = [];
  2420. level.killStreakBaseValue = 202;
  2421. level.allowedKillStreak[0] = [];
  2422. level.allowedKillStreak[1] = [];
  2423. level.allowedKillStreak[2] = [];
  2424. level.allowedKillStreak[3] = [];
  2425. level.allowedKillStreak[4] = [];
  2426. level.allowedKillStreak[i][0] = level.killStreakBaseValue;
  2427. level.killStreakBaseValue = undefined;
  2428. level.totalKillStreaks = 0;
  2429. level.killStreakBaseValue = i;
  2430. level.tbl_KillStreakData[i]["reference"] = reference_s;
  2431. level.tbl_KillStreakData[i]["tableNumber"] = i ;
  2432. level.tbl_KillStreakData[i]["icon"] = tableLookupColumnForRow( "mp/statsTable.csv", itemRow, level.cac_cimage );
  2433. level.tbl_KillStreakData[i]["name"] = tableLookupIString( "mp/statsTable.csv", level.cac_numbering, i, level.cac_cname );
  2434. level.tbl_KillStreakData[i]["reference"] ] = i;
  2435. level.allowedKillStreak[0][j] = i;
  2436. level.allowedKillStreak[1][j] = i;
  2437. level.allowedKillStreak[2][j] = i;
  2438. level.killStreakNames[level.tbl_KillStreakData[i]["reference"]] = level.tbl_KillStreakData[i]["name"];
  2439. level.killStreakIcons[level.tbl_KillStreakData[i]["reference"]] = level.tbl_KillStreakData[i]["icon"];
  2440. level.default_perk[className][index] = specialty[i];
  2441. level.default_perk[className][index] = level.tbl_PerkData[specialty[i]]["reference_full"];
  2442. level.specialtyToPerkIndex = [];
  2443. level.specialtyToPerkIndex[ perks[ i ] ] = perkIndex;
  2444. level.cac_armorpiercing_data = cac_get_dvar_int( "perk_armorpiercing", "40" ) / 100;
  2445. level.cac_bulletdamage_data = cac_get_dvar_int( "perk_bulletDamage", "35" );  
  2446. level.cac_fireproof_data = cac_get_dvar_int( "perk_fireproof", "95" );    
  2447. level.cac_armorvest_data = cac_get_dvar_int( "perk_armorVest", "80" );    
  2448. level.cac_explosivedamage_data = cac_get_dvar_int( "perk_explosiveDamage", "25" );
  2449. level.cac_flakjacket_data = cac_get_dvar_int( "perk_flakJacket", "35" );  
  2450. level.cac_flakjacket_hardcore_data = cac_get_dvar_int( "perk_flakJacket_hardcore", "9" );
  2451. level.cac_fireproof_data = cac_get_dvar_int( "perk_fireproof", level.cac_fireproof_data );
  2452. level.cac_flakjacket_data = cac_get_dvar_int( "perk_flakJacket", level.cac_flakjacket_data );
  2453. level.cac_flakjacket_data = cac_get_dvar_int( "perk_flakJacket_hardcore", level.cac_flakjacket_hardcore_data );
  2454.  
  2455.  
  2456. \raw\maps\mp\gametypes\_clientids.gsc
  2457. level.clientid = 0;
  2458.  
  2459.  
  2460. \raw\maps\mp\gametypes\_copter.gsc
  2461. level.coptermodel = "vehicle_cobra_helicopter_fly";
  2462. level.copter_maxaccel = 200;
  2463. level.copter_maxvel = 700;
  2464. level.copter_rotspeed = 90;
  2465. level.copter_accellookahead = 2;
  2466. level.copterCenterOffset = (0,0,72);
  2467. level.copterTargetOffset = (0,0,45);
  2468. level.copterexplosion = loadfx("explosions/fx_default_explosion");
  2469. level.copterfinalexplosion = loadfx("explosions/fx_large_vehicle_explosion");
  2470.  
  2471.  
  2472. \raw\maps\mp\gametypes\_friendicons.gsc
  2473. level.drawfriend = GetDvarInt( #"scr_drawfriend");
  2474. level.drawfriend = drawfriend;
  2475.  
  2476.  
  2477. \raw\maps\mp\gametypes\_gameobjects.gsc
  2478. level.numGametypeReservedObjectives = 0;
  2479. level.releasedObjectives = [];
  2480. level.releasedObjectives[ level.releasedObjectives.size - 1 ] = undefined;
  2481. level.releasedObjectives[ level.releasedObjectives.size ] = objID;  
  2482.  
  2483.  
  2484. \raw\maps\mp\gametypes\_gametype_variants.gsc
  2485. level.gametypeEvents = [];
  2486. level.gametypeEvents["OnKill"] = [];
  2487. level.gametypeEvents["OnPlayerElimination"] = [];
  2488. level.gametypeEvents["OnTimeReached"] = [];
  2489. level.gametypeEvents["OnRoundBegin"] = [];
  2490. level.gametypeEvents["OnRoundEnd"] = [];
  2491. level.gametypeEvents["OnPlayerSpawn"] = [];
  2492. level.gametypeEvents["OnPlayerTakeDamage"] = [];
  2493. level.gametypeEvents["OnPlayerTeamChange"] = [];
  2494. level.gametypeEvents["OnPlayerClassChange"] = [];
  2495. level.gametypeEvents["OnPlayerKillstreakEarned"] = [];
  2496. level.gametypeEvents["OnPlayerKillstreakActivated"] = [];
  2497. level.gametypeEvents[eventName][level.gametypeEvents[eventName].size] = newRule;
  2498. level.gametypeEvents[rule.eventName] = array_remove( level.gametypeEvents[rule.eventName], rule );
  2499. level.gametypeEvents[ eventName ] = array_exclude( level.gametypeEvents[ eventName ], rulesToRemove );
  2500.  
  2501.  
  2502. \raw\maps\mp\gametypes\_globallogic.gsc
  2503. level.splitscreen = isSplitScreen();
  2504. level.xenon = (GetDvar( #"xenonGame") == "true");
  2505. level.ps3 = (GetDvar( #"ps3Game") == "true");
  2506. level.onlineGame = GetDvarInt( #"onlinegame" );
  2507. level.console = (level.xenon || level.ps3);
  2508. level.rankedMatch = ( level.onlineGame && !GetDvarInt( #"xblive_privatematch" ) && !GetDvarInt( #"xblive_wagermatch" ) && !isPreGame() );
  2509. level.contractsEnabled = !GetDvarInt( #"scr_disable_contracts" );
  2510. level.rankedMatch = false;
  2511. level.contractsEnabled = false;
  2512. level.rankedMatch = true;
  2513. level.contractsEnabled = false;
  2514. level.disable_tacinsert = GetDvarInt( #"scr_disable_tacinsert" );
  2515. level.script = toLower( GetDvar( #"mapname" ) );
  2516. level.gametype = toLower( GetDvar( #"g_gametype" ) );
  2517. level.otherTeam["allies"] = "axis";
  2518. level.otherTeam["axis"] = "allies";
  2519. level.teamBased = false;
  2520. level.overrideTeamScore = false;
  2521. level.overridePlayerScore = false;
  2522. level.displayHalftimeText = false;
  2523. level.displayRoundEndText = true;
  2524. level.endGameOnScoreLimit = true;
  2525. level.endGameOnTimeLimit = true;
  2526. level.scoreRoundBased = false;
  2527. level.resetPlayerScoreEveryRound = false;
  2528. level.halftimeType = "halftime";
  2529. level.halftimeSubCaption = &"MP_SWITCHING_SIDES_CAPS";
  2530. level.lastStatusTime = 0;
  2531. level.wasWinning = "none";
  2532. level.lastSlowProcessFrame = 0;
  2533. level.placement["allies"] = [];
  2534. level.placement["axis"] = [];
  2535. level.placement["all"] = [];
  2536. level.postRoundTime = 7.0;
  2537. level.inOvertime = false;
  2538. level.defaultOffenseRadius = 140;
  2539. level.dropTeam = GetDvarInt( #"sv_maxclients" );
  2540. level.inFinalKillcam = false;
  2541. level.oldschool = ( GetDvarInt( #"scr_oldschool" ) == 1 );
  2542. level.vehicleDamageScalar = GetDvarFloat( #"scr_vehicle_damage_scalar");
  2543. level.fire_audio_repeat_duration = GetDvarInt( #"fire_audio_repeat_duration" );
  2544. level.fire_audio_random_max_duration = GetDvarInt( #"fire_audio_random_max_duration" );
  2545. level.spawnPlayer = maps\mp\gametypes\_globallogic_spawn::spawnPlayer;
  2546. level.spawnClient = maps\mp\gametypes\_globallogic_spawn::spawnClient;
  2547. level.spawnSpectator = maps\mp\gametypes\_globallogic_spawn::spawnSpectator;
  2548. level.spawnIntermission = maps\mp\gametypes\_globallogic_spawn::spawnIntermission;
  2549. level.onPlayerScore = maps\mp\gametypes\_globallogic_score::default_onPlayerScore;
  2550. level.onTeamScore = maps\mp\gametypes\_globallogic_score::default_onTeamScore;
  2551. level.onXPEvent = maps\mp\gametypes\_globallogic_score::onXPEvent;
  2552. level.waveSpawnTimer = ::waveSpawnTimer;
  2553. level.onSpawnPlayer = ::blank;
  2554. level.onSpawnPlayerUnified = ::blank;
  2555. level.onSpawnSpectator = maps\mp\gametypes\_globallogic_defaults::default_onSpawnSpectator;
  2556. level.onSpawnIntermission = maps\mp\gametypes\_globallogic_defaults::default_onSpawnIntermission;
  2557. level.onRespawnDelay = ::blank;
  2558. level.onForfeit = maps\mp\gametypes\_globallogic_defaults::default_onForfeit;
  2559. level.onTimeLimit = maps\mp\gametypes\_globallogic_defaults::default_onTimeLimit;
  2560. level.onScoreLimit = maps\mp\gametypes\_globallogic_defaults::default_onScoreLimit;
  2561. level.onDeadEvent = maps\mp\gametypes\_globallogic_defaults::default_onDeadEvent;
  2562. level.onOneLeftEvent = maps\mp\gametypes\_globallogic_defaults::default_onOneLeftEvent;
  2563. level.giveTeamScore = maps\mp\gametypes\_globallogic_score::giveTeamScore;
  2564. level.givePlayerScore = maps\mp\gametypes\_globallogic_score::givePlayerScore;
  2565. level.getTimeLimitDvarValue = maps\mp\gametypes\_globallogic_defaults::default_getTimeLimitDvarValue;
  2566. level.getTeamKillPenalty = maps\mp\gametypes\_globallogic_defaults::default_getTeamKillPenalty;
  2567. level.getTeamKillScore = maps\mp\gametypes\_globallogic_defaults::default_getTeamKillScore;
  2568. level.isKillBoosting = maps\mp\gametypes\_globallogic_score::default_isKillBoosting;
  2569. level._setTeamScore = maps\mp\gametypes\_globallogic_score::_setTeamScore;
  2570. level._setPlayerScore = maps\mp\gametypes\_globallogic_score::_setPlayerScore;
  2571. level._getTeamScore = maps\mp\gametypes\_globallogic_score::_getTeamScore;
  2572. level._getPlayerScore = maps\mp\gametypes\_globallogic_score::_getPlayerScore;
  2573. level.onPrecacheGametype = ::blank;
  2574. level.onStartGameType = ::blank;
  2575. level.onPlayerConnect = ::blank;
  2576. level.onPlayerDisconnect = ::blank;
  2577. level.onPlayerDamage = ::blank;
  2578. level.onPlayerKilled = ::blank;
  2579. level.onPlayerKilledExtraUnthreadedCBs = [];
  2580. level.onTeamOutcomeNotify = maps\mp\gametypes\_hud_message::teamOutcomeNotify;
  2581. level.onOutcomeNotify = maps\mp\gametypes\_hud_message::outcomeNotify;
  2582. level.onTeamWagerOutcomeNotify = maps\mp\gametypes\_hud_message::teamWagerOutcomeNotify;
  2583. level.onWagerOutcomeNotify = maps\mp\gametypes\_hud_message::wagerOutcomeNotify;
  2584. level.onEndGame = ::blank;
  2585. level.onRoundEndGame = maps\mp\gametypes\_globallogic_defaults::default_onRoundEndGame;
  2586. level.onMedalAwarded = ::blank;
  2587. level.forcedEnd = true;
  2588. level.hostForcedEnd = true;
  2589. level.forcedEnd = true;
  2590. level.hostForcedEnd = true;
  2591. level.killserver = true;
  2592. level.lastWave["allies"] = time;
  2593. level.wavePlayerSpawnIndex["allies"] = 0;
  2594. level.lastWave["axis"] = time;
  2595. level.wavePlayerSpawnIndex["axis"] = 0;
  2596. level.allowBattleChatter = GetDvarInt( #"scr_allowbattlechatter" );
  2597. level.gameEndTime = getTime();
  2598. level.gameEnded = true;
  2599. level.inGracePeriod = false;
  2600. level.allowBattleChatter = false;
  2601. level.intermission = true;
  2602. level.roundlimit = roundlimit;
  2603. level.timeLimit = timeLimit;
  2604. level.scoreLimit = scoreLimit;
  2605. level.placement["all"][i] = level.placement["all"][ i + 1 ];
  2606. level.placement["all"][ numPlayers - 1 ] = undefined;
  2607. level.placement["all"] = [];
  2608. level.placement["all"][level.placement["all"].size] = level.players[index];
  2609. level.placement["all"] = placementAll;
  2610. level.placement["allies"] = placement["allies"];
  2611. level.placement["axis"]   = placement["axis"];
  2612. level.playerCount["allies"] = 0;
  2613. level.playerCount["axis"] = 0;
  2614. level.botsCount["allies"] = 0;
  2615. level.botsCount["axis"] = 0;
  2616. level.lastAliveCount["allies"] = level.aliveCount["allies"];
  2617. level.lastAliveCount["axis"] = level.aliveCount["axis"];
  2618. level.aliveCount["allies"] = 0;
  2619. level.aliveCount["axis"] = 0;
  2620. level.playerLives["allies"] = 0;
  2621. level.playerLives["axis"] = 0;
  2622. level.alivePlayers["allies"] = [];
  2623. level.alivePlayers["axis"] = [];
  2624. level.activePlayers = [];
  2625. level.squads["allies"] = [];
  2626. level.squads["axis"] = [];
  2627. level.alivePlayers[team][level.alivePlayers[team].size] = player;
  2628. level.activeplayers[ level.activeplayers.size ] = player;
  2629. level.maxPlayerCount = level.aliveCount["allies"] + level.aliveCount["axis"];
  2630. level.everExisted["allies"] = true;
  2631. level.everExisted["axis"] = true;
  2632. level.timerStopped = false;
  2633. level.inPrematchPeriod = false;
  2634. level.inGracePeriod = false;
  2635. level.prematchPeriod = 0;
  2636. level.intermission = false;
  2637. level.prematchPeriod = maps\mp\gametypes\_tweakables::getTweakableValue( "game", "prematchperiod" );
  2638. level.prematchPeriod = 10;
  2639. level.skipVote = false;
  2640. level.gameEnded = false;
  2641. level.teamSpawnPoints["axis"] = [];
  2642. level.teamSpawnPoints["allies"] = [];
  2643. level.spawn_point_team_class_names["axis"] = [];
  2644. level.spawn_point_team_class_names["allies"] = [];
  2645. level.objIDStart = 0;
  2646. level.forcedEnd = false;
  2647. level.hostForcedEnd = false;
  2648. level.hardcoreMode = GetDvarInt( #"scr_hardcore" );
  2649. level.friendlyFireDelayTime = 0;
  2650. level.rankCap = GetDvarInt( #"scr_max_rank" );
  2651. level.minPrestige = GetDvarInt( #"scr_min_prestige" );
  2652. level.useStartSpawns = true;
  2653. level.minimumAllowedTeamKills = GetDvarInt( #"scr_teamKillPunishCount" ) - 1;
  2654. level.maxPlayerCount = 0;
  2655. level.playerCount["allies"] = 0;
  2656. level.playerCount["axis"] = 0;
  2657. level.aliveCount["allies"] = 0;
  2658. level.aliveCount["axis"] = 0;
  2659. level.playerLives["allies"] = 0;
  2660. level.playerLives["axis"] = 0;
  2661. level.lastAliveCount["allies"] = 0;
  2662. level.lastAliveCount["axis"] = 0;
  2663. level.everExisted["allies"] = false;
  2664. level.everExisted["axis"] = false;
  2665. level.waveDelay["allies"] = 0;
  2666. level.waveDelay["axis"] = 0;
  2667. level.lastWave["allies"] = 0;
  2668. level.lastWave["axis"] = 0;
  2669. level.wavePlayerSpawnIndex["allies"] = 0;
  2670. level.wavePlayerSpawnIndex["axis"] = 0;
  2671. level.alivePlayers["allies"] = [];
  2672. level.alivePlayers["axis"] = [];
  2673. level.activePlayers = [];
  2674. level.squads["allies"] = [];
  2675. level.squads["axis"] = [];
  2676. level.allowAnnouncer = GetDvarInt( #"scr_allowannouncer" );
  2677. level.waveDelay["allies"] = waveDelay;
  2678. level.waveDelay["axis"] = waveDelay;
  2679. level.lastWave["allies"] = 0;
  2680. level.lastWave["axis"] = 0;
  2681. level.inPrematchPeriod = true;
  2682. level.prematchPeriod = level.prematchPeriod + (randomFloat( 4 ) - 2);
  2683. level.gracePeriod = 15;
  2684. level.gracePeriod = 5;
  2685. level.inGracePeriod = true;
  2686. level.roundEndDelay = 5;
  2687. level.halftimeRoundEndDelay = 3;
  2688. level.killstreaksenabled = GetDvarInt( #"scr_game_killstreaks" );
  2689. level.hardpointsenabled = GetDvarInt( #"scr_game_hardpoints" );
  2690. level.rankEnabled = GetDvarInt( #"scr_game_rankenabled" );
  2691. level.medalsEnabled = GetDvarInt( #"scr_game_medalsenabled" );
  2692. level.friendlyFireDelay = GetDvarInt( #"scr_game_friendlyFireDelay" );
  2693. level.killstreaksenabled = 0;
  2694. level.hardpointsenabled = 0;
  2695. level.skipGameEnd = true;
  2696. level.roundLimit = 1;
  2697. level.friendlyFireDelayTime = getDvarInt( dvarString );
  2698. level.skipVote = true;
  2699. level.hostForcedEnd = true;
  2700. level.teamchange_graceperiod = 0;
  2701. level.teamchange_graceperiod = 0;
  2702.  
  2703.  
  2704. \raw\maps\mp\gametypes\_globallogic_audio.gsc
  2705. level.playingActionMusic = true;
  2706. level.playingActionMusic = false;
  2707.  
  2708.  
  2709. \raw\maps\mp\gametypes\_globallogic_defaults.gsc
  2710. level.forcedEnd = true;
  2711.  
  2712.  
  2713. \raw\maps\mp\gametypes\_globallogic_player.gsc
  2714. level.players[level.players.size] = self;
  2715. level.players[entry] = level.players[entry+1];
  2716. level.players[entry] = undefined;
  2717. level.players[entry].pers["killed_players"][self.name] = undefined;
  2718. level.players[entry].killedPlayersCurrent[self.name] = undefined;
  2719. level.players[entry].pers["killed_by"][self.name] = undefined;
  2720. level.players[entry].pers["nemesis_tracking"][self.name] = undefined;
  2721. level.players[entry] = level.players[entry+1];
  2722. level.players[entry] = undefined;
  2723. level.lastLegitimateAttacker = eAttacker;
  2724. level.useStartSpawns = false;
  2725.  
  2726.  
  2727. \raw\maps\mp\gametypes\_globallogic_score.gsc
  2728. level.wasWinning = team;
  2729. level.wasWinning = otherTeam;
  2730. level.lastStatusTime = getTime();
  2731. level.wasWinning = isWinning;
  2732.  
  2733.  
  2734. \raw\maps\mp\gametypes\_globallogic_spawn.gsc
  2735. level.playedStartingMusic = true;
  2736. level.playedStartingMusic = true;
  2737.  
  2738.  
  2739. \raw\maps\mp\gametypes\_globallogic_ui.gsc
  2740. level.autoassign = ::menuAutoAssign;
  2741. level.spectator = ::menuSpectator;
  2742. level.class = ::menuClass;
  2743. level.allies = ::menuAllies;
  2744. level.axis = ::menuAxis;
  2745.  
  2746.  
  2747. \raw\maps\mp\gametypes\_globallogic_utils.gsc
  2748. level.lastSlowProcessFrame = gettime();
  2749. level.roundswitchDvar = dvarString;
  2750. level.roundswitchMin = minValue;
  2751. level.roundswitchMax = maxValue;
  2752. level.roundswitch = getDvarInt( level.roundswitchDvar );
  2753. level.roundLimitDvar = dvarString;
  2754. level.roundLimitMin = minValue;
  2755. level.roundLimitMax = maxValue;
  2756. level.roundLimit = getDvarInt( level.roundLimitDvar );
  2757. level.roundWinLimitDvar = dvarString;
  2758. level.roundWinLimitMin = minValue;
  2759. level.roundWinLimitMax = maxValue;
  2760. level.roundWinLimit = getDvarInt( level.roundWinLimitDvar );
  2761. level.scoreLimitDvar = dvarString;
  2762. level.scorelimitMin = minValue;
  2763. level.scorelimitMax = maxValue;
  2764. level.scoreLimit = getDvarInt( level.scoreLimitDvar );
  2765. level.timeLimitDvar = dvarString;
  2766. level.timelimitMin = minValue;
  2767. level.timelimitMax = maxValue;
  2768. level.timelimit = getDvarFloat( level.timeLimitDvar );
  2769. level.numLivesDvar = dvarString;
  2770. level.numLivesMin = minValue;
  2771. level.numLivesMax = maxValue;
  2772. level.numLives = getDvarInt( level.numLivesDvar );
  2773. level.postRoundEvents = [];
  2774. level.postRoundEvents[level.postRoundEvents.size] = eventFunc;
  2775. level.startTime = getTime();
  2776. level.discardTime = 0;
  2777. level.timerStopped = true;
  2778. level.timerPauseTime = gettime();
  2779. level.timerStopped = false;
  2780.  
  2781.  
  2782. \raw\maps\mp\gametypes\_gv_actions.gsc
  2783. level.gametypeActions = [];
  2784. level.gametypeActions[ "SideBets" ] = ::DoSideBets;
  2785. level.gametypeActions[ "GiveAmmo" ] = ::DoGiveAmmo;
  2786. level.gametypeActions[ "RemoveAmmo" ] = ::DoRemoveAmmo;
  2787. level.gametypeActions[ "PlaySound" ] = ::DoPlaySound;
  2788. level.gametypeActions[ "EnableUAV" ] = ::DoEnableUAV;
  2789. level.gametypeActions[ "GiveScore" ] = ::DoGiveScore;
  2790. level.gametypeActions[ "RemoveScore" ] = ::DoRemoveScore;
  2791. level.gametypeActions[ "SetHeader" ] = ::DoSetHeader;
  2792. level.gametypeActions[ "SetSubHeader" ] = ::DoSetSubHeader;
  2793. level.gametypeActions[ "DisplayMessage" ] = ::DoDisplayMessage;
  2794. level.gametypeActions[ "GiveHealth" ] = ::DoGiveHealth;
  2795. level.gametypeActions[ "RemoveHealth" ] = ::DoRemoveHealth;
  2796. level.gametypeActions[ "SetHealthRegen" ] = ::DoSetHealthRegen;
  2797. level.gametypeActions[ "ChangeClass" ] = ::DoChangeClass;
  2798. level.gametypeActions[ "ChangeTeam" ] = ::DoChangeTeam;
  2799. level.gametypeActions[ "GivePerk" ] = ::DoGivePerk;
  2800. level.gametypeActions[ "RemovePerk" ] = ::DoRemovePerk;
  2801. level.gametypeActions[ "GiveInvuln" ] = ::DoGiveInvuln;
  2802. level.gametypeActions[ "RemoveInvuln" ] = ::DoRemoveInvuln;
  2803. level.gametypeActions[ "SetDamageModifier" ] = ::DoSetDamageModifier;
  2804. level.gametypeActions[ "GiveKillstreak" ] = ::DoGiveKillstreak;
  2805. level.gametypeActions[ "RemoveKillstreak" ] = ::DoRemoveKillstreak;
  2806. level.gametypeActions[ "GiveLives" ] = ::DoGiveLives;
  2807. level.gametypeActions[ "RemoveLives" ] = ::DoRemoveLives;
  2808. level.gametypeActions[ "ScaleMoveSpeed" ] = ::DoScaleMoveSpeed;
  2809. level.gametypeActions[ "ShowOnRadar" ] = ::DoShowOnRadar;
  2810. level.gametypeActions[ "ScaleReloadSpeed" ] = ::DoScaleReloadSpeed;
  2811. level.conditionals = [];
  2812. level.conditionals[ "Equals" ] = ::Equals;
  2813. level.conditionals[ "==" ] = ::Equals;
  2814. level.conditionals[ "!=" ] = ::NotEquals;
  2815. level.conditionals[ "<" ] = ::LessThan;
  2816. level.conditionals[ "<=" ] = ::LessThanEquals;
  2817. level.conditionals[ ">" ] = ::GreaterThan;
  2818. level.conditionals[ ">=" ] = ::GreaterThanEquals;
  2819. level.conditionals[ "InPlace" ] = ::InPlace;
  2820. level.conditionalLeftHandSide = [];
  2821. level.conditionalLeftHandSide[ "PlayersLeft" ] = ::PlayersLeft;
  2822. level.conditionalLeftHandSide[ "RoundsPlayed" ] = ::RoundsPlayed;
  2823. level.conditionalLeftHandSide[ "HitBy" ] = ::HitBy;
  2824. level.conditionalLeftHandSide[ "PlayersClass" ] = ::PlayersClass;
  2825. level.conditionalLeftHandSide[ "VictimsClass" ] = ::PlayersClass;
  2826. level.conditionalLeftHandSide[ "AttackersClass" ] = ::AttackersClass;
  2827. level.conditionalLeftHandSide[ "PlayersPlace" ] = ::PlayersPlace;
  2828. level.conditionalLeftHandSide[ "VictimsPlace" ] = ::PlayersPlace;
  2829. level.conditionalLeftHandSide[ "AttackersPlace" ] = ::AttackersPlace;
  2830. level.targets = [];
  2831. level.targets[ "Everyone" ] = ::GetTargetEveryone;
  2832. level.targets[ "PlayersLeft" ] = ::GetTargetPlayersLeft;
  2833. level.targets[ "PlayersEliminated" ] = ::GetTargetPlayersEliminated;
  2834. level.targets[ "PlayersTeam" ] = ::GetTargetPlayersTeam;
  2835. level.targets[ "VictimsTeam" ] = ::GetTargetPlayersTeam;
  2836. level.targets[ "OtherTeam" ] = ::GetTargetOtherTeam;
  2837. level.targets[ "AttackersTeam" ] = ::GetTargetOtherTeam;
  2838. level.targets[ "PlayersLeftOnPlayersTeam" ] = ::GetTargetPlayersLeftOnPlayersTeam;
  2839. level.targets[ "PlayersLeftOnOtherTeam" ] = ::GetTargetPlayersLeftOnOtherTeam;
  2840. level.targets[ "PlayersLeftOnVictimsTeam" ] = ::GetTargetPlayersLeftOnPlayersTeam;
  2841. level.targets[ "PlayersLeftOnAttackersTeam" ] = ::GetTargetPlayersLeftOnOtherTeam;
  2842. level.targets[ "PlayersEliminatedOnPlayersTeam" ] = ::GetTargetPlayersEliminatedOnPlayersTeam;
  2843. level.targets[ "PlayersEliminatedOnOtherTeam" ] = ::GetTargetPlayersEliminatedOnOtherTeam;
  2844. level.targets[ "PlayersEliminatedOnVictimsTeam" ] = ::GetTargetPlayersEliminatedOnPlayersTeam;
  2845. level.targets[ "PlayersEliminatedOnAttackersTeam" ] = ::GetTargetPlayersEliminatedOnOtherTeam;
  2846. level.targets[ "AssistingPlayers" ] = ::GetAssistingPlayers;
  2847. level.halftimeType = "halftime";
  2848. level.sidebet = true;
  2849. level.sideBetPlayers = [];
  2850. level.sideBetPlayers[level.sideBetPlayers.size] = players[playerIndex];
  2851. level.sideBetPlayers = SortPlayersByLivesDescending( level.sideBetPlayers );
  2852. level.sideBetPlayers[playerIndex].sideBetNumber = playerIndex + 1;
  2853. level.sideBetPlayers[playerIndex] = spawnstruct();
  2854. level.sideBetPlayers[playerIndex].name = "@MPUI_NONE";
  2855. level.sideBetPlayers[playerIndex].pers = [];
  2856. level.sideBetPlayers[playerIndex].pers["lives"] = 0;
  2857. level.sideBetEndTime = GetTime() + GetDvarInt( #"scr_sideBetTimer" ) * 1000;
  2858. level.sidebet = false;
  2859.  
  2860.  
  2861. \raw\maps\mp\gametypes\_hardpoints.gsc
  2862. level.killstreaks = [];
  2863. level.killstreakWeapons = [];
  2864. level.menuReferenceForKillStreak = [];
  2865. level.numKillstreakReservedObjectives = 0;
  2866. level.killstreakCounter = 0;
  2867. level.killstreakRoundDelay = 0;
  2868. level.killstreaks[killstreakType] = SpawnStruct();
  2869. level.killstreaks[killstreakType].killstreakLevel = int( tablelookup( "mp/statstable.csv", level.cac_creference, killstreakMenuName, level.cac_ccount ) );
  2870. level.killstreaks[killstreakType].usageKey = killstreakUsageKey;
  2871. level.killstreaks[killstreakType].useFunction = killstreakUseFunction;
  2872. level.killstreaks[killstreakType].menuName = killstreakMenuName;
  2873. level.killstreaks[killstreakType].delayStreak = killstreakDelayStreak;
  2874. level.killstreaks[killstreakType].allowAssists = false;
  2875. level.killstreaks[killstreakType].weapon = killstreakWeapon;
  2876. level.killstreakWeapons[killstreakWeapon] = killstreakType;
  2877. level.killstreaks[killstreakType].killstreakStatsName = killstreakStatsName;
  2878. level.killstreaks[killstreakType].weaponHoldAllowed = weaponHoldAllowed;
  2879. level.menuReferenceForKillStreak[killstreakMenuName] = killstreakType;
  2880. level.killstreaks[killstreakType].receivedText =  receivedText;
  2881. level.killstreaks[killstreakType].notAvailableText = notUsableText;
  2882. level.killstreaks[killstreakType].inboundText = inboundText;
  2883. level.killstreaks[killstreakType].inboundNearPlayerText = inboundNearPlayerText;
  2884. level.killstreaks[killstreakType].informDialog = receivedDialog;
  2885. level.killstreaks[killstreakType].altWeapons = [];
  2886. level.killstreakWeapons[weapon] = killstreakType;
  2887. level.killstreaks[killstreakType].altWeapons[level.killstreaks[killstreakType].altWeapons.size] = weapon;
  2888. level.killstreaks[killstreakType].devDvar = dvar;
  2889. level.killstreaks[killstreakType].allowAssists = allow;
  2890. level.killstreaks[killstreakType].usageKey] = 0;
  2891. level.radarTimers[team] = getTime();
  2892.  
  2893.  
  2894. \raw\maps\mp\gametypes\_healthoverlay.gsc
  2895. level.healthOverlayCutoff = 0.55;
  2896. level.playerHealth_RegularRegenDelay = regenTime * 1000;
  2897. level.healthRegenDisabled = (level.playerHealth_RegularRegenDelay <= 0);
  2898.  
  2899.  
  2900. \raw\maps\mp\gametypes\_hostmigration.gsc
  2901. level.timerStopped = true;
  2902. level.timerPauseTime = gettime();
  2903. level.timerStopped = false;
  2904. level.migrationTimerPauseTime = gettime();
  2905. level.hostMigrationReturnedPlayerCount = 0;
  2906. level.hostMigrationTimer = true;
  2907. level.hostMigrationTimer = undefined;
  2908.  
  2909.  
  2910. \raw\maps\mp\gametypes\_hud.gsc
  2911. level.uiParent = spawnstruct();
  2912. level.uiParent.horzAlign = "left";
  2913. level.uiParent.vertAlign = "top";
  2914. level.uiParent.alignX = "left";
  2915. level.uiParent.alignY = "top";
  2916. level.uiParent.x = 0;
  2917. level.uiParent.y = 0;
  2918. level.uiParent.width = 0;
  2919. level.uiParent.height = 0;
  2920. level.uiParent.children = [];
  2921. level.fontHeight = 12;
  2922. level.hud["allies"] = spawnstruct();
  2923. level.hud["axis"] = spawnstruct();
  2924. level.primaryProgressBarY = -61;
  2925. level.primaryProgressBarX = 0;
  2926. level.primaryProgressBarHeight = 9;
  2927. level.primaryProgressBarWidth = 120;
  2928. level.primaryProgressBarTextY = -75;
  2929. level.primaryProgressBarTextX = 0;
  2930. level.primaryProgressBarFontSize = 1.4;
  2931. level.primaryProgressBarX = 20;
  2932. level.primaryProgressBarTextX = 20;
  2933. level.primaryProgressBarY = 15;
  2934. level.primaryProgressBarTextY = 0;
  2935. level.primaryProgressBarHeight = 2;
  2936. level.secondaryProgressBarY = -85;
  2937. level.secondaryProgressBarX = 0;
  2938. level.secondaryProgressBarHeight = 9;
  2939. level.secondaryProgressBarWidth = 120;
  2940. level.secondaryProgressBarTextY = -100;
  2941. level.secondaryProgressBarTextX = 0;
  2942. level.secondaryProgressBarFontSize = 1.4;
  2943. level.secondaryProgressBarX = 20;
  2944. level.secondaryProgressBarTextX = 20;
  2945. level.secondaryProgressBarY = 15;
  2946. level.secondaryProgressBarTextY = 0;
  2947. level.secondaryProgressBarHeight = 2;
  2948. level.teamProgressBarY = 32;
  2949. level.teamProgressBarHeight = 14;
  2950. level.teamProgressBarWidth = 192;
  2951. level.teamProgressBarTextY = 8;
  2952. level.teamProgressBarFontSize = 1.65;
  2953. level.lowerTextYAlign = "BOTTOM";
  2954. level.lowerTextY = -42;
  2955. level.lowerTextFontSize = 1.4;
  2956. level.lowerTextYAlign = "CENTER";
  2957. level.lowerTextY = 70;
  2958. level.lowerTextFontSize = 2;
  2959.  
  2960.  
  2961. \raw\maps\mp\gametypes\_killcam.gsc
  2962. level.killcam = maps\mp\gametypes\_tweakables::getTweakableValue( "game", "allowkillcam" );
  2963. level.finalkillcam = maps\mp\gametypes\_tweakables::getTweakableValue( "game", "allowfinalkillcam" );
  2964. level.inFinalKillcam = true;
  2965. level.inFinalKillcam = false;
  2966. level.lastKillCam = SpawnStruct();
  2967. level.lastKillCam.spectatorclient = spectatorclient;
  2968. level.lastKillCam.weapon = sWeapon;
  2969. level.lastKillCam.deathTime = deathTime;
  2970. level.lastKillCam.deathTimeOffset = deathTimeOffset;
  2971. level.lastKillCam.offsettime = offsettime;
  2972. level.lastKillCam.entityindex = entityindex;
  2973. level.lastKillCam.targetentityindex = targetentityindex;
  2974. level.lastKillCam.entitystarttime = entitystarttime;
  2975. level.lastKillCam.perks = perks;
  2976. level.lastKillCam.killstreaks = killstreaks;
  2977. level.lastKillCam.attacker = attacker;
  2978.  
  2979.  
  2980. \raw\maps\mp\gametypes\_killstreak_weapons.gsc
  2981. level.killStreakIcons["killstreak_minigun"] = "hud_ks_minigun";
  2982. level.killStreakIcons["killstreak_m202_flash_mp"] = "hud_ks_m202";
  2983. level.killStreakIcons["killstreak_m220_tow_drop_mp"] = "hud_ks_tv_guided_marker";
  2984. level.killStreakIcons["killstreak_m220_tow_mp"] = "hud_ks_tv_guided_missile";
  2985.  
  2986.  
  2987. \raw\maps\mp\gametypes\_menus.gsc
  2988. level.skipVote = true;
  2989.  
  2990.  
  2991. \raw\maps\mp\gametypes\_missions.gsc
  2992. level.missionCallbacks = [];
  2993. level.missionCallbacks[callback] = [];
  2994. level.missionCallbacks[callback][level.missionCallbacks[callback].size] = func;
  2995.  
  2996.  
  2997. \raw\maps\mp\gametypes\_objpoints.gsc
  2998. level.objPointNames = [];
  2999. level.objPoints = [];
  3000. level.objPointSize = 15;
  3001. level.objPointSize = 8;
  3002. level.objpoint_alpha_default = .5;
  3003. level.objPointScale = 1.0;
  3004. level.objPoints[name] = objPoint;
  3005. level.objPointNames[level.objPointNames.size] = name;
  3006. level.objPoints[name] = objPoint;
  3007. level.objPointNames[level.objPointNames.size] = name;
  3008. level.objPoints = [];
  3009. level.objPointNames = [];
  3010. level.objPointNames[newIndex] = objPoint.name;
  3011. level.objPointNames[oldIndex] = undefined;
  3012. level.objPoints[oldObjPoint.name] = undefined;
  3013.  
  3014.  
  3015. \raw\maps\mp\gametypes\_oldschool.gsc
  3016. level.pickupWeaponRespawnTime = GetDvarFloat( #"scr_os_pickupweaponrespawntime" );
  3017. level.pickupPerkRespawnTime = GetDvarFloat( #"scr_os_pickupperkrespawntime" );
  3018. level.oldschoolLoadout = oldschoolLoadout;
  3019. level.oldschoolPickupSound = "oldschool_pickup";
  3020. level.oldschoolRespawnSound = "oldschool_return";
  3021. level.validPerks = [];
  3022. level.validPerks[ level.validPerks.size ] = perk;
  3023. level.perkPickupHints = [];
  3024. level.perkPickupHints[ "specialty_bulletdamage"   ] = &"PLATFORM_PICK_UP_STOPPING_POWER";
  3025. level.perkPickupHints[ "specialty_armorvest"   ] = &"PLATFORM_PICK_UP_JUGGERNAUT";
  3026. level.perkPickupHints[ "specialty_rof"     ] = &"PLATFORM_PICK_UP_DOUBLE_TAP";
  3027. level.perkPickupHints[ "specialty_pistoldeath"   ] = &"PLATFORM_PICK_UP_LAST_STAND";
  3028. level.perkPickupHints[ "specialty_grenadepulldeath"  ] = &"PLATFORM_PICK_UP_MARTYRDOM";
  3029. level.perkPickupHints[ "specialty_fastreload"   ] = &"PLATFORM_PICK_UP_SLEIGHT_OF_HAND";
  3030. level.pickupAvailableEffect = loadfx( "misc/ui_pickup_available" );
  3031. level.pickupUnavailableEffect = loadfx( "misc/ui_pickup_unavailable" );
  3032.  
  3033.  
  3034. \raw\maps\mp\gametypes\_perplayer.gsc
  3035. level.handlerGlobalFlagVal = 0;
  3036.  
  3037.  
  3038. \raw\maps\mp\gametypes\_persistence.gsc
  3039. level.persistentDataInfo = [];
  3040. level.maxRecentStats = 10;
  3041. level.maxHitLocations = 19;
  3042. level.globalExecutions = 0;
  3043. level.globalChallenges = 0;
  3044. level.globalSharePackages = 0;
  3045. level.globalContractsFailed = 0;
  3046. level.globalContractsPassed = 0;
  3047. level.globalContractsCPPaid = 0;
  3048. level.globalKillstreaksCalled = 0;
  3049. level.globalKillstreaksDestroyed = 0;
  3050. level.globalKillstreaksDeathsFrom = 0;
  3051. level.globalLarrysKilled = 0;
  3052. level.globalBuzzKills = 0;
  3053. level.globalRevives = 0;
  3054. level.globalAfterlifes = 0;
  3055. level.globalComebacks = 0;
  3056. level.globalPaybacks = 0;
  3057. level.globalBackstabs = 0;
  3058. level.globalBankshots = 0;
  3059. level.globalSkewered = 0;
  3060. level.globalTeamMedals = 0;
  3061. level.globalFeetFallen = 0;
  3062. level.globalDistanceSprinted = 0;
  3063. level.globalDemBombsProtected = 0;
  3064. level.globalDemBombsDestroyed = 0;
  3065. level.globalBombsDestroyed = 0;
  3066. level.globalBombsDestroyedByOps = 0;
  3067. level.globalBombsDestroyedByCommunists = 0;
  3068. level.globalFragGrenadesFired = 0;
  3069. level.globalSatchelChargeFired = 0;
  3070. level.globalShotsFired = 0;
  3071. level.globalCrossbowFired = 0;
  3072. level.globalCarsDestroyed = 0;
  3073. level.globalBarrelsDestroyed = 0;
  3074. level.fullGameTypeName = toLower( prefix + level.gametype );
  3075.  
  3076.  
  3077. \raw\maps\mp\gametypes\_pregame.gsc
  3078. level.pregame = true;
  3079. level.onStartGameType = ::onStartGameType;
  3080. level.onSpawnPlayer = ::onSpawnPlayer;
  3081. level.onSpawnPlayerUnified = ::onSpawnPlayerUnified;
  3082. level.onEndGame = ::onEndGame;
  3083. level.onTimeLimit = ::onTimeLimit;
  3084. level.teamBased = false;
  3085. level.onOutcomeNotify = ::PregameoutcomeNotify;
  3086. level.pregame_minplayers = GetDvarInt( "party_minplayers" );
  3087. level.spawnMins = ( 0, 0, 0 );
  3088. level.spawnMaxs = ( 0, 0, 0 );
  3089. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
  3090. level.useStartSpawns = false;
  3091. level.overrideTeamScore = true;
  3092. level.rankEnabled = false;
  3093. level.medalsEnabled = false;
  3094. level.killcam = false;
  3095. level.finalkillcam = false;
  3096. level.killstreaksenabled = 0;
  3097. level.hardpointsenabled = 0;
  3098. level.pregameTitle = createServerFontString( font, titleSize );
  3099. level.pregameTitle.glowAlpha = 1;
  3100. level.pregameTitle.foreground = true;
  3101. level.pregameTitle.hideWhenInMenu = true;
  3102. level.pregameTitle.archived = false;
  3103. level.pregameTitle.color = red;
  3104. level.pregameSubTitle = createServerFontString( font, 2.0 );
  3105. level.pregameSubTitle.glowAlpha = 1;
  3106. level.pregameSubTitle.foreground = false;
  3107. level.pregameSubTitle.hideWhenInMenu = true;
  3108. level.pregameSubTitle.archived = true;
  3109. level.pregameSubTitle.color = red;
  3110. level.pregamePlayerCount = createServerFontString( font, 2.2 );
  3111. level.pregameSubTitle.glowAlpha = 1;
  3112. level.pregamePlayerCount.sort = 1001;
  3113. level.pregamePlayerCount.foreground = false;
  3114. level.pregamePlayerCount.hidewheninmenu = true;
  3115. level.pregamePlayerCount.archived = true;
  3116. level.pregamePlayerCount.color = yellow;
  3117.  
  3118.  
  3119. \raw\maps\mp\gametypes\_rank.gsc
  3120. level.scoreInfo = [];
  3121. level.xpScale = GetDvarInt( #"scr_xpscale" );
  3122. level.codPointsXpScale = GetDvarFloat( #"scr_codpointsxpscale" );
  3123. level.codPointsMatchScale = GetDvarFloat( #"scr_codpointsmatchscale" );
  3124. level.codPointsChallengeScale = GetDvarFloat( #"scr_codpointsperchallenge" );
  3125. level.rankXpCap = GetDvarInt( #"scr_rankXpCap" );
  3126. level.codPointsCap = GetDvarInt( #"scr_codPointsCap" );
  3127. level.rankTable = [];
  3128. level.maxRank = int(tableLookup( "mp/rankTable.csv", 0, "maxrank", 1 ));
  3129. level.maxPrestige = int(tableLookup( "mp/rankIconTable.csv", 0, "maxprestige", 1 ));
  3130. level.rankTable[rankId][1] = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
  3131. level.rankTable[rankId][2] = tableLookup( "mp/ranktable.csv", 0, rankId, 2 );
  3132. level.rankTable[rankId][3] = tableLookup( "mp/ranktable.csv", 0, rankId, 3 );
  3133. level.rankTable[rankId][7] = tableLookup( "mp/ranktable.csv", 0, rankId, 7 );
  3134. level.rankTable[rankId][14] = tableLookup( "mp/ranktable.csv", 0, rankId, 14 );
  3135. level.numStatsMilestoneTiers = 4;
  3136. level.maxStatChallenges = 1024;
  3137. level.scoreInfo[type]["value"] = value;
  3138. level.statsMilestoneInfo = [];
  3139. level.statsMilestoneInfo[statType] = [];
  3140. level.statsMilestoneInfo[statType][statName] = [];
  3141. level.statsMilestoneInfo[statType][statName][currentLevel] = [];
  3142. level.statsMilestoneInfo[statType][statName][currentLevel]["index"] = idx;
  3143. level.statsMilestoneInfo[statType][statName][currentLevel]["maxval"] = int( tableLookupColumnForRow( tableName, row, 2 ) );
  3144. level.statsMilestoneInfo[statType][statName][currentLevel]["name"] = tableLookupColumnForRow( tableName, row, 5 );
  3145. level.statsMilestoneInfo[statType][statName][currentLevel]["xpreward"] = int( tableLookupColumnForRow( tableName, row, 6 ) );
  3146. level.statsMilestoneInfo[statType][statName][currentLevel]["cpreward"] = int( tableLookupColumnForRow( tableName, row, 7 ) );
  3147. level.statsMilestoneInfo[statType][statName][currentLevel]["exclude"] = tableLookupColumnForRow( tableName, row, 8 );
  3148. level.statsMilestoneInfo[statType][statName][currentLevel]["unlockitem"] = tableLookupColumnForRow( tableName, row, 9 );
  3149. level.statsMilestoneInfo[statType][statName][currentLevel]["unlocklvl"] = int( tableLookupColumnForRow( tableName, row, 11 ) );    
  3150.  
  3151.  
  3152. \raw\maps\mp\gametypes\_serversettings.gsc
  3153. level.hostname = GetDvar( #"sv_hostname");
  3154. level.hostname = "BlackOpsPrivate";
  3155. level.motd = GetDvar( #"scr_motd");
  3156. level.motd = "";
  3157. level.allowvote = GetDvar( #"g_allowvote");
  3158. level.allowvote = "1";
  3159. level.allow_teamchange = GetDvar( #"g_allow_teamchange");
  3160. level.allow_teamchange = "1";
  3161. level.allow_teamchange = "0";
  3162. level.allow_teamchange = "0";
  3163. level.allow_teamchange = "1";
  3164. level.teamchange_graceperiod = GetDvarInt( #"g_teamchange_graceperiod" );
  3165. level.teamchange_keepbalanced = GetDvarInt( #"g_teamchange_keepbalanced" );
  3166. level.teamchange_rememberChoice = GetDvarInt( #"g_teamchange_rememberChoice" );
  3167. level.teamchange_graceperiod = 0;
  3168. level.teamchange_keepbalanced = false;
  3169. level.teamchange_rememberChoice = false;
  3170. level.allow_spectator = GetDvarInt( #"g_allow_spectator" );
  3171. level.friendlyfire = maps\mp\gametypes\_tweakables::getTweakableValue( "team", "fftype" );
  3172. level.mapsize = GetDvarFloat( #"scr_mapsize");
  3173. level.hostname = sv_hostname;
  3174. level.motd = scr_motd;
  3175. level.allowvote = g_allowvote;
  3176. level.allow_teamchange = g_allow_teamchange;
  3177. level.friendlyfire = scr_friendlyfire;
  3178.  
  3179.  
  3180. \raw\maps\mp\gametypes\_spawning.gsc
  3181. level.gamemodeSpawnDvars = ::default_gamemodeSpawnDvars;
  3182. level.spawn_visibility_check_max = 20;
  3183. level.spawn_visibility_check_max = GetDvarInt( #"scr_spawn_visibility_check_max");
  3184. level.spawnProtectionTime = GetDvarFloat( #"scr_spawn_protection_time" );
  3185. level.spawnsystem = spawnstruct();
  3186. level.unified_spawn_points = [];
  3187. level.unified_spawn_points = undefined;
  3188.  
  3189.  
  3190. \raw\maps\mp\gametypes\_spawnlogic.gsc
  3191. level.teamSpawnPoints[team] = getSpawnpointArray( spawnPointName );
  3192. level.spawnpoints = [];
  3193. level.spawnpoints[ level.spawnpoints.size ] = spawnpoint;
  3194. level.spawnMins = expandMins( level.spawnMins, origin );
  3195. level.spawnMaxs = expandMaxs( level.spawnMaxs, origin );
  3196. level.teamSpawnPoints[team][ level.teamSpawnPoints[team].size ] = oldSpawnPoints[index];
  3197. level.teamSpawnPoints["allies"] = [];
  3198. level.teamSpawnPoints["axis"] = [];
  3199. level.spawnpoints = [];
  3200. level.unified_spawn_points = undefined;
  3201. level.teamSpawnPoints[team] = [];
  3202. level.spawn_point_class_names = [];
  3203. level.spawn_point_class_names[ level.spawn_point_class_names.size ] = spawnPointClassName;
  3204. level.spawn_point_team_class_names[team][ level.spawn_point_team_class_names[team].size ] = spawnPointClassName;
  3205. level.spawnMins = origin;
  3206. level.spawnMaxs = origin;
  3207. level.spawnMinsMaxsPrimed = true;
  3208. level.spawnMins = expandMins( level.spawnMins, origin );
  3209. level.spawnMaxs = expandMaxs( level.spawnMaxs, origin );
  3210. level.spawnlogic_deaths = [];
  3211. level.spawnlogic_spawnkills = [];
  3212. level.players = [];
  3213. level.grenades = [];
  3214. level.pipebombs = [];
  3215. level.spawnMins = (0,0,0);
  3216. level.spawnMaxs = (0,0,0);
  3217. level.spawnMinsMaxsPrimed = false;
  3218. level.spawnlogic_spawnkills = [];
  3219. level.spawnlogic_spawnkills[level.spawnlogic_spawnkills.size] = oldspawnkills[i];
  3220. level.spawnpoints[i].weight = randomint(10000);
  3221. level.spawnlogic_deaths[i].remove = true;
  3222. level.spawnlogic_deaths[i].remove = true;
  3223. level.spawnlogic_deaths = [];
  3224. level.spawnlogic_deaths[level.spawnlogic_deaths.size] = oldarray[i];
  3225. level.grenades = getentarray("grenade", "classname");
  3226.  
  3227.  
  3228. \raw\maps\mp\gametypes\_spectating.gsc
  3229. level.spectateOverride["allies"] = spawnstruct();
  3230. level.spectateOverride["axis"] = spawnstruct();
  3231.  
  3232.  
  3233. \raw\maps\mp\gametypes\_supplydrop.gsc
  3234. level.crateModelFriendly = "mp_supplydrop_ally";
  3235. level.crateModelEnemy = "mp_supplydrop_axis";
  3236. level.crateModelBoobyTrapped = "mp_supplydrop_boobytrapped";
  3237. level.supplyDropHelicopterFriendly = "vehicle_ch46e_mp_light";
  3238. level.supplyDropHelicopterEnemy = "vehicle_ch46e_mp_dark";
  3239. level.suppyDropHelicopterVehicleInfo = "heli_supplydrop_mp";
  3240. level.crateOwnerUseTime = 500;
  3241. level.crateNonOwnerUseTime = 3000;
  3242. level.crate_headicon_offset = (0, 0, 15);
  3243. level._supply_drop_smoke_fx = LoadFX( "env/smoke/fx_smoke_supply_drop_blue_mp" );
  3244. level._supply_drop_explosion_fx = LoadFX( "explosions/fx_grenadeexp_default" );
  3245. level.crateTypes = [];
  3246. level.crateCategoryWeights = [];
  3247. level.crateCategoryWeights[categoryKey] = 0;
  3248. level.crateTypes[categoryKey][typeKey].weight = level.crateCategoryWeights[categoryKey];
  3249. level.crateTypes[category] = [];
  3250. level.crateTypes[category][name] = crateType;
  3251.  
  3252.  
  3253. \raw\maps\mp\gametypes\_teams.gsc
  3254. level.teambalance = GetDvarInt( #"scr_teambalance");
  3255. level.teamBalanceEndOfRound = getdvarInt("scr_" + level.gameType + "_teamBalanceEndOfRound");
  3256. level.teambalancetimer = 0;
  3257. level.timeplayedcap = int(GetDvarInt( #"scr_timeplayedcap"));
  3258. level.maxClients = getDvarInt( "sv_maxclients" );
  3259. level.freeplayers = [];
  3260. level.alliesplayers = [];
  3261. level.axisplayers = [];
  3262. level.timeplayedcap = int(GetDvarInt( #"scr_timeplayedcap"));
  3263. level.teambalance = teambalance;
  3264. level.teamLimit = level.maxclients / 2;
  3265. level.team["allies"] = 0;
  3266. level.team["axis"] = 0;
  3267.  
  3268.  
  3269. \raw\maps\mp\gametypes\_teamset_cubans.gsc
  3270. level.teamPrefix["allies"] = "vox_ops";
  3271. level.teamPostfix["allies"] = "us";
  3272. level.teamPrefix["axis"] = "vox_cub";
  3273. level.teamPostfix["axis"] = "ja";
  3274. level.heli_vo["allies"]["approach"] = "vox_ops_2_kls_attackheli_approach";
  3275. level.heli_vo["allies"]["door"] = "vox_ops_2_kls_attackheli_door";
  3276. level.heli_vo["allies"]["down"] = "vox_ops_2_kls_attackheli_down";
  3277. level.heli_vo["allies"]["hit"] = "vox_ops_2_kls_attackheli_hit";
  3278. level.heli_vo["allies"]["kill"] = "vox_ops_2_kls_attackheli_kill";
  3279. level.heli_vo["allies"]["ready"] = "vox_ops_2_kls_attackheli_ready";
  3280. level.heli_vo["allies"]["shoot"] = "vox_ops_2_kls_attackheli_shoot";
  3281. level.heli_vo["axis"]["approach"] = "vox_cub_0_kls_attackheli_approach";
  3282. level.heli_vo["axis"]["door"] = "vox_cub_0_kls_attackheli_door";
  3283. level.heli_vo["axis"]["down"] = "vox_cub_0_kls_attackheli_down";
  3284. level.heli_vo["axis"]["hit"] = "vox_cub_0_kls_attackheli_hit";
  3285. level.heli_vo["axis"]["kill"] = "vox_cub_0_kls_attackheli_kill";
  3286. level.heli_vo["axis"]["ready"] = "vox_cub_0_kls_attackheli_ready";
  3287. level.heli_vo["axis"]["shoot"] = "vox_cub_0_kls_attackheli_shoot";
  3288.  
  3289.  
  3290. \raw\maps\mp\gametypes\_teamset_junglemarines.gsc
  3291. level.teamPrefix["allies"] = "vox_sog";
  3292. level.teamPostfix["allies"] = "us";
  3293. level.teamPrefix["axis"] = "vox_nva";
  3294. level.teamPostfix["axis"] = "ja";
  3295. level.heli_vo["allies"]["approach"] = "vox_sog_2_kls_attackheli_approach";
  3296. level.heli_vo["allies"]["door"] = "vox_sog_2_kls_attackheli_door";
  3297. level.heli_vo["allies"]["down"] = "vox_sog_2_kls_attackheli_down";
  3298. level.heli_vo["allies"]["hit"] = "vox_sog_2_kls_attackheli_hit";
  3299. level.heli_vo["allies"]["kill"] = "vox_sog_2_kls_attackheli_kill";
  3300. level.heli_vo["allies"]["ready"] = "vox_sog_2_kls_attackheli_ready";
  3301. level.heli_vo["allies"]["shoot"] = "vox_sog_2_kls_attackheli_shoot";
  3302. level.heli_vo["axis"]["approach"] = "vox_nva_1_kls_attackheli_approach";
  3303. level.heli_vo["axis"]["door"] = "vox_nva_1_kls_attackheli_door";
  3304. level.heli_vo["axis"]["down"] = "vox_nva_1_kls_attackheli_down";
  3305. level.heli_vo["axis"]["hit"] = "vox_nva_1_kls_attackheli_hit";
  3306. level.heli_vo["axis"]["kill"] = "vox_nva_1_kls_attackheli_kill";
  3307. level.heli_vo["axis"]["ready"] = "vox_nva_1_kls_attackheli_ready";
  3308. level.heli_vo["axis"]["shoot"] = "vox_nva_1_kls_attackheli_shoot";
  3309.  
  3310.  
  3311. \raw\maps\mp\gametypes\_teamset_urbanspecops.gsc
  3312. level.teamPrefix["allies"] = "vox_ops";
  3313. level.teamPostfix["allies"] = "us";
  3314. level.teamPrefix["axis"] = "vox_rus";
  3315. level.teamPostfix["axis"] = "ru";
  3316. level.heli_vo["allies"]["approach"] = "vox_ops_2_kls_attackheli_approach";
  3317. level.heli_vo["allies"]["door"] = "vox_ops_2_kls_attackheli_door";
  3318. level.heli_vo["allies"]["down"] = "vox_ops_2_kls_attackheli_down";
  3319. level.heli_vo["allies"]["hit"] = "vox_ops_2_kls_attackheli_hit";
  3320. level.heli_vo["allies"]["kill"] = "vox_ops_2_kls_attackheli_kill";
  3321. level.heli_vo["allies"]["ready"] = "vox_ops_2_kls_attackheli_ready";
  3322. level.heli_vo["allies"]["shoot"] = "vox_ops_2_kls_attackheli_shoot";
  3323. level.heli_vo["axis"]["approach"] = "vox_rus_0_kls_attackheli_approach";
  3324. level.heli_vo["axis"]["door"] = "vox_rus_0_kls_attackheli_door";
  3325. level.heli_vo["axis"]["down"] = "vox_rus_0_kls_attackheli_down";
  3326. level.heli_vo["axis"]["hit"] = "vox_rus_0_kls_attackheli_hit";
  3327. level.heli_vo["axis"]["kill"] = "vox_rus_0_kls_attackheli_kill";
  3328. level.heli_vo["axis"]["ready"] = "vox_rus_0_kls_attackheli_ready";
  3329. level.heli_vo["axis"]["shoot"] = "vox_rus_0_kls_attackheli_shoot";
  3330.  
  3331.  
  3332. \raw\maps\mp\gametypes\_teamset_winterspecops.gsc
  3333. level.teamPrefix["allies"] = "vox_ops";
  3334. level.teamPostfix["allies"] = "us";
  3335. level.teamPrefix["axis"] = "vox_rus";
  3336. level.teamPostfix["axis"] = "ru";
  3337. level.heli_vo["allies"]["approach"] = "vox_ops_2_kls_attackheli_approach";
  3338. level.heli_vo["allies"]["door"] = "vox_ops_2_kls_attackheli_door";
  3339. level.heli_vo["allies"]["down"] = "vox_ops_2_kls_attackheli_down";
  3340. level.heli_vo["allies"]["hit"] = "vox_ops_2_kls_attackheli_hit";
  3341. level.heli_vo["allies"]["kill"] = "vox_ops_2_kls_attackheli_kill";
  3342. level.heli_vo["allies"]["ready"] = "vox_ops_2_kls_attackheli_ready";
  3343. level.heli_vo["allies"]["shoot"] = "vox_ops_2_kls_attackheli_shoot";
  3344. level.heli_vo["axis"]["approach"] = "vox_rus_0_kls_attackheli_approach";
  3345. level.heli_vo["axis"]["door"] = "vox_rus_0_kls_attackheli_door";
  3346. level.heli_vo["axis"]["down"] = "vox_rus_0_kls_attackheli_down";
  3347. level.heli_vo["axis"]["hit"] = "vox_rus_0_kls_attackheli_hit";
  3348. level.heli_vo["axis"]["kill"] = "vox_rus_0_kls_attackheli_kill";
  3349. level.heli_vo["axis"]["ready"] = "vox_rus_0_kls_attackheli_ready";
  3350. level.heli_vo["axis"]["shoot"] = "vox_rus_0_kls_attackheli_shoot";
  3351.  
  3352.  
  3353. \raw\maps\mp\gametypes\_tweakables.gsc
  3354. level.rules[name].lastValue = value;
  3355. level.gameTweaks[name].lastValue = value;
  3356. level.teamTweaks[name].lastValue = value;
  3357. level.playerTweaks[name].lastValue = value;
  3358. level.classTweaks[name].lastValue = value;
  3359. level.weaponTweaks[name].lastValue = value;
  3360. level.hardpointTweaks[name].lastValue = value;
  3361. level.hudTweaks[name].lastValue = value;
  3362. level.rules[name] = spawnStruct();    
  3363. level.rules[name].value = value;
  3364. level.rules[name].lastValue = value;
  3365. level.rules[name].dVar = dvar;
  3366. level.gameTweaks[name] = spawnStruct();
  3367. level.gameTweaks[name].value = value;
  3368. level.gameTweaks[name].lastValue = value;  
  3369. level.gameTweaks[name].dVar = dvar;
  3370. level.teamTweaks[name] = spawnStruct();
  3371. level.teamTweaks[name].value = value;
  3372. level.teamTweaks[name].lastValue = value;  
  3373. level.teamTweaks[name].dVar = dvar;
  3374. level.playerTweaks[name] = spawnStruct();
  3375. level.playerTweaks[name].value = value;
  3376. level.playerTweaks[name].lastValue = value;  
  3377. level.playerTweaks[name].dVar = dvar;
  3378. level.classTweaks[name] = spawnStruct();
  3379. level.classTweaks[name].value = value;
  3380. level.classTweaks[name].lastValue = value;  
  3381. level.classTweaks[name].dVar = dvar;
  3382. level.weaponTweaks[name] = spawnStruct();
  3383. level.weaponTweaks[name].value = value;
  3384. level.weaponTweaks[name].lastValue = value;  
  3385. level.weaponTweaks[name].dVar = dvar;
  3386. level.hardpointTweaks[name] = spawnStruct();
  3387. level.hardpointTweaks[name].value = value;
  3388. level.hardpointTweaks[name].lastValue = value;  
  3389. level.hardpointTweaks[name].dVar = dvar;
  3390. level.hudTweaks[name] = spawnStruct();
  3391. level.hudTweaks[name].value = value;
  3392. level.hudTweaks[name].lastValue = value;  
  3393. level.hudTweaks[name].dVar = dvar;
  3394. level.clientTweakables = [];
  3395. level.tweakablesInitialized = true;
  3396. level.rules = [];
  3397. level.gameTweaks = [];
  3398. level.teamTweaks = [];
  3399. level.playerTweaks = [];
  3400. level.classTweaks = [];
  3401. level.weaponTweaks = [];
  3402. level.hardpointTweaks = [];
  3403. level.hudTweaks = [];
  3404. level.clientTweakables[level.clientTweakables.size] = name;
  3405.  
  3406.  
  3407. \raw\maps\mp\gametypes\_wager.gsc
  3408. level.wagerMatch = 1;
  3409. level.powerupList = [];
  3410. level.wagerMatch = 0;
  3411. level.wagerBet = GetDvarInt( #"scr_wagerBet" );
  3412. level.takeLivesOnDeath = true;
  3413. level.playerPlaces = array( [], [], [] );
  3414. level.playerPlaces[ currentPlace ][ level.playerPlaces[ currentPlace ].size ] = player;
  3415. level.wagerGameFinalized = true;
  3416. level.wagerTopEarners = [];
  3417. level.wagerTopEarners[ 2 ] = level.wagerTopEarners[ 1 ];
  3418. level.wagerTopEarners[ 1 ] = level.wagerTopEarners[ 0 ];
  3419. level.wagerTopEarners[ 0 ] = player;
  3420. level.wagerTopEarners[ 2 ] = level.wagerTopEarners[ 1 ];
  3421. level.wagerTopEarners[ 1 ] = player;
  3422. level.wagerTopEarners[ 2 ] = player;
  3423. level.sideBetEndTime = GetTime() + 3000;
  3424. level.placement["all"][i].prevScorePlace = currentScorePlace;
  3425. level.powerupList = [];
  3426. level.powerupList[i].name[level.powerupList[i].name.size] = name;
  3427. level.powerupList[level.powerupList.size] = powerup;
  3428.  
  3429.  
  3430. \raw\maps\mp\gametypes\_weaponobjects.gsc
  3431. level.claymoreFXid = loadfx( "weapon/claymore/fx_claymore_laser" );
  3432. level._equipment_spark_fx = loadfx( "weapon/grenade/fx_spark_disabled_weapon" );
  3433. level._equipment_explode_fx = loadfx( "explosions/fx_exp_equipment" );
  3434. level._effect[ "powerLight" ] = loadfx( "weapon/crossbow/fx_trail_crossbow_blink_red_os" );
  3435. level.watcherWeaponNames = [];
  3436. level.watcherWeaponNames = getWatcherWeapons();
  3437. level.retrievableWeapons = [];
  3438. level.retrievableWeapons = getRetrievableWeapons();
  3439. level.weaponobjectexplodethisframe = false;
  3440. level.weaponobjects_headicon_offset = [];
  3441. level.weaponobjects_headicon_offset["default"] = (0, 0, 20);
  3442. level.weaponobjects_headicon_offset["acoustic_sensor_mp"] = (0, 0, 25);
  3443. level.weaponobjects_headicon_offset["camera_spike_mp"] = (0, 0, 35);
  3444. level.weaponobjects_headicon_offset["claymore_mp"] = (0, 0, 20);
  3445. level.weaponobjects_headicon_offset["satchel_charge_mp"] = (0, 0, 10);
  3446. level.weaponobjects_headicon_offset["scrambler_mp"] = (0, 0, 20);
  3447. level.weaponobjects_hacker_trigger_width = 32;
  3448. level.weaponobjects_hacker_trigger_height = 32;
  3449. level.weaponobjectexplodethisframe = true;
  3450. level.weaponobjectexplodethisframe = false;
  3451. level.retrieveHints[name] = retrieveHint;
  3452. level.hackerHints[name] = hackerHint;
  3453.  
  3454.  
  3455. \raw\maps\mp\gametypes\_weapons.gsc
  3456. level.grenadeLauncherDudTime = 0;
  3457. level.thrownGrenadeDudTime = 0;
  3458. level.grenadeLauncherDudTimeDvar = dvarString;
  3459. level.grenadeLauncherDudTimeMin = minValue;
  3460. level.grenadeLauncherDudTimeMax = maxValue;
  3461. level.grenadeLauncherDudTime = getDvarInt( level.grenadeLauncherDudTimeDvar );
  3462. level.thrownGrenadeDudTimeDvar = dvarString;
  3463. level.thrownGrenadeDudTimeMin = minValue;
  3464. level.thrownGrenadeDudTimeMax = maxValue;
  3465. level.thrownGrenadeDudTime = getDvarInt( level.thrownGrenadeDudTimeDvar );
  3466. level.killstreakRoundDelay = getDvarInt( dvarString );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement